خطوات الاستخدام
الخطوة الأولى: فهم اللوجيتات. اللوجيتات هي القيم الخام الناتجة عن الطبقة الأخيرة في الشبكة العصبية قبل تطبيق دالة السوفت ماكس. تمثل هذه القيم درجة تشابه كل فئة مع المدخلات. قد تكون سالبة أو موجبة وغير محدودة. لحساب احتمالية فئة معينة، نحتاج إلى تحويل هذه القيم إلى توزيع احتمالي sum إلى 1.
الخطوة الثانية: حساب القيم الأسية (Exponentiation). لكل قيمة لوجيت (z_i)، نقوم بحساب e^{z_i} (الأساس e مرفوع للقوة z_i). هذا يعظم الفروق بين القيم ويضمن أن تكون النواتج موجبة. يتم ذلك لكل فئة i من 0 إلى N-1 حيث N عدد الفئات. مثلاً إذا كانت اللوجيتات [2.0, 1.0, 0.1]، نحصل على [e^{2.0}, e^{1.0}, e^{0.1}] ≈ [7.389, 2.718, 1.105].
الخطوة الثالثة: حساب مجموع القيم الأسية (Denominator). نجمع جميع القيم الأسية من الخطوة السابقة: sum = Σ e^{z_i} لكل الفئات. هذا المجموع هو المقام في دالة السوفت ماكس. في مثالنا: 7.389 + 2.718 + 1.105 = 11.212.
الخطوة الرابعة: حساب الاحتمالية للفئة المستهدفة. اقسم القيمة الأسية للفئة المستهدفة (بناءً على targetIndex) على المجموع الكلي. الصيغة: P(class = targetIndex) = e^{z_{target}} / sum. على سبيل المثال إذا targetIndex = 0: P = e^{2.0} / 11.212 = 7.389 / 11.212 ≈ 0.659، أي حوالي 65.9%.
الخطوة الخامسة: تفسير النتيجة. الاحتمالية الناتجة هي قيمة بين 0 و 1 تمثل الثقة النموذجية في أن المدخل ينتمي إلى الفئة المستهدفة. كلما كانت أعلى، زادت الثقة. ملاحظة: جميع الاحتمالات لمختلف الفئات تجمع إلى 1. يمكن استخدام هذه الاحتمالات في اتخاذ القرارات مثل تصنيف الصور أو النصوص.
أمثلة محلولة
تطبيقات عملية على احتمالية سوفت ماكس بخطوات الحل كاملة.
الحل
نبدأ بحساب القيم الأسية: e^{1.5} ≈ 4.4817، e^{-0.5} ≈ 0.6065، e^{0.3} ≈ 1.3499. مجموعها: 4.4817 + 0.6065 + 1.3499 = 6.4381. لاحتمالية القطة (الفئة 0): 4.4817 / 6.4381 ≈ 0.6961 (69.61%). لاحتمالية الطائر (الفئة 2): 1.3499 / 6.4381 ≈ 0.2097 (20.97%). نلاحظ أن الاحتمالين مع احتمال الكلب (0.6065/6.4381 ≈ 0.0942) يجمعان إلى 1. هذا يوضح كيف تعطي دالة السوفت ماكس توزيعًا احتماليًا طبيعيًا، مما يسمح بمقارنة الثقة بين الفئات. في التطبيقات العملية، نختار الفئة ذات الاحتمال الأعلى، هنا القطة بنسبة ~70%. لكن في بعض الحالات، قد نأخذ بعين الاعتبار جميع الاحتمالات إذا أردنا قياس عدم اليقين.
الحل
نحسب القيم الأسية لكل لوجيت: e^{2.0}=7.389، e^{1.5}=4.482، e^{0.0}=1، e^{-1.0}=0.368، e^{3.0}=20.086، e^{0.5}=1.649، e^{-0.5}=0.607، e^{1.0}=2.718، e^{2.5}=12.182، e^{1.2}=3.320. المجموع = 7.389+4.482+1+0.368+20.086+1.649+0.607+2.718+12.182+3.320 = 53.801. الاحتمال المطلوب = 20.086 / 53.801 ≈ 0.3734 (37.34%). نلاحظ أنه رغم أن لوجيت الفئة 4 هو الأعلى (3.0)، إلا أن الاحتمال ليس مرتفعاً جداً بسبب وجود قيم أخرى كبيرة (مثل 2.5 و2.0). هذا يبين كيف أن دالة السوفت ماكس توزع الاحتمال بين الفئات المتشابهة. في الممارسة، قد تضيف النماذج حداً لدرجة الحرارة (Temperature) لتنعيم أو تقوية التوزيع.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة احتمالية سوفت ماكس.
مثال الخطوات 2-4: [2.0,1.0,0.1] → الفئة 0 باحتمال 0.659002
- اللوغاريتمات (قيم مفصولة بفواصل)
- 2.0, 1.0, 0.1
- مؤشر الفئة المستهدفة
- 0
مثال 1: قطة/كلب/طائر — احتمال الفئة 0 هو 0.696122
- اللوغاريتمات (قيم مفصولة بفواصل)
- 1.5, -0.5, 0.3
- مؤشر الفئة المستهدفة
- 0
مثال 1: احتمال الطائر (الفئة 2) = 0.209668
- اللوغاريتمات (قيم مفصولة بفواصل)
- 1.5, -0.5, 0.3
- مؤشر الفئة المستهدفة
- 2
مثال 2: عشرة فئات — الفئة 4 باحتمال 0.373335
- اللوغاريتمات (قيم مفصولة بفواصل)
- 2.0, 1.5, 0.0, -1.0, 3.0, 0.5, -0.5, 1.0, 2.5, 1.2
- مؤشر الفئة المستهدفة
- 4
لوغيتات متساوية: توزيع منتظم 1/3 لكل فئة
- اللوغاريتمات (قيم مفصولة بفواصل)
- 3,3,3
- مؤشر الفئة المستهدفة
- 0
حالة الفيض العددي: [1000,999,998] → 0.665241 بالثبات العددي
- اللوغاريتمات (قيم مفصولة بفواصل)
- 1000, 999, 998
- مؤشر الفئة المستهدفة
- 0