#logistic-regression — التعلّم المُشرَف
التصنيف إلى فئتين: السيغمويد، حدّ القرار، العتبة والخسارة اللوغاريتمية — ولماذا لا يكفي الخطّ دائمًا.
ما ستُجرّبه
- أهلًا بك في #logistic-regression. في المشهد: مستوى أفقي (x, y)، وسحابتان من النقاط — زرقاء (الصنف 0) ووردية (الصنف 1) — وخطّ أصفر هو حدّ قرار النموذج. أوزانه الأوّلية اعتباطية: يقطع الحدّ السحابة الزرقاء إلى قسمين، والنقاط المحاطة بالأحمر مُصنَّفة خطأً. الانحدار اللوجستي (logistic regression) يفعل شيئًا واحدًا فقط: يحسب
z = w1·x + w2·y + b، ثمّ يحوّل هذا العدد إلى احتمالp = σ(z)للانتماء إلى الصنف الوردي. إنّه أبسط مصنِّف موجود — وهو الذي تجرّبه دائمًا أوّلًا، من الفحص الطبّي إلى فلترة البريد المزعج. - ما لا يُظهره الحدّ هو الاحتمال. أظهره: اكتب
/surface. سيرتفع سطح شبه شفّاف فوق المستوى: عند كلّ نقطة، ارتفاعه هوp(y=1 | x, y)، من 0 (أزرق) إلى 1 (وردي). - الأوزان تحدّد اتجاه الحدّ وحدّة السطح. غيّرها يدويًّا:
/weights 2 -1. - ضبط الأوزان يدويًّا لا يتوسّع مع الحجم. دع النزول التدرّجي (gradient descent) يتكفّل بذلك:
/train 50. عند كلّ حقبة (epoch)، يقيس النموذج الخسارة اللوغاريتمية (log-loss) — تعاقب الاحتمالَ الخاطئ الواثق بشدّة — ثمّ يحرّك w1 و w2 و b في الاتجاه الذي يخفّضها. - إلى الآن نصنّف «وردي» بمجرّد أن يصبح p ≥ 0.5. هذه العتبة اختيار، لا قانون. اطلب مزيدًا من اليقين:
/threshold 0.8. - تصل نقطة جديدة، صنفها غير معلوم. اسأل عن حكم النموذج:
/probability 0.5 0.5. - الآن، الفخّ. حمِّل مجموعة تحتلّ فيها الورديات ركنين متقابلين:
/dataset xor. - دورك الآن:
/dataset overlapثمّ/train 200(بعض الأخطاء لا مفرّ منها: تتوقّف الخسارة اللوغاريتمية عن ا لانخفاض نحو الصفر)،/noise 0.8لتضبيب السحابتين،/lr 0.05لترى التدريب يزحف،/threshold 0.3للمفاضلة الأخرى،/seed 12لسحبة أخرى،/resetللبدء من جديد. التالي: #classification-metrics (الضبط، الاستدعاء، منحنى ROC: ما تحرّكه العتبة فعليًّا) و#svm-margins (طريقة أخرى لاختيار الخطّ).
أوامر القناة
/weights <w1=-5..5> <w2=-5..5>— يضبط الوزنين معًا: اتجاه الحدّ وحدّة السطح./bias <-5..5>— يضبط الانحياز b: يزيح الحدّ دون تدويره./threshold <0..1>— يضبط عتبة القرار: توقَّع «وردي» إذا p ≥ العتبة./train <1..200>— نزول تدرّجي دفعي (batch) على الخسارة اللوغاريتمية لعدد n من الحقب./lr <0.01..3>— يضبط معدّل التعلّم المستخدم في /train./probability <x=-2..2> <y=-2..2>— يُسقط نقطة استعلام ويقرأ احتمالها المتوقّع./surface— يُظهر أو يُخفي سطح الاحتمال p(y=1 | x, y)./dataset <separable|overlap|xor>— يغيّر مجموعة النقاط (الأوزان تبقى، الحقب تصفَّر)./noise <0..1>— يضبط تشتّت السحابتين (الانحراف المعياري الغاوسي، وتشتّت عناقيد XOR)./seed <1..99>— يغيّر بذرة العشوائية لسحبة النقاط./reset— ي عود إلى المجموعة القابلة للفصل، إلى الأوزان الأوّلية، إلى العتبة 0.5، بلا سطح.
المسرد
- الانحدار اللوجستي (logistic regression)
- نموذج تصنيف يحسب مجموعًا موزونًا للمدخلات
z = w·x + b، ثمّ يحوّله إلى احتمالp = σ(z). رغم اسمه، يتنبّأ بصنف لا بكميّة: إنّه «انحدار» احتمال. - التصنيف الثنائي (binary classification)
- مهمّة ينتمي فيها كلّ مثال إلى أحد صنفين (0 أو 1، أزرق أو وردي، مزعج أو غير مزعج). يتعلّم النموذج قاعدةً تختار أحدهما لأيّ مدخل جديد.
- السيغمويد (sigmoid)
- الدالة
σ(z) = 1 / (1 + e^−z)، على شكل حرف S: تعيّن كلّ عدد حقيقي في المجال ]0, 1[، تساوي 0.5 عند z = 0، وتتشبّع عند طرفَيها. تعطي السطح شكله وتسمح بقراءة الخرج بوصفه احتمالًا. - حدّ القرار (decision boundary)
- مجموعة النقاط التي يغيّر عندها النموذج رأيه: هنا الخطّ
w1·x + w2·y + b = logit(threshold)، مرسوم بالأصفر. للانحدار اللوجستي يكون دائمًا خطًّا (فوق-مستوى في أبعاد أعلى) — ولذلك يفشل على XOR. - عتبة القرار (decision threshold)
- الاحتمال الذي فوقه يُتوقَّع الصنف 1 (0.5 افتراضيًّا). تغييرها لا يغيّر النموذج بل يزيح الحدّ: تتبادل الإيجابيات الكاذبة مع السلبيات الكاذبة، حسب كلفة كلّ خطأ.
- الخسارة اللوغاريتمية (log-loss)
- الخسارة
−[y·ln p + (1 − y)·ln(1 − p)]، بمتوسّطها على الأمثلة: صفر لاحتمال مثالي، وكبيرة جدًّا لاحتمال خاطئ مع ثقة. هذا ما يقلّله النزول التدرّجي. - الاحتمال المتوقّع (predicted probability)
- خرج النموذج
p(y=1 | x)لمُدخل ما: ثقة بين 0 و1، لا مجرّد نعم/لا. ارتفاع السطح (وارتفاع الخطّ الأصفر تحت نقطة الاستعلام) يُظهره. - إيجابية كاذبة / سلبية كاذبة (false positive / false negative)
- الإيجابية الكاذبة: مثال من الصنف 0 تنبّأ به النموذج 1 (أزرق صُنِّف ورديًّا). السلبية الكاذبة: مثال من الصنف 1 تنبّأ به 0. رفع العتبة يقلّل الأولى ويزيد الثانية؛ مقاييس التصنيف (الضبط، الاستدعاء) تعدّها منفصلةً.
- قابلية الفصل الخطّي (linear separability)
- خاصّية مجموعة بيانات يمكن فصل صنفَيها بخطّ (فوق-مستوى). موزّعتان غاوسيّتان يمكن فصلهما، أمّا XOR فلا: لن يتجاوز أيّ انحدار لوجستي ≈50% عليها، ويلزم نموذج غير خطّي.
- الحقبة (epoch)
- مرور كامل واحد على بيانات التدريب. هنا كلّ حقبة هي خطوة نزول تدرّجي دفعية واحدة: يُحسب تدرّج الخسارة اللوغاريتمية على النقاط الـ 200 كلّها، ثمّ يتحرّك w1 و w2 و b خطوةً واحدة بمقدار
lrفي الاتجاه المعاكس.
قنوات أخرى في التعلّم المُشرَف
- #live-training — ستّ خوارزميات تتعلّم أمام عينيك كفيديو: REC، عدّاد زمني، تعليقات توضيحية، مؤشّرات مبا شرة. المشاهدة مجانية؛ تعديل النموذج بريميوم.
- #linear-regression — مطابقة خطّ: المربّعات الصغرى، البواقي، MSE، R² والنزول التدرّجي — اللبنة الأولى لكلّ نموذج تعلّم مُوجَّه.
- #logistic-regression — التصنيف إلى فئتين: السيغمويد، حدّ القرار، العتبة والخسارة اللوغاريتمية — ولماذا لا يكفي الخطّ دائمًا.
- #decision-trees — شجرة تنحت المستوى إلى مستطيلات: جيني، الإنتروبيا، العمق، التقليم — وفرط التعلّم الذي تراه بأمّ عينيك.
- #knn — أقرب k جار: صنِّف بالشبه، اختر k، غيّر المسافة — وشاهد الحدّ ينعم أو يتشظّى.
- #svm-margins — آلات متّجهات الدعم: أوسع هامش ممكن، المعامل C، ونواة RBF التي تُقوِّس الحدّ.
- #classification-metrics — الدقّة، الاستدعائيّة، F1، مصفوفة الالتباس، ROC وAUC: قراءة مصنِّف بأمانة، خاصّة عند اختلال توازن الفئات.