🤖 كورس الذكاء الاصطناعي – الحلقة 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)

تعليقات
إرسال تعليق