ML 101
M05 · L03
الوحدة الخامسة

الـ dimensionality reduction

ألف feature بيبانوا كتير. بس في الأبعاد العالية، البيانات دايمًا قليلة — المسافات بتفقد معناها والـ models بتتكعبل. اتعلّم إزاي تضغط الـ noise وتحتفظ بالـ signal. ده الـ dimensionality reduction (تقليل الأبعاد).

01 / 13
ML 101
M05 · L03
المشكلة

الـ curse of dimensionality

كل ما الأبعاد تكبر، الحجم بينفجر. النقط بتتفرّق بعيد لدرجة إن البحث عن أقرب جار والـ clustering بيعطّلوا. ونسبة أقرب مسافة لأبعدها بتقرّب من 1 — كل نقطة بتبان قريبة بنفس القدر. ودي الـ curse of dimensionality (لعنة الأبعاد).

المشكلة
بيانات قليلة
الحل
dimensionality reduction
02 / 13
ML 101
M05 · L03
الطريقة الخطية

PCA: أكبر variance

الـ PCA بيلاقي الاتجاهات اللي فيها أكبر variance في البيانات — المحاور اللي النقط متفرّشة عليها أكتر. اعمل projection على أعلى k محاور منهم وهتحتفظ بأكتر معلومات في k بُعد.

  • كل اتجاه هو principal component (مكوّن رئيسي)
  • الـ components متعامدة — مفيش تكرار
  • بتتحسب عن طريق الـ eigenvectors (المتجهات الذاتية) بتاعة الـ covariance matrix
03 / 13
ML 101
M05 · L03
الصياغة الرياضية

الـ projection على أعلى eigenvectors

اعمل centering للبيانات، احسب الـ covariance matrix، خد أعلى k eigenvectors. اعمل projection للبيانات عليهم. والـ eigenvalues بتقولك كل component بيمسك variance قد إيه.

الـ projection بتاع PCA
\mathbf{Z} = \mathbf{X}\mathbf{W}_k
04 / 13
ML 101
M05 · L03
اختيار K

نسبة الـ explained variance

ارسم الـ explained variance التراكمي وإنت بتزوّد components. وقّف عند الكوع — اللي بعده الـ components الزيادة بتبطّل تساهم بشكل ملموس. وغالبًا 95% من الـ variance محتاجة components أقل بكتير من الـ features.

قاعدة إرشادية
احتفظ بالـ components لحد ما الـ variance التراكمي يوصل ≥ 95%
05 / 13
ML 101
M05 · L03
حدود الـ PCA

خطي بس، من غير منحنيات

  • الـ PCA بيفترض فضاء خطي — لا manifolds ولا منحنيات
  • مبيقدرش يفصل clusters على سطح منحني
  • حسّاس للمقياس: اعمل normalization للـ features دايمًا الأول
  • الحل: استخدم طرق غير خطية للبنيات المعقّدة
06 / 13
ML 101
M05 · L03
غير خطي

t-SNE: embedding بالجيرة

الـ t-SNE بيحوّل المسافات العالية الأبعاد لـ احتمالات، وبعدين بيلاقي ترتيب في بُعدين بيطابق الاحتمالات دي. النقط اللي شبه بعض بتفضل قريبة؛ واللي بعيدة بتتزق بعيد. وبيكشف بنية clusters مستخبية عن الـ PCA.

الـ parameter الأساسي
Perplexity
الناتج
2D / 3D
07 / 13
ML 101
M05 · L03
الـ cost function

تقليل الـ KL divergence

الـ t-SNE بيصغّر الـ KL divergence (تباعد KL) بين التوزيع P العالي الأبعاد والتوزيع Q اللي أبعاده قليلة. وبيستخدم Student-t kernel في Q (ديول تقيلة) عشان يمنع الزحمة في الـ embedding.

تكلفة الـ t-SNE
C = \mathrm{KL}(P \| Q) = \sum_{i \neq j} p_{ij} \log \dfrac{p_{ij}}{q_{ij}}
08 / 13
ML 101
M05 · L03
قواعد الـ t-SNE

للرسم بس، مش للـ preprocessing

  • المحاور مالهاش معنى مطلق — شكل الـ cluster بس هو اللي يهم
  • المسافات بين الـ clusters مش محفوظة
  • مينفعش تعمل embedding لنقط جديدة بعد التدريب
  • بطيء: O(n² log n) — حد عند ~100,000 نقطة
  • استخدم PCA لـ 50 بُعد الأول، وبعدين t-SNE
09 / 13
ML 101
M05 · L03
المعيار الحديث

UMAP: أسرع وأمين أكتر

  • مبني على هندسة ريمانية والطوبولوجيا الجبرية
  • بيحافظ على البنية المحلية والعامة مع بعض
  • وقت شبه خطي — بيكبر لملايين النقط
  • يقدر يعمل embedding لنقط جديدة بعد التدريب
  • أهم الـ parameters: n_neighbors (محلي/عام) وmin_dist
10 / 13
ML 101
M05 · L03
تختار أنهي؟

PCA ولا t-SNE ولا UMAP؟

  • PCA — الـ preprocessing، البنية الخطية، دايمًا الأول
  • t-SNE — بيانات صغيرة/متوسطة، رسم clusters متلزّقة
  • UMAP — بيانات ضخمة، بنية عامة، embedding لنقط جديدة
  • خطوات الشغل: PCA ← 50 بُعد ← UMAP/t-SNE ← رسم 2D
11 / 13
ML 101
اختبار سريع

شوف إيه اللي ثبت

أربع أسئلة من الدرس ده. جاوب عشان تشوف السبب — الشرح بيظهر سواء جاوبت صح أو غلط. ونتيجتك مش بتتحفظ.

السؤال 1 من 0
النتيجة 0/0

12 / 13
ML 101
الخلاصة
مراجعة

اتعلّمت إيه

الـ PCA خطي ودايمًا خطوتك الأولى. والـ t-SNE بيكشف بنية الـ clusters المحلية للرسم. والـ UMAP أسرع، بيحافظ على البنية العامة، وبيكبر أكتر. الوحدة الخامسة خلصت.

الوحدة الخامسة خلصت
الـ unsupervised learning ✓
13 / 13