🔥 أحدث الأخبار

موقع يهتم بكل ماهو جديد في عالم التكنولوجيا والرياضة

🤖 كورس الذكاء الاصطناعي – الحلقة 2: الانحدار الخطي (Linear Regression)


 

🤖 كورس الذكاء الاصطناعي – الحلقة 2: الانحدار الخطي (Linear Regression)

#برمجة #AI


🧠 مقدمة

في الحلقة الأولى تعلمنا فكرة مهمة جداً:

الذكاء الاصطناعي يعتمد على التعلم من البيانات وليس القواعد الثابتة

واليوم سندخل أول خوارزمية “حقيقية” في Machine Learning:

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


📌 ما هو الانحدار الخطي؟

هو خوارزمية تقوم بـ:

توقع قيمة رقمية بناءً على علاقة خطية بين البيانات

مثال:

  • عدد ساعات الدراسة → العلامة
  • مساحة البيت → السعر
  • العمر → مستوى الخطر

🧠 الفكرة ببساطة

نريد رسم خط مثل هذا:

y = m x + b

حيث:

الرمز المعنى
x المدخلات
y الناتج
m الميل
b الثابت

📊 مثال واقعي

ساعات الدراسة العلامة
1 50
2 55
3 65
4 70

نريد البرنامج يتعلم العلاقة.


🧠 كيف يتعلم AI؟

بدلاً من حفظ القيم:

يتعلم المعادلة


🧮 أبسط نموذج Linear Regression في C++

سنقوم بعمل نسخة مبسطة جداً لفهم الفكرة:


🔥 الكود

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<double> x = {1, 2, 3, 4};
    vector<double> y = {50, 55, 65, 70};

    double sumX = 0, sumY = 0;

    for(int i = 0; i < x.size(); i++)
    {
        sumX += x[i];
        sumY += y[i];
    }

    double meanX = sumX / x.size();
    double meanY = sumY / y.size();

    double numerator = 0;
    double denominator = 0;

    for(int i = 0; i < x.size(); i++)
    {
        numerator += (x[i] - meanX) * (y[i] - meanY);
        denominator += (x[i] - meanX) * (x[i] - meanX);
    }

    double m = numerator / denominator;
    double b = meanY - m * meanX;

    cout << "Equation: y = " << m << "x + " << b << endl;

    int input;
    cout << "Enter study hours: ";
    cin >> input;

    double result = m * input + b;

    cout << "Predicted score: " << result << endl;

    return 0;
}

🧠 ماذا فعلنا؟

✔ حسبنا المتوسط
✔ حسبنا الميل m
✔ حسبنا الثابت b
✔ بنينا معادلة خط
✔ استخدمناها للتوقع


📈 النتيجة

لو دخلت:

3 ساعات

سيعطيك تقريباً:

≈ 60 - 65

🧠 لماذا هذا مهم؟

لأنه نفس الفكرة المستخدمة في:

  • توقع الأسعار 📊
  • الذكاء في الألعاب 🎮
  • أنظمة التوصية 🛒
  • تحليل البيانات 📉

⚙️ فهم المعادلة

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

y = m x + b
  • m = سرعة التغير
  • b = نقطة البداية

📊 ماذا يعني التعلم هنا؟

بدلاً من:

if (x == 1) ...

نقول:

البرنامج وجد العلاقة بنفسه


🧪 تجربة بسيطة

غير البيانات:

vector<double> y = {10, 20, 30, 40};

وشاهد كيف يتغير النموذج


🧠 مفهوم مهم: Training Data

هو:

البيانات التي يتعلم منها النموذج

في مثالنا:

  • x = المدخلات
  • y = النتائج الصحيحة

⚠️ ملاحظات مهمة

  • هذا نموذج تعليمي مبسط جداً
  • في الواقع تستخدم مكتبات مثل:
    • TensorFlow
    • PyTorch
    • ML libraries

لكن هنا نتعلم “الفهم الأساسي”


🚀 أين يستخدم Linear Regression؟

✔ توقع الأسعار
✔ تحليل السوق
✔ الذكاء المالي
✔ التنبؤ بالطقس
✔ الألعاب


🧠 ملخص الحلقة 2

تعلمنا:

  • ما هو Linear Regression
  • فكرة المعادلة y = mx + b
  • كيفية حساب m و b
  • بناء نموذج توقع بسيط
  • استخدام البيانات للتعلم

🔥 في الحلقة 3 سنتعلم:

🧩 K-Nearest Neighbors (KNN)

وسنقوم بـ:

  • تصنيف بيانات حقيقية
  • معرفة “أقرب مثال”
  • بناء AI بسيط للتصنيف
  • إدخال مفهوم المسافة (Distance)


تعليقات

💬 🙋🏻‍♂️