Lahcene Nouali

I am a Creative Lover

Lahcene Nouali


I build intelligent web experiences powered by Computer Vision and AI — where clean design meets smart functionality.

Me

My Professional Skills


Python 90%
JavaScript 65%
SQL 85%
Wordpress 75%

Tools & Technologies

Microsoft Office - C - Python - Java - Android Studio.

Web Technologies

HTML - CSS - JavaScript - PHP - Django - Laravel.

Databases

MySQL - PostgreSQL - NoSQL - MongoDB - Firebase.

Artificial intelligence

Algorithmics of AI - Machine Learning - Deep Learning.

Computer Vision

OpenCV - Convolutional Neural Networks (CNN).

Other Skills

UML - Matlab - GitHub - Prolog - TensorFlow - Linux.

0
Certifications
0
projects
0
likes
0
current projects
Showing posts with label الانحدار الخطي. Show all posts
Showing posts with label الانحدار الخطي. Show all posts
  • دليلك المبسّط لفهم أشهر خوارزميتين في التعلّم الآلي باستخدام بايثون

    1. مقدمة

    في هذا الدرس سنقدّم مدخلًا مبسّطًا لفهم طريقتين أساسيتين في التعلّم الآلي باستخدام بايثون: الانحدار الخطي Linear Regression كمثال على التعلّم الموجّه، و خوارزمية K-Means Clustering كمثال على التعلّم غير الموجّه. الأول يتعلّم من بيانات تحمل الإجابات الصحيحة مسبقًا ليتمكّن من التنبؤ بقيم جديدة، بينما الثاني يكتشف الأنماط الخفية في البيانات غير المصنّفة ويجمعها في مجموعات متجانسة. سيمكنك هذا الدرس من التعرّف على كيفية عمل كل خوارزمية، والاختلاف الجوهري بينهما، وأهم تطبيقاتهما العملية. 

     

    2. الكلمات المفتاحية

    -          الانحدار الخطي (Linear Regression)

    -          خوارزمية K-Means Clustering

    -          التعلّم الموجّه (Supervised Learning)

    -          التعلّم غير الموجّه (Unsupervised Learning)

    -          البيانات المصنّفة

    -          البيانات غير المصنّفة

    -          الذكاء الاصطناعي


    3. التمهيد

    في مجال التعلّم الآلي توجد طريقتان أساسيتان لبناء النماذج: التعلّم الموجّه ((Supervised Learning و التعلّم غير الموجّه (Unsupervised Learning).

    التعلّم الموجّه يعني أن لدينا بيانات مُصنّفة مسبقًا، أي أنّ كل مثال في مجموعة التدريب مرتبط بالإجابة الصحيحة (الهدف). من خلال هذه الأمثلة يتدرّب النموذج على التنبؤ بقيم أو تصنيفات جديدة.

    أمّا التعلّم غير الموجّه فيُستخدم عندما لا تكون لدينا إجابات جاهزة، بل نترك النموذج ليستكشف الأنماط والروابط الخفية في البيانات. خوارزمية K-Means Clustering مثال شائع على ذلك، حيث تقوم بتجميع البيانات المتشابهة في مجموعات دون أي إشراف مباشر.


    4. الانحدار الخطي (Linear Regression) – التعلّم الموجّه

    تخيّل أنّ لديك جدولًا يربط بين مساحة المنزل وسعره. كلما كبرت المساحة ارتفع السعر. النموذج هنا مثل طالب يتعلّم من أمثلة محلولة مسبقًا: مساحة = 100م², السعر = 10,000$.

    الفكرة الأساسية: الهدف هو إيجاد خط الانحدار الأفضل الذي يصف العلاقة بين المدخلات (X) والمخرجات (y). المعادلة الرياضية:

     𝑦 = 𝑚𝑥 + 𝑏

    حيث:

            y: السعر المتوقع.

            x: مساحة المنزل.

            m: الميل (مدى تأثير المساحة على السعر).

            b: الثابت (سعر المنزل حتى لو كانت المساحة صفر).

    التقسيم بخطوات:

    1. جمع بيانات مصنّفة (مساحةسعر).

    2. إدخال البيانات إلى النموذج لتعلّم العلاقة.

    3. النموذج يرسم "خطًا أفضل" يمر بين النقاط.

    4. عند إدخال مساحة جديدة (مثلاً 120م²) يعطي النموذج السعر المتوقع.


    الأهمية: بما أنّ الإجابة (السعر الحقيقي) موجودة في بيانات التدريب، يمكن للنموذج أن يتعلّم منها ويعمّم لتوقّع أسعار جديدة بدقة عالية.

     

    5. التعلّم غير الموجّه K-Means Clustering

    في خوارزمية K-Means لا توجد لدينا "إجابات" مسبقة. نبدأ فقط ببيانات خام، مثل إحداثيات نقاط على مخطط. الخوارزمية تختار مراكز عشوائية ثم تبدأ بتجميع النقاط حولها. هذا يشبه أن يُطلب من مجموعة ركاب في قاعة أن يقفوا في مجموعات حسب التشابه في خصائصهم، من دون أن يوجّههم أحد.

    الفكرة الأساسية: تقسيم البيانات إلى K مجموعات بحيث تكون النقاط داخل المجموعة الواحدة متشابهة.

        1.      نختار عدد المجموعات K (مثال: 3).

        2.      نضع مراكز عشوائية (Centroids).

        3.      نعيّن كل نقطة بيانات لأقرب مركز.

        4.      نعيد حساب مركز كل مجموعة كمتوسط لنقاطها.

        5.      نكرّر الخطوات حتى تستقر المجموعات.


    التطبيقات العملية: تقسيم العملاء حسب سلوك الشراء، تجميع المستندات، تجزئة الصور.

     

    6. مثال واقعي باستخدام Python

     المثال 1 – التعلّم الموجّه (الانحدار الخطي – Titanic)

    نستخدم نموذجًا خطيًا للتنبؤ باحتمالية نجاة ركاب التايتانيك:

    
    

    import pandas as pd

    import tensorflow as tf

     

    # تحميل البيانات

    dftrain = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/train.csv')

    dfeval = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/eval.csv')

    y_train = dftrain.pop('survived')

    y_eval = dfeval.pop('survived')

     

    # تعريف الأعمدة (رقمية + فئوية)

    feature_columns = [tf.feature_column.numeric_column('age'),

                       tf.feature_column.numeric_column('fare'),

                       tf.feature_column.categorical_column_with_vocabulary_list('sex', ['male','female'])]

     

    # إنشاء وتدريب النموذج

    linear_est = tf.estimator.LinearClassifier(feature_columns=feature_columns)

    linear_est.train(input_fn=lambda: tf.data.Dataset.from_tensor_slices((dict(dftrain), y_train)).batch(32))

     

    # التقييم

    result = linear_est.evaluate(input_fn=lambda: tf.data.Dataset.from_tensor_slices((dict(dfeval), y_eval)).batch(32))

    print("دقة النموذج:", result['accuracy'])

     

    النتيجة: النموذج تعلّم من بيانات مصنّفة (من نجا/لم ينجُ) وحقق دقة تقارب 74%.

     

    المثال 2 – التعلّم غير الموجّه (K-Means Clustering)

    ننشئ بيانات بسيطة ونستخدم K-Means لتجميعها في مجموعات:


    import numpy as np

    import tensorflow as tf

    # بيانات ثنائية الأبعاد

    x_values = np.array([[1,1],[1.5,2],[3,4],[5,7],[3.5,5],[4.5,5],[3.5,4.5]])

     

    # نموذج KMeans مع مجموعتين

    kmeans = tf.compat.v1.estimator.experimental.KMeans(num_clusters=2, use_mini_batch=False)

    kmeans.train(input_fn=lambda: tf.data.Dataset.from_tensor_slices(x_values).batch(2))

     

    print("مراكز المجموعات:", kmeans.cluster_centers())

     

    النتيجة: الخوارزمية قسمت البيانات تلقائيًا إلى مجموعتين متجانستين حسب التشابه: [[1.25 1.5] [4.0 5.125]]

     

    7. اختبار سريع (MCQ 2 + إجابات) 

    السؤال 1:
     ما الفرق الأساسي بين التعلّم الموجّه والتعلّم غير الموجّه؟

            أ) التعلّم الموجّه يحتاج بيانات مصنّفة، بينما غير الموجّه يعمل على بيانات غير مصنّفة

            ب) التعلّم الموجّه أسرع دائمًا من غير الموجّه

            ج) التعلّم غير الموجّه أدق دائمًا من الموجّه

    السؤال 2:
     أي من الخوارزميات التالية يُستخدم عادة للتجميع (Clustering

            أ) Linear Regression

            ب) K-Means

            ج) Logistic Regression

     

    8. المصادر

    1. Google Colab: TensorFlow Core Learning Algorithms (Colab)
    2. وثائق TensorFlow الرسمية: https://www.tensorflow.org
    3. Google AI – أساسيات التعلم الآلي: https://ai.google/education

     


  • GET A QUOTE NOW

    I am available on Khamsat.com.

    ADDRESS

    B.P 457 Nedroma, Tlemcen, Algeria

    EMAIL

    lahcene.nouali@gmail.com

    TELEPHONE

    +213 658 61 17 64

    MOBILE

    +213 658 61 17 64