تخطَّ إلى المحتوى

🤖 شرح الذكاء الاصطناعي وتعلّم الآلة

الإحصاء للذكاء الاصطناعي

الدرس 14 من 50· ⏱ 5 دقائق قراءة· 🗓 آخر تحديث: ١٨ سبتمبر ٢٠٢٦

الإحصاء يمنحك الأدوات اللازمة لـ فهم بياناتك و تقييم نماذجك بشكل صحيح. هذه الصفحة تركّز على الحد الأدنى العملي — لا تعريفات أكاديمية مُثقلَة.

مقاييس الموقع (Central Tendency)

المتوسط (Mean)

مجموع القيم مقسومًا على عددها:

import numpy as np

prices = np.array([100, 200, 300, 400, 500])
print(prices.mean())   # 300.0

حسّاس للقيم المتطرّفة (outliers): لو عندك رواتب 9 موظفين = 5000$ ومدير = 50000$، المتوسط = 9500$ لكن هذا لا يعكس الواقع.

الوسيط (Median)

القيمة الوسطى بعد ترتيب القيم:

print(np.median(prices))   # 300.0 — مماثل هنا لأن التوزيع متماثل

أكثر متانة (robust): الوسيط لا يتأثر كثيرًا بالقيم المتطرّفة.

المنوال (Mode)

القيمة الأكثر تكرارًا:

from scipy import stats
data = np.array([1, 2, 2, 3, 4, 4, 4, 5])
print(stats.mode(data).mode)   # 4 — تكرّرت 3 مرات

مقاييس التشتّت (Dispersion)

الانحراف المعياري (Standard Deviation)

مدى بُعد القيم عن المتوسط. رقم صغير = القيم متقاربة. رقم كبير = القيم متفرّقة.

print(prices.std())   # 141.42 — تشتّت معتدل

low_spread = np.array([290, 295, 300, 305, 310])
print(low_spread.std())   # 7.07 — تشتّت قليل

في تعلّم الآلة، الانحراف المعياري مهم لـ:

  • تطبيع البيانات (Standardization): (x - mean) / std.
  • اكتشاف outliers: قيم بعيدة بأكثر من 3 انحرافات معيارية عن المتوسط.

التباين (Variance)

مربع الانحراف المعياري:

print(prices.var())   # 20000.0 = std ** 2

المدى (Range)

الفرق بين أكبر وأصغر قيمة:

print(prices.max() - prices.min())   # 400

الربعيّات (Quartiles) و IQR

  • Q1 = القيمة عند 25% من البيانات.
  • Q2 = الوسيط (50%).
  • Q3 = القيمة عند 75% من البيانات.
  • IQR = Q3 - Q1.
q1, q2, q3 = np.percentile(prices, [25, 50, 75])
print(f"Q1={q1}, Q2={q2}, Q3={q3}, IQR={q3 - q1}")

IQR مفيد لـ:

  • Box plots.
  • اكتشاف outliers: أي قيمة خارج [Q1 - 1.5IQR, Q3 + 1.5IQR] تُعتبر متطرّفة.

الارتباط (Correlation)

هل ميزتان تتحرّكان معًا؟ معامل الارتباط Pearson:

  • +1 = ارتباط طردي مثالي.
  • 0 = لا ارتباط خطّي.
  • -1 = ارتباط عكسي مثالي.
import numpy as np

# 5 منازل: المساحة والسعر
area  = np.array([50, 70, 90, 110, 130])
price = np.array([100, 140, 180, 220, 260])

# معامل الارتباط
correlation = np.corrcoef(area, price)[0, 1]
print(round(correlation, 2))   # 1.0 — ارتباط مثالي هنا

لماذا يهمّ في تعلّم الآلة؟

  • Multicollinearity: ميزتان مترابطتان بشكل كبير تربكان نموذج الانحدار الخطي.
  • اختيار الميزات: إذا كانت ميزتان مترابطتين بشدة، يكفي الاحتفاظ بواحدة.
  • لكن: الارتباط ≠ سببية. لا تقل "المساحة تسبّب السعر" — فقط "تتحرّكان معًا".

اختبار الفرضيات (Hypothesis Testing)

الفكرة

تبدأ بـ فرضية صفرية (Null Hypothesis - H0)، وتحاول دحضها ببياناتك.

مثال: "متوسط سعرك للمنتج لا يختلف عن 100$".

الخطوات

  1. صياغة H0 و H1 (الفرضية البديلة).
  2. حساب إحصاءة الاختبار من البيانات.
  3. حساب p-value (احتمال الحصول على بيانات كهذه إذا كانت H0 صحيحة).
  4. قرار: إذا p < 0.05 → نرفض H0.

مثال في بايثون

from scipy import stats

# هل متوسط عيّنة = 100 فعلًا؟
samples = np.array([102, 98, 101, 99, 100, 103, 97, 99, 102, 100])
t_stat, p_value = stats.ttest_1samp(samples, 100)

print(f"t = {t_stat:.2f}")
print(f"p-value = {p_value:.3f}")
# p ≈ 0.82 → لا نرفض H0 (المتوسط قد يكون فعلًا 100)

تحذيرات مهمة

  • p-value ليس احتمال أن H0 صحيحة — هذا سوء فهم شائع جدًا.
  • "p < 0.05" ليس حدود سحرية — اختيار العتبة (0.05، 0.01، ...) قرار تجريبي.
  • p صغير ≠ تأثير كبير — يمكن أن يكون لديك p=0.001 على فرق تافه مع بيانات ضخمة.

فترات الثقة (Confidence Intervals)

فترة الثقة = نطاق يحتمل أن يحتوي على القيمة الحقيقية باحتمال معيّن.

مثال: متوسط السعر = 150$, فترة الثقة 95% = [142$, 158$].

هذا يعني: لو كرّرت التجربة مرّات كثيرة، 95% من الفترات ستحتوي على المتوسط الحقيقي.

from scipy import stats

samples = np.random.normal(loc=100, scale=10, size=100)
mean = samples.mean()
ci = stats.t.interval(confidence=0.95, df=len(samples)-1,
                       loc=mean, scale=stats.sem(samples))

print(f"Mean: {mean:.2f}")
print(f"95% CI: [{ci[0]:.2f}, {ci[1]:.2f}]")

كيف تظهر الإحصاء في مشاريع AI؟

  • استكشاف البيانات (EDA): تبدأ دائمًا بمقاييس إحصائية قبل أي نموذج.
  • تطبيع البيانات: StandardScaler يحول كل ميزة إلى متوسط 0 وانحراف معياري 1.
  • اكتشاف outliers: IQR أو z-score.
  • اختيار النماذج: t-test للمقارنة بين نموذجين.
  • تقارير النتائج: فترة ثقة للدقّة، p-value لفروق الأداء.

أخطاء شائعة

  • "المتوسط دائمًا أفضل من الوسيط": لا. في توزيعات منحرفة (مثل الرواتب)، الوسيط أصدق.
  • "الارتباط = سببية": من أقدم الأخطاء المنطقية. لا تستنتج السببية من الارتباط أبدًا.
  • "p < 0.05 يعني أن النتيجة حقيقية": p-value يخبرك باحتمال بياناتك تحت H0 — لا يخبرك بالحقيقة.
  • "فترة الثقة 95% تعني 95% احتمال أن القيمة في الفترة": خطأ شائع. الفترة إما تحتوي أو لا تحتوي — لا يوجد احتمال.

الخطوات التالية

شرح الإحصاء للذكاء الاصطناعي — الذكاء الاصطناعي وتعلّم الآلة بالعربي
الإحصاء للذكاء الاصطناعيالذكاء الاصطناعي وتعلّم الآلة بالعربي · The Code Fix

📚 لمزيد من التعمّق في الذكاء الاصطناعي وتعلّم الآلة، راجِع توثيق scikit-learn الرسمي.

هل كان هذا الدرس مفيدًا؟