#t-sne-umap — التعلّم غير المُشرَف
ارسم خريطة الأبعاد العالية: t-SNE وUMAP يفتحان بيانات ذات 10 أبعاد إلى خريطة قابلة للقراءة في بُعدَين — الحيرة، الجيران، ومغالطات القراءة.
ما ستُجرّبه
- مرحبًا بك في #t-sne-umap. على الشاشة، 100 نقطة تعيش في 10 أبعاد: أربع مجموعات من 25 نقطة، ملوّنة بحسب تسميتها الحقيقيّة — لون لن تراه الخوارزميّة أبدًا. على اليسار، تُسطّحها PCA إلى بُعدَين: تحتفظ باتّجاه أكبر تباين، وهنا محور ضوضاء مشترك، فتراكم المجموعات فوق بعضها. على اليمين، خريطة t-SNE عند التكرار 0: لا تزال هي PCA، لكنّ t-SNE سيفتحها بالنظر إلى جوارات كلّ نقطة فقط.
- شغّل التكرارات الخمسين الأولى:
/iterate 50. هذه مرحلة التضخيم المبكّر: تُضرب التقاربات بين الجيران في 4، فتنكمش الخريطة وتتشكّل المجموعات فورًا. - الصقل:
/iterate 100. يتوقّف التضخيم، وترتاح الخريطة، وتنتشر السحب الأربع بوضوح. تذكّر: الألوان لم تُعرض أبدًا على الخوارزميّة، لم تر إلّا مسافات في 10 أبعاد. - الحيرة هي العدد الفعّال للجيران الذي تأخذه كلّ نقطة بعين الاعتبار. اجعلها صغيرة جدًّا:
/perplexity 5. تعود المواضع إلى الصفر (التكرار 0). - شغّل
/iterate 100لترى أثر الحيرة 5: كتل، مجموعات ممدودة. ثمّ تأرجح إلى الطرف المقابل:/perplexity 50— نصف النقاط يُعدّ جيرانًا. - شغّل
/iterate 100إن أردت رؤية خريطة الحيرة 50: كلّ شيء ينتشر، ولم تعد الفراغات بين المجموعات تعني شيئًا. الآن غيّر الطريقة:/method umap. ينطلق UMAP من الفكرة نفسها، لكنّه يبني مخطّط الجيران الأقرب ثمّ يُحسّنه بقوى: جذب على طول الحوافّ، ودفع في ما عداها. - شغّل
/iterate 100لترك UMAP يستقرّ. ثمّ أخفِ المرجع لتكبير الخريطة:/compare. - لنغيّر شكل البيانات:
/dataset chain. هذه المرّة تتبع النقاط الـ 100 منحنى في 10 أبعاد، ملوّنة بأربعة مقاطع من البداية إلى النهاية: البنية الحقيقيّة خطّ. - دورك الآن:
/dataset mixed(ثلاث مجموعات من 40 و20 و10 نقاط مع سلسلة — انظر كيف يمنحها t-SNE أحجامًا متقاربة)،/method tsneثمّ/iterate 100،/neighbors 5لـ UMAP محلّي جدًّا،/lr 500لرؤية النزول يشتطّ،/seed 42لسحب آخر،/resetللبدء من جديد. للتوسّع أكثر: #pca للنسخة الخطّية من هذه القصّة، و#embeddings-3d لما تُستخدم هذه الخرائط للنظر إليه.
أوامر القناة
/iterate <n=10..100>— يُشغّل n تكرارًا للطريقة الحاليّة (بحدّ أقصى 600 إجمالًا)./perplexity <5..50>— يضبط حيرة t-SNE (العدد الفعّال للجيران) ويُصفّر المواضع./neighbors <5..30>— يضبط عدد الجيران k لمخطّط UMAP ويُصفّر المواضع./method <tsne|umap>— اختر t-SNE أو UMAP وصفّر المواضع./lr <10..500>— يضبط معدّل التعلّم (دون تصفير)./compare— يُظهر خريطة PCA المرجعيّة أو يُخفيها./dataset <clusters|chain|mixed>— يغيّر مجموعة البيانات (100 نقطة في 10 أبعاد) ويُصفّر المواضع./seed <1..99>— يُعيد سحب مجموعة البيانات ببذرة أخرى ويُصفّر المواضع./reset— العودة إلى مجموعة clusters، t-SNE، الحيرة 30، PCA معروضة.
المسرد
- t-SNE
- تقليل أبعاد غير خطّي يضع كلّ نقطة في بُعدَين بحيث تُشبه جواراتها جوارات الفضاء الأصلي: تقاربات غاوسيّة في الأبعاد العالية، نواة Student في بُعدَين، ونزول تدرّج على تباعد كولباك-لايبلر بينهما.
- UMAP
- تقليل أبعاد غير خطّي يبني مخطّط الجيران الـ k الأقرب موزونًا (مخطّط ضبابي)، ثمّ يُحسّن خريطة ثنائيّة الأبعاد بالقوى: جذب على طول الحوافّ، ودفع لعيّنات سلبيّة. أسرع من t-SNE وأوفى قليلًا للبنية العامّة.
- الحيرة (perplexity)
- وسيط t-SNE: العدد الفعّال للجيران الذي تأخذه كلّ نقطة بعين الاعتبار (2 أُسّ إنتروبيا تقارباتها). عرض σᵢ الغاوسيّ لكلّ نقطة يُضبط للوصول إليه. القيم المعتادة: 5 إلى 50.
- تقليل الأبعاد غير الخطّي
- تمثيل بيانات ذات أبعاد عالية في بُعدَين أو ثلاثة (تضمين) دون الاكتفاء بإسقاط: يمكن للخريطة أن تنطوي أو تمتدّ أو تتمزّق للحفاظ على ما يهمّ، غالبًا الجوارات المحلّية.
- تباعد Kullback-Leibler
- مقياس الفجوة بين توزيعَين احتماليّين، هنا تقاربات P (الأبعاد العالية) وQ (خريطة بُعدَين). يُقلّله t-SNE؛ يُعاقب بشدّة على جيران قريبين في 10 أبعاد يُوضعون بعيدًا في بُعدَين، وبخفّة على العكس.
- ا لتضخيم المبكّر
- حيلة t-SNE: ضرب تقاربات P (هنا في 4) خلال التكرارات الأولى. تنكمش الخريطة، وتتشكّل المجموعات بسرعة ومنفصلة جيّدًا، ثمّ يتوقّف التضخيم وترتاح الخريطة.
- توزيع Student ثقيل الذيل
- النواة التي يستعملها t-SNE في خريطة بُعدَين: 1 / (1 + d²). ذيلها الأثقل من الغاوسيّ يترك غير الجيران ينحرفون بعيدًا دون كلفة، ما يتجنّب الاكتظاظ المركزي ويُفرِّق المجموعات.
- مخطّط الجيران الـ k الأقرب
- مخطّط يربط كلّ نقطة بجيرانها الـ k الأقرب في الفضاء الأصلي. يُوزّنه UMAP (أوزان exp(−(d − ρᵢ)/σᵢ))، ثمّ يجعله متماثلًا في مخطّط ضبابي، ثمّ يعمل به فحسب: يكفي الخريطةَ أن تحترم هذه الروابط.
- الحفاظ على الجوارات
- مقياس وفاء الخريطة: نسبة الجيران الـ k الأقرب لكلّ نقطة في الأبعاد العالية الموجودين ضمن الـ k الأقرب في بُعدَين، بالمتوسّط. 100% = كلّ الجوارات محفوظة.
- مغالطات القراءة
- ما لا تقيسه خريطة t-SNE أو UMAP: المسافة بين مجموعتَين، حجم مجموعة أو كثافتها، وأحيانًا وجود المجموعات نفسه (حيرة صغيرة جدًّا تفتّت سحابة متّصلة). فقط تركيبة الجوارات موثوقة.
قنوات أخرى في التعلّم غير المُشرَف
- #k-means — التجميع بلا تسميات: مراكز تتحرّك، قصور ذاتي يهبط، اختيار k — والأشكال التي يفشل علي ها k-means.
- #pca — تحليل المكوّنات الرئيسية: أوجِد المحاور التي تتغيّر عليها البيانات أكثر ما يكون، أسقِط، اضغط — وقِس ما فُقد.
- #hierarchical-clustering — ادمج النقاط اثنتَين اثنتَين حتّى لا يبقى إلّا واحدة: المخطّط الشجريّ، ومعايير الوصلة، وارتفاع القطع الذي يحدّد عدد العناقيد.
- #dbscan — التجميع بحسب الكثافة: إبسيلون، MinPts، نقاط النواة والحافّة والضوضاء — الخوارزميّة التي تجد الأشكال الاعتباطيّة وتتجاهل المتطفّلين.
- #anomaly-detection — اكتشِف ما لا يُطابق شيئًا: z-score / ماهالانوبيس، Isolation Forest، LOF — ثلاث طرق لقول «هذه النقطة غريبة».
- #t-sne-umap — ارسم خريطة الأبعاد العالية: t-SNE وUMAP يفتحان بيانات ذات 10 أبعاد إلى خريطة قابلة للقراءة في بُعدَين — الحيرة، الجيران، ومغالطات القراءة.