انتقل إلى المحتوى الرئيسي

جارٍ تحميل المختبر المرئي…

#logistic-regressionالتعلّم المُشرَف

التصنيف إلى فئتين: السيغمويد، حدّ القرار، العتبة والخسارة اللوغاريتمية — ولماذا لا يكفي الخطّ دائمًا.

ما ستُجرّبه

  1. أهلًا بك في #logistic-regression. في المشهد: مستوى أفقي (x, y)، وسحابتان من النقاط — زرقاء (الصنف 0) ووردية (الصنف 1) — وخطّ أصفر هو حدّ قرار النموذج. أوزانه الأوّلية اعتباطية: يقطع الحدّ السحابة الزرقاء إلى قسمين، والنقاط المحاطة بالأحمر مُصنَّفة خطأً. الانحدار اللوجستي (logistic regression) يفعل شيئًا واحدًا فقط: يحسب z = w1·x + w2·y + b، ثمّ يحوّل هذا العدد إلى احتمال p = σ(z) للانتماء إلى الصنف الوردي. إنّه أبسط مصنِّف موجود — وهو الذي تجرّبه دائمًا أوّلًا، من الفحص الطبّي إلى فلترة البريد المزعج.
  2. ما لا يُظهره الحدّ هو الاحتمال. أظهره: اكتب /surface. سيرتفع سطح شبه شفّاف فوق المستوى: عند كلّ نقطة، ارتفاعه هو p(y=1 | x, y)، من 0 (أزرق) إلى 1 (وردي).
  3. الأوزان تحدّد اتجاه الحدّ وحدّة السطح. غيّرها يدويًّا: /weights 2 -1.
  4. ضبط الأوزان يدويًّا لا يتوسّع مع الحجم. دع النزول التدرّجي (gradient descent) يتكفّل بذلك: /train 50. عند كلّ حقبة (epoch)، يقيس النموذج الخسارة اللوغاريتمية (log-loss) — تعاقب الاحتمالَ الخاطئ الواثق بشدّة — ثمّ يحرّك w1 و w2 و b في الاتجاه الذي يخفّضها.
  5. إلى الآن نصنّف «وردي» بمجرّد أن يصبح p ≥ 0.5. هذه العتبة اختيار، لا قانون. اطلب مزيدًا من اليقين: /threshold 0.8.
  6. تصل نقطة جديدة، صنفها غير معلوم. اسأل عن حكم النموذج: /probability 0.5 0.5.
  7. الآن، الفخّ. حمِّل مجموعة تحتلّ فيها الورديات ركنين متقابلين: /dataset xor.
  8. دورك الآن: /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: قراءة مصنِّف بأمانة، خاصّة عند اختلال توازن الفئات.