التحقق المتقاطع
التحقق المتقاطع هو طريقة إحصائية تُستخدم لتقييم ومقارنة نماذج تعلم الآلة من خلال تقسيم البيانات إلى مجموعات تدريب وتحقق عدة مرات، مما يضمن تعميم النماذج بشكل جي...
يقيس الانتروبي المتقاطع التباعد بين توزيعات الاحتمال المتوقعة والحقيقية، ويُستخدم على نطاق واسع كدالة خسارة في تعلم الآلة لتحسين دقة نماذج التصنيف.
الانتروبي المتقاطع هو مفهوم محوري في كل من نظرية المعلومات وتعلم الآلة، حيث يعمل كمقياس لقياس التباعد بين توزيعين احتماليين على نفس مجموعة الأحداث. في تعلم الآلة، يُعد هذا المقياس بالغ الأهمية كدالة خسارة لقياس الفروق بين المخرجات المتوقعة للنموذج والتسميات الحقيقية داخل البيانات. تُعد هذه القياسات ضرورية أثناء تدريب النماذج، خاصة في مهام التصنيف، حيث تساعد في تعديل أوزان النموذج لتقليل أخطاء التنبؤ، مما يؤدي في النهاية إلى تحسين أداء النموذج.
يتضمن مفهوم الانتروبي المتقاطع، ويرمز له بـ H(p, q)، حساب التباعد بين توزيعين احتماليين: p (التوزيع الحقيقي) و q (التوزيع المقدر من النموذج). بالنسبة للتوزيعات المنفصلة، يُعبر عن الانتروبي المتقاطع رياضياً كالتالي:
$$ H(p, q) = -\sum_{x} p(x) \log q(x) $$
حيث:
يحسب الانتروبي المتقاطع فعلياً متوسط عدد البتات المطلوبة لتحديد حدث من مجموعة أحداث باستخدام نظام ترميز محسّن للتوزيع المقدر (q)، بدلاً من التوزيع الحقيقي (p).
يرتبط الانتروبي المتقاطع ارتباطاً وثيقاً بتباعد كولباك-لايبْلر (KL)، الذي يقيس مدى تباعد توزيع احتمالي عن توزيع آخر متوقع. يمكن التعبير عن الانتروبي المتقاطع H(p, q) من حيث انتروبي التوزيع الحقيقي H(p) وتباعد KL D_{KL}(p || q) كما يلي:
$$ H(p, q) = H(p) + D_{KL}(p \parallel q) $$
تؤكد هذه العلاقة الدور الأساسي للانتروبي المتقاطع في قياس أخطاء التنبؤ، مما يربط النظرية الإحصائية بالتطبيقات العملية في تعلم الآلة.
في تعلم الآلة، خاصة في مشكلات التصنيف، يُستخدم الانتروبي المتقاطع كدالة خسارة لتقييم مدى تطابق توزيع الاحتمالات المتوقعة مع التوزيع الفعلي للتسميات. يعتبر فعالاً بشكل خاص في مهام التصنيف متعدد الفئات حيث الهدف هو إعطاء أعلى احتمال للفئة الصحيحة، مما يوجه عملية التحسين أثناء تدريب النموذج.
تُستخدم هذه الدالة في مهام التصنيف الثنائي التي تتضمن فئتين ممكنتين (مثل: صحيح/خطأ، إيجابي/سلبي). يتم التعبير عن دالة خسارة الانتروبي المتقاطع الثنائي كالتالي:
$$ L = -\frac{1}{N} \sum_{i=1}^N [y_i \log(p_i) + (1-y_i) \log(1-p_i)] $$
حيث:
تُستخدم في مهام التصنيف متعدد الفئات حيث يوجد أكثر من فئتين. يتم حساب خسارة الانتروبي المتقاطع التصنيفي كالتالي:
$$ L = -\frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{C} y_{ij} \log(p_{ij}) $$
حيث:
افترض سيناريو تصنيف بثلاث فئات: قطط، كلاب، وخيول. إذا كان التصنيف الحقيقي لصورة ما هو “كلب”، ويمثل ذلك بالمتجه “one-hot” [0, 1, 0]، وتوقع النموذج [0.4, 0.4, 0.2]، يتم حساب خسارة الانتروبي المتقاطع كما يلي:
$$ L(y, \hat{y}) = – (0 \times \log(0.4) + 1 \times \log(0.4) + 0 \times \log(0.2)) = 0.92 $$
يشير الانتروبي المتقاطع الأقل إلى تطابق أوثق بين احتمالات النموذج المتوقعة والتسميات الحقيقية، مما يعكس تحسناً في أداء النموذج.
يُعد الانتروبي المتقاطع جزءاً أساسياً في تدريب نماذج الذكاء الاصطناعي، خاصة ضمن أطر التعلم تحت الإشراف. ويُستخدم على نطاق واسع في:
import numpy as np
def cross_entropy(y_true, y_pred):
y_true = np.float_(y_true)
y_pred = np.float_(y_pred)
return -np.sum(y_true * np.log(y_pred + 1e-15))
# مثال للاستخدام
y_true = np.array([0, 1, 0]) # التصنيف الحقيقي (one-hot)
y_pred = np.array([0.4, 0.4, 0.2]) # الاحتمالات المتوقعة
loss = cross_entropy(y_true, y_pred)
print(f"Cross-Entropy Loss: {loss}")
في هذا المثال بلغة بايثون، تقوم دالة cross_entropy
بحساب الخسارة بين التصنيفات الحقيقية والاحتمالات المتوقعة، مما يُسهل تقييم وتحسين النموذج.
الانتروبي المتقاطع هو مقياس يقيس التباعد بين توزيعين احتماليين، ويُستخدم عادة كدالة خسارة لتقييم مدى تطابق تنبؤات النموذج مع التسميات الحقيقية.
في تعلم الآلة، يقوم الانتروبي المتقاطع بقياس الخطأ بين الاحتمالات المتوقعة والتسميات الفعلية، ويوجه عملية التحسين لتحسين دقة النموذج، خاصة في مهام التصنيف.
يُستخدم الانتروبي المتقاطع الثنائي لمهام التصنيف الثنائي (فئتين)، بينما يتعامل الانتروبي المتقاطع التصنيفي مع التصنيف متعدد الفئات. كلاهما يحسب الخسارة بين الاحتمالات الحقيقية والمتوقعة، مع مراعاة عدد الفئات.
يرتبط الانتروبي المتقاطع بتباعد كولباك-لايبْلر (KL)، حيث يمكن التعبير عنه كمجموع انتروبي التوزيع الحقيقي وتباعد KL بين التوزيعين الحقيقي والمتوقع.
نعم. مثال: import numpy as np def cross_entropy(y_true, y_pred): y_true = np.float_(y_true) y_pred = np.float_(y_pred) return -np.sum(y_true * np.log(y_pred + 1e-15))
ابدأ في بناء حلول الذكاء الاصطناعي الخاصة بك مع منصة FlowHunt البديهية. قم بتحسين نماذجك وأتمتة سير عملك بكفاءة.
التحقق المتقاطع هو طريقة إحصائية تُستخدم لتقييم ومقارنة نماذج تعلم الآلة من خلال تقسيم البيانات إلى مجموعات تدريب وتحقق عدة مرات، مما يضمن تعميم النماذج بشكل جي...
الانحدار التدرجي هو خوارزمية تحسين أساسية تُستخدم على نطاق واسع في تعلم الآلة والتعلم العميق لتقليل دوال التكلفة أو الخسارة عن طريق تعديل معلمات النموذج بشكل تك...
يُعد الانحدار الخطي تقنية تحليلية أساسية في الإحصاء وتعلم الآلة، حيث يقوم بنمذجة العلاقة بين المتغيرات التابعة والمستقلة. ويشتهر ببساطته وسهولة تفسيره، كما أنه ...