المادة كلها سؤال واحد: إزاي الكمبيوتر يصنّف حاجة جديدة؟
عندنا pattern (صورة، صوت، إيميل…) ← نحوله لـ features (أرقام) ← classifier يقرر هو من أنهي class.
القصة في 4 محاضرات
- Maximum Likelihood / Discriminant ← اختار الكلاس اللي احتماله أعلى ← ده اللي اتشرح بالتفصيل في Lec 3 + Lec 4 (Bayes و Naive Bayes).
- Minimum Distance ← اختار الكلاس الأقرب ← ده اللي اتشرح في Lec 5 (KNN وعيلة المسافات).
مقارنة الـ classifiers (أهم جدول في المادة)
| Bayes | Naive Bayes | KNN | Minimum Distance | |
|---|---|---|---|---|
| العيلة | Probabilistic | Probabilistic | Distance-based | Distance-based |
| بيقرر إزاي | argmax P(X|C)P(C) | argmax P(C)∏P(xᵢ|C) | majority vote لأقرب k | أقرب class mean |
| الافتراض | — | features مستقلة بشرط الكلاس | القريب غالبًا من نفس الكلاس | كل كلاس متمثل بمتوسطه |
| التدريب | نقدّر احتمالات | عدّ + ضرب (سريع جدًا) | مفيش — بيخزن الداتا (lazy) | نحسب mean لكل كلاس |
| التوقع | سريع | سريع | بطيء (مسافة لكل نقطة) | سريع |
| نقطة ضعف | محتاج احتمالات كتير | zero frequency ← Laplace | scale + noise + k | كلاسات مش "دايرية" |
🎧 NotebookLM — فيديوهات وسلايدات وصوت
النوت بوك فيه المحاضرات الأربعة + Audio Overview بالمصري، فيديو وسلايدات لكل محاضرة، Mind Map، Flashcards، Quiz، و Study Guide.
خطة المذاكرة (علّم اللي خلصته)
نذاكر إزاي عشان المعلومة تثبت ونقفل الـ MCQ
القاعدة: القراية لوحدها مش مذاكرة. اللي بيثبّت المعلومة إنك تطلّعها من دماغك (active recall) وتتدرب على الأسئلة.
طريقة الـ 3 لفّات
① لفّة الصورة الكبيرة (15 د)
صفحة "الخريطة" + اسمع الـ Audio Overview من NotebookLM (ينفع وإنت في المواصلات). الهدف: تعرف كل محاضرة بتجاوب على أنهي سؤال.② لفّة الفهم (30–40 د لكل محاضرة)
اقرا صفحة المحاضرة هنا ← اقفلها ← اشرحها بصوت عالي في دقيقتين كأنك بتشرح لصاحبك (Feynman) ← افتح "اختبر نفسك". افتح الـ PDF بس للرسومات.③ لفّة التثبيت بالأسئلة
MCQ للمحاضرة (Practice) لحد ≥ 85% ← بعد كل المحاضرات: Exam mode مخلوط ← "مراجعة أخطائي" لحد ما تفضى.نصايح بتفرق
⏱️ 25 / 5
25 دقيقة تركيز (موبايل بعيد) و5 راحة. كل 4 جولات خد 20 دقيقة.🔁 Spaced repetition
الأسئلة اللي غلطت فيها ارجعلها بعد يوم وبعد 3 أيام (زرار "مراجعة أخطائي" بيحفظهم لوحده).✍️ احسب بإيدك
أمثلة الحساب (Bayes، Naive Bayes، Laplace، KNN) لازم تتحل على ورقة مرة واحدة على الأقل من غير ما تبص — دي أسهل درجات.👥 لو بتذاكروا مع بعض
واحد يشرح محاضرة في 5 دقايق، والباقي يسألوه أسئلة من بنك الـ MCQ. اللي يغلط يشرح السؤال اللي بعده.🎧 NotebookLM
Audio Overview للتكرار السلبي، والـ Chat للأسئلة اللي مش فاهمها ("اشرحلي ليه LOO nearly unbiased")، والـ Quiz/Flashcards كتدريب إضافي.🛑 ماتعملش
ماتلخّصش السلايدات تاني (الملخص موجود هنا). ماتعيدش قراية نفس الصفحة 3 مرات — اختبر نفسك بدل كده.تكتيكات الـ MCQ في اللجنة
| التكتيك | إزاي |
|---|---|
| ① اقرا الـ stem مرتين | حط خط تحت NOT / EXCEPT / always / only / best. نص الغلط بيجي من إنك ماخدتش بالك من NOT. |
| ② توقّع قبل ما تقرا الاختيارات | حاول تجاوب في دماغك الأول، وبعدين دوّر على إجابتك. كده الـ distractors مش هتلخبطك. |
| ③ الكلمات المطلقة | في المادة دي العبارات المطلقة غالبًا غلط: "proximity guarantees same class" ✗، "small k is always better" ✗، "scaling makes all features equally useful" ✗. |
| ④ كلمة السر | كل مفهوم له كلمة بتفضحه (with replacement ← Bootstrap، K=N ← LOO، reward ← Reinforcement…). احفظ صفحة "كلمة السر". |
| ⑤ الحساب بسرعة | لو السؤال "أنهي class؟" ماتحسبش الـ evidence P(X) — قارن البسط بس. لو "احتمال كام %؟" لازم تقسم على المجموع (normalize). |
| ⑥ الاستبعاد | شيل الاختيارين الأغلط الأول، وبعدين قارن الاتنين الفاضلين بكلمة السر. |
| ⑦ الوقت | السؤال اللي واخد أكتر من دقيقة ونص: علّم عليه وارجعله في الآخر. |
- Lec 4 سلايد 13: score الـ No مكتوب
0.00137والصح2/5·2/5·1/5·3/5·5/14 = 0.00686(السلايد ضرب في 1/14 بدل 5/14). القرار لسه Yes (0.00705 > 0.00686) بس الفرق صغير جدًا (~50.7% Yes). لو جه في الامتحان كرقم ومش لاقي 0.00686 ← الدكتور قاصد رقم السلايد. - Lec 4 سلايد 16 vs 19: الـ test instance مكتوب Rainy، والحساب في سلايد 19 استخدم Sunny (2/9). في الحالتين النتيجة No بفرق كبير.
- Lec 4 سلايد 18: σ للـ Humidity (Yes) الصح ≈ 5.10 مش 5.06. وخلي بالك الدكتور بيقسم على n مش n−1.
- Lec 5: الـ Exercise بيقول "Slides 13–16" والمثال فعليًا في سلايدات 16–19. ولـ k = 1 فيه tie (B و E الاتنين 1.118).
- Lec 1: سلايد 13 (Summary) حاطط "Isolation of patterns from background" تحت Pre-processing، وسلايد 10 حاطط فصل الـ object عن الـ background تحت Segmentation. في الامتحان: "regions of interest / separating objects" ← Segmentation.
Introduction to Pattern Recognition
إننا نعلّم الكمبيوتر يلاحظ الـ patterns في الداتا، ويستخدمها ياخد قرار عن حاجة جديدة.
1) التعريفات الأساسية
Pattern
أي object عايزين نصنّفه: صورة رقم مكتوب بخط اليد، صوت، إيميل، قياس طبي، وش في صورة.Class
مجموعة objects متشابهة مش متطابقة ومختلفة عن الكلاسات التانية (زي حرف A وحرف B).Classification
إنك تحط pattern معيّن في class من كلاسات معروفة. (عشان كده الاسم classification.)Pattern Recognition
علم بيخلي الماكينة تراقب البيئة، تتعلم تفرّق الـ patterns، وتاخد قرارات sound and reasonable عن الكلاسات.2) General Classification System — 9 مراحل (أهم حتة في المحاضرة)
احفظ الترتيب كده: بيئة ← حسّاس ← تنضيف ← تقطيع ← استخراج ← فيكتور ← تصنيف ← مراجعة ← قرار. والـ Model Learning داخل على الـ Classification من الجنب (training data + prior knowledge).
| المرحلة | بتعمل إيه | كلمة السر في السؤال |
|---|---|---|
| 1. Physical Environment | المصدر الحقيقي للظاهرة | handwritten document, face in front of camera, sound wave |
| 2. Data Acquisition / Sensing | تحويل الإشارة الفيزيائية لداتا رقمية (transducing) | camera, microphone, scanner, pixels, sampling · issues: bandwidth, resolution |
| 3. Pre-processing | تنضيف وتحسين الإشارة وتقليل الـ noise | noise filtering, contrast enhancement, normalization, deskewing, thresholding |
| 4. Segmentation | تقسيم الداتا لمناطق مهمة وفصل الـ object عن الخلفية | isolating letters, bounding a face, detecting speech regions |
| 5. Feature Extraction | حساب قياسات قليلة ومفيدة (low-dimensional) | edges, textures, shapes, spectral coefficients, embeddings · "new representation" |
| 6. Features | الـ feature vector اللي داخل للـ classifier | x = [height, width, aspect ratio, …] |
| 7. Classification | ربط الـ feature vector بكلاس باستخدام model متعلّم | SVM, Neural Nets, Decision Trees · external inputs: labeled data, prior knowledge |
| 8. Post-processing | تحسين النتيجة بالـ context وتقييم الثقة | confidence, context, combination of experts, spell-check "c-a-t-e → cat", reduce false positives |
| 9. Decision | الـ action النهائي | display ASCII char, unlock device, medical alert, route defective product |
تنضيف الصورة (noise/contrast/deskew) = Pre-processing · قصّ الحرف من السطر = Segmentation · حساب أرقام تمثّل الحرف = Feature extraction.
و Post-processing بييجي بعد الـ classification (زي الـ spell-check بعد ما الحروف اتعرفت).
3) Design Cycle — 4 خطوات
① Collect Data — السؤال الأساسي
إزاي نتأكد إن الداتا كبيرة كفاية و representative للـ true distribution؟ بـ 5 حاجات: نحدد الـ sample size (power analysis / learning curves) · diversity · random sampling (يقلل selection bias) · نقارن الـ distributions · validate على test set مستقل.
تقسيم مشهور: Training 70% · Validation 15% · Test 15%.
حساب الـ Sample Size (مسألة مضمونة)
| Confidence | 80% | 85% | 90% | 95% | 98% | 99% | 99.9% |
|---|---|---|---|---|---|---|---|
| Z | 1.282 | 1.440 | 1.645 | 1.960 | 2.326 | 2.576 | 3.291 |
p = 0.5 لما مانعرفش النسبة (بيدّي أكبر حجم). على الآلة: MENU → Distribution → Normal → InvN. والدكتور كاتب: ده sample size لـ population proportion، مش statistical power analysis لمقارنة algorithms.
Data Split Techniques (بتيجي كتير)
| الطريقة | الفكرة | الميزة | العيب |
|---|---|---|---|
| Resubstitution | train و test على نفس الداتا كلها | بيستخدم كل الداتا في البناء | optimistic bias — بيقيس training error فبيقلل من الـ generalization error (overfitting) |
| Hold-out | ⅔ train · ⅓ test | test على داتا ماشافهاش ← unbiased estimate | بيقلل داتا التدريب و test صغير ← variance عالي مع الداتا الصغيرة |
| K-fold CV | k أجزاء؛ كل مرة جزء test والباقي (k−1) train؛ average للـ error | التقسيم مايفرقش أوي؛ كل نقطة test مرة واحدة و train k−1 مرة | بتدرّب k models |
| Leave-One-Out | K-fold بـ K = N | nearly unbiased (كل model بيتدرب على N−1) | expensive: N models |
| Bootstrap | اسحب N عينة with replacement؛ اللي ماتسحبش (~36.8%) = test؛ كرر (مثلًا 200) وخد average | الأحسن لما الداتا صغيرة (< 30) — rare medical data | computationally intensive، والـ classifiers مش optimal |
② Feature Selection و Curse of Dimensionality
كل ما تقيس features أكتر ← dimension أعلى ← الـ feature space حجمه بيكبر exponentially ← الداتا تبقى sparse ← computation و storage أكتر و overfitting. ده اسمه Curse of Dimensionality.
الاستراتيجية: قيس features كتير، وبعدين قلّلها واختار الـ subset الأكتر informative وشيل الـ redundant و irrelevant.
4 اعتبارات لاختيار الـ features
- Domain dependence & prior knowledge
- Computational feasibility & cost
- Discriminative power: قيم متشابهة جوه الكلاس (intra) ومختلفة بين الكلاسات (inter)
- Invariance: مايتأثرش بـ translation, rotation, scale
Feature Selection
بتختار subset d′ من الـ d features الأصلية من غير ما تغيّر تعريفها. أنواعها: Filter / Wrapper / Embedded.Feature Extraction
بتعمل mapping لـ subspace أصغر (features جديدة). أمثلة: PCA و LDA. مثال: صورة 28×28 = 784 pixel ← 20 feature.| PCA | LDA | |
|---|---|---|
| الهدف | نقلل الـ features ونحافظ على أكبر variance | نقلل الـ features ونـفصل الكلاسات |
| الفكرة | directions بتمسك أكبر variation في الداتا | maximize between-class · minimize within-class |
| بيستخدم labels؟ | لأ (unsupervised) | آه (supervised) |
| مثال السلايد | 100 features ← 10 principal components | cats vs dogs |
③ Model
Feature extractor
برنامج بياخد الداتا (صورة) ويطلّع features.Classifier
برنامج بياخد الـ feature vector ويحطه في class من الكلاسات أو في "reject" class.Maximum Likelihood / Discriminant
يحسب دوال \(d_i(\mathbf{x})\) لكل كلاس ويختار الكلاس اللي \(d_i\) بتاعه أكبر.Minimum Distance Classifier
يحسب المسافة بين \(\mathbf{x}\) و mean vector كل كلاس \(\mathbf{m}_i\) ويختار الأقرب.④ Training & Learning
عندنا training set (أمثلة معروف كلاسها) وعايزين نصنف الـ test set. لازم الـ features تخلي in-class variation أقل من between-class variation.
| النوع | الـ labels | بيتعلم إزاي |
|---|---|---|
| Supervised | موجودة (teacher) | من أمثلة عليها labels/cost targets |
| Unsupervised | مفيش | بيكتشف clusters / structure لوحده |
| Reinforcement | مفيش target صريح | agent بيتعلم policy من reward / penalty |
Supervised workflow: Problem formulation → Data identification → Pre-processing → Training set definition → Algorithm selection → Training & parameter tuning → Evaluation. ولو الأداء وحش (زي 55% accuracy) نرجع: hyperparameter tuning؟ feature engineering؟ داتا أكتر؟
Unsupervised (Clustering): نقسم unlabeled vectors لـ disjoint clusters (كل sample في cluster واحد). 4 أسئلة: هل فيه structure حقيقي ولا الـ algorithm بيفرضه؟ كام cluster (K)؟ نعرّف الـ similarity (distance metric) إزاي؟ نقيس جودة الـ clustering إزاي؟
اختبر نفسك
إيه الفرق بين Pre-processing و Segmentation؟
Pre-processing بينضّف الإشارة كلها (noise، contrast، deskew). Segmentation بيقطّع الداتا لمناطق مهمة ويفصل الـ object عن الخلفية.ليه Resubstitution بيدّي error أقل من الحقيقي؟
لأنه بيختبر على نفس الداتا اللي اتدرب عليها ← بيقيس training error ← optimistic bias وبيخبي الـ overfitting.إمتى أستخدم Bootstrap؟ وكام في المية بيبقى test؟
لما الداتا صغيرة جدًا (< 30). حوالي 36.8% من العينات مابتتسحبش فبتبقى test.PCA ولا LDA لو عايز أفصل الكلاسات؟
LDA — بيعظّم between-class ويقلل within-class. PCA بيهتم بالـ variance بس ومابيبصش على الـ labels.إيه هو Curse of Dimensionality؟
زيادة الـ features ← الـ space بيكبر exponentially ← الداتا sparse ← computation/storage أكتر و overfitting.Z لـ 99%؟ ولـ 90%؟
2.576 و 1.645.Bayes Classifier
Bayes بيقلب السؤال: بدل "لو الكلاس ده، الفيتشر احتمالها كام؟" يبقى "شفت الفيتشر، الكلاس احتماله كام؟" ونختار الكلاس الأعلى.
1) أساسيات الاحتمالات
Probability
\(0 \le P(A) \le 1\) · 0 مستحيل · 1 أكيد. للنتائج المتساوية: عدد النتائج المطلوبة ÷ الكل. (60 بنت من 100 ← 0.6)Sample space Ω
كل النتائج الممكنة. الزهر: {1,…,6}.Event
subset من الـ sample space. "زوجي" = {2,4,6} ← 0.5. في PR: "الـ object من class ω₁".Complement
\(P(A')=1-P(A)\). Disease 0.2 ← No disease 0.8.Addition rule
\(P(A\cup B)=P(A)+P(B)-P(A\cap B)\)Independent events
معرفة إن واحد حصل مابتغيرش احتمال التاني: \(P(A\cap B)=P(A)P(B)\). عملة مرتين: 0.5×0.5 = 0.25Priors: لو 80 cat و 120 dog من 200 ← P(cat) = 0.4، P(dog) = 0.6، ومجموع الـ priors = 1. اسمها prior عشان بنحسبها قبل ما نشوف الـ features.
2) Conditional · Joint · Marginal (بالجدول ده هتحل أي سؤال)
| (N = 100) | Disease (A) | No Disease (A′) | Total |
|---|---|---|---|
| Fever (B) | 30 | 20 | 50 |
| No Fever (B′) | 10 | 40 | 50 |
| Total | 40 | 60 | 100 |
Joint — الاتنين مع بعض
\(P(A\cap B)=30/100=0.3\)Marginal — واحد بس بغض النظر عن التاني
\(P(A)=P(A\cap B)+P(A\cap B')=0.3+0.1=0.4\) · \(P(B)=0.5\)Conditional — بشرط
\(P(A|B)=\dfrac{P(A\cap B)}{P(B)}=\dfrac{0.3}{0.5}=0.6\)Multiplication rule
\(P(A\cap B)=P(A|B)P(B)=P(B|A)P(A)\)\(P(B|A)=0.3/0.4=0.75\)
3) Bayes' Theorem ⭐
| المصطلح | الرمز | معناه بالبلدي | من مثال الـ fever |
|---|---|---|---|
| Prior | P(C) | كنت مصدّق إيه قبل الدليل؟ | P(Disease) = 0.4 |
| Likelihood | P(X|C) | الدليل ده متوقع قد إيه لو الفرضية صح؟ | P(Fever|Disease) = 0.75 |
| Evidence | P(X) | احتمال الدليل عمومًا (نفسه لكل الكلاسات) | P(Fever) = 0.5 |
| Posterior | P(C|X) | بقيت مصدّق إيه بعد الدليل؟ | P(Disease|Fever) = 0.6 |
مثال Cat / Dog (pointed ears)
P(Cat)=0.4، P(Dog)=0.6، P(PE|Cat)=0.8، P(PE|Dog)=0.3
4) Random Variables
| Discrete | Continuous | |
|---|---|---|
| القيم | countable (عدد العيوب 0,1,2,…) | لا نهائية في interval (الطول 170.12…) |
| الدالة | PMF: \(P(X=x)\) | PDF: \(f(x)\) |
| نقطة واحدة | ليها احتمال | \(P(X=x)=0\) ← نستخدم \(P(a\le X\le b)=\int_a^b f(x)dx\) |
في PR الـ random variable = feature (age، blood pressure، pixel intensity) أو feature vector زي [height, weight, age].
5) من الاحتمالات للتصنيف: Bayes Decision Rule
مثال السكر (glucose x = 150): P(C₁ diabetic)=0.3، P(C₂)=0.7، p(x|C₁)=0.04، p(x|C₂)=0.01
اختبر نفسك
Likelihood هو P(C|X) ولا P(X|C)؟
P(X|C) — احتمال الدليل/الـ feature بشرط الكلاس. P(C|X) هو الـ posterior.ليه نقدر نشيل P(X) في التصنيف؟
لأنها نفس المقام لكل الكلاسات، فمش هتغير مين الأكبر.من جدول الـ fever: P(No Disease | Fever)؟
20/50 = 0.4 (أو 1 − 0.6).P(X = 170) لطول (continuous) = ؟
صفر. للـ continuous بنحسب احتمال interval بالتكامل على الـ PDF.Naive Bayes Classifier
Bayes مع features كتير: بنفترض (بسذاجة = naive) إن الـ features مستقلة عن بعض لما نعرف الكلاس، فبنضرب احتمالاتها في الـ prior.
1) التعريف واللي بيتسأل عليه
Definition
Probabilistic, supervised algorithm للـ classification. بيستخدم Bayes' theorem ويفترض إن الـ features conditionally independent given the class.ليه مفيد؟
بسيط · بيتدرب بسرعة حتى مع داتا كبيرة · شغال كويس مع high-dimensional (خصوصًا text) · تفسير احتمالي · strong baseline.Applications
Medical diagnosis · Sentiment analysis · Document/news categorization · Network intrusion detection · Activity recognition (sensors) · Email (spam).Bayes vs Naive Bayes (حسب السلايد)
Bayes: event معتمد على event واحد \(P(A|B)\). Naive Bayes: event معتمد على events كتير \(P(A|B,C,D,\dots)\) ← شغال على set of features، مناسب للداتا الكبيرة.الداتا: Feature matrix X (كل عمود feature) + Target vector y (labels زي 0/1).
2) مثال الـ Weather (اتعلمه خطوة بخطوة)
| Feature | Value | Yes (من 9) | No (من 5) |
|---|---|---|---|
| Outlook | Sunny | 3 | 3 |
| Overcast | 4 | 0 | |
| Rainy | 2 | 2 | |
| Temperature | Hot | 2 | 2 |
| Mild | 4 | 2 | |
| Cool | 3 | 1 | |
| Humidity | High | 3 | 4 |
| Normal | 6 | 1 | |
| Windy | True | 3 | 3 |
| False | 6 | 2 | |
| Prior | 9/14 | 5/14 | |
Test: Outlook = Rainy, Temp = Hot, Humidity = Normal, Windy = True ← Play؟
⇐ Play = Yes (0.00705 > 0.00686). الأرقام دي scores مش احتمالات؛ لو عايز الاحتمال: 0.00705 ÷ (0.00705 + 0.00686) ≈ 50.7%.
طريقة سريعة في اللجنة: كل كسر = (عدد مرات القيمة مع الكلاس) ÷ (عدد الكلاس). الـ prior = عدد الكلاس ÷ 14.
3) Laplace Correction (Zero-frequency problem)
P(Overcast | No) = 0/5 = 0 ← لو ضربنا فيه، الاحتمال كله يبقى صفر مهما باقي الـ features قالت! الحل: نزوّد العدّ بقيمة صغيرة (غالبًا 1) — اسمه Laplace correction أو add-one smoothing، ومعظم الـ implementations بتدعمه.
| Outlook (10 obs) | Yes | No |
|---|---|---|
| Sunny | 1 | 3 |
| Overcast | 3 | 0 |
| Rainy | 2 | 1 |
| Total | 6 | 4 |
Test = Sunny (من غير Laplace)
Yes: 0.6 × 1/6 = 0.1 · No: 0.4 × 3/4 = 0.3 ← No بـ posterior 0.3/0.4 = 75%Test = Overcast (من غير Laplace)
Yes: 0.6 × 3/6 = 0.3 · No: 0.4 × 0/4 = 0 ← مشكلة الصفرOvercast + Laplace
Yes: (3+1)/(6+3) = 4/9 = 0.4444 ← 0.6 × 0.4444 = 0.2667No: (0+1)/(4+3) = 1/7 = 0.1429 ← 0.4 × 0.1429 = 0.0571
⇐ Yes بـ ≈ 82.35%
4) Feature Types
| النوع | مثال السلايد | Naive Bayes بيحسبه إزاي |
|---|---|---|
| Categorical | car models: Honda, Mazda, Volvo | عدّ: \(P(x|c)=n_{c,x}/n_c\) |
| Numerical – Discrete | number of children (countable) | نحسب mean و std لكل كلاس وبعدين Gaussian PDF |
| Numerical – Continuous | body weight 75.55 (measurable) |
5) Gaussian PDF للـ features الرقمية
مثال الأطوال (x = 180 cm)
| Class A | Class B | |
|---|---|---|
| Mean | 170 | 160 |
| σ | 10 | 5 |
| Exponent | −(10)²/(2·100) = −0.5 | −(20)²/(2·25) = −8 |
| f(180) | e^−0.5 / 25.066 ≈ 0.0242 | e^−8 / 12.533 ≈ 0.0000268 |
⇐ Class A لو الـ priors متساوية. لو الـ priors مختلفة: اضرب كل density في الـ prior بتاعه قبل المقارنة.
Weather بأرقام (Temp = 66, Humidity = 90)
Temp (Yes): m = 68.6, σ = 2.65 · (No): m = 74.6, σ = 7.06 · Humidity (Yes): m = 72, σ ≈ 5.1 · (No): m = 86.2, σ = 8.7
الـ categorical بالعدّ، والـ numerical بالـ Gaussian، وكله يتضرب. النتيجة هنا No بفرق كبير (Humidity 90 بعيدة جدًا عن متوسط الـ Yes = 72).
GaussianNB من scikit-learn.اختبر نفسك
كلمة "Naive" معناها إيه بالظبط؟
الافتراض إن الـ features مستقلة عن بعض بشرط الكلاس (conditional independence given the class) — افتراض "ساذج" لأنه نادرًا ما يبقى صح 100%.إيه اللي بيحصل من غير Laplace لو feature value ماظهرتش مع كلاس؟
الاحتمال = 0 فحاصل الضرب كله يبقى 0 للكلاس ده.Laplace لـ feature ليها 4 قيم، والقيمة ظهرت 2 من 10 مع الكلاس؟
(2+1)/(10+4) = 3/14.Feature رقمية في Naive Bayes بنعمل فيها إيه؟
نحسب mean و σ لكل كلاس، ونعوّض في Gaussian PDF ونستخدم الناتج مكان الاحتمال.Distance-Based PR: K-Nearest Neighbors
قولّي مين جيرانك أقولك إنت مين: احسب المسافة لكل نقطة تدريب، خد أقرب k، والأغلبية تكسب.
1) الفكرة
الـ pattern = feature vector \(\mathbf{x}=[x_1,\dots,x_n]\) (زهرة: petal length/width، sepal length/width). الداتا labeled: \(D=\{(\mathbf{x}_i,y_i)\}_{i=1}^N\).
الافتراض: العينات القريبة من بعض في الـ feature space غالبًا من نفس الكلاس. مسافة أصغر = proximity أكبر.
2) مقاييس المسافة
| المقياس | القانون / الفكرة | إمتى |
|---|---|---|
| Manhattan (L1) | \(\sum|x_i-z_i|\) | مجموع الفروق المطلقة |
| Minkowski | \(\left(\sum|x_i-z_i|^p\right)^{1/p}\) | تعميم: p = 1 Manhattan · p = 2 Euclidean |
| Hamming | عدد المواضع المختلفة | categorical / binary |
| Chebyshev (L∞) | \(\max_i |x_i-z_i|\) | أكبر فرق في بُعد واحد |
| Cosine distance | \(1-\cos\theta\) | الاتجاه مش الحجم (text) |
Euclidean نقطة بداية كويسة للـ numeric، بس مش دايمًا الأحسن — المقياس المناسب بيعتمد على شكل الداتا.
3) الـ Algorithm
مثال: k = 5 والجيران A, A, B, A, B ← A (3 أصوات). لو حصل tie في الأصوات ← محتاج tie-breaking rule (كل implementation ليها قاعدتها).
4) المثال المحلول — Q = (3, 2.5)
| Sample | X | Y | Class | Euclidean | الترتيب |
|---|---|---|---|---|---|
| B | 2 | 2 | Red | 1.118 | 1 (tie) |
| E | 4 | 2 | Blue | 1.118 | 1 (tie) |
| D | 3 | 1 | Blue | 1.500 | 3 |
| C | 4 | 4 | Red | 1.803 | 4 |
| F | 5 | 3 | Blue | 2.062 | 5 |
| A | 1 | 1 | Red | 2.500 | 6 |
k = 3
B (Red)، E (Blue)، D (Blue) ← Blue (2 ضد 1). الـ tie في المسافة بين B و E مش مشكلة لأن الاتنين داخلين.k = 5
B, E, D, C, F ← Blue 3 (E, D, F) ضد Red 2 (B, C) ← Bluek = 1
B و E الاتنين 1.118 ← tie ← النتيجة بتعتمد على قاعدة كسر التعادل.5) دور k
| Small k | Large k |
|---|---|
| حساس للـ noise · حدود متعرجة (irregular boundaries) · ممكن overfit | قرارات أنعم (smoother) · ممكن يتجاهل الـ local structure · ممكن underfit لو كبير أوي |
k صغير مش أحسن تلقائيًا، و k كبير مش أوحش تلقائيًا ← بنختاره بالـ validation.
6) ليه KNN اسمه Instance-Based؟
Instance-based
مفيش explicit model.Memory-based
كل نقط التدريب بتتخزن.Lazy
مفيش training phase غير التخزين.Local
القرار بيعتمد على الـ neighborhood بس.Non-parametric
مفيش عدد ثابت من الـ parameters.Training: خزّن الأمثلة وجهّز الـ preprocessing. Prediction: احسب المسافات، لاقي الجيران، قرر. ⇐ التدريب سهل لكن التوقع مكلف مع الداتا الكبيرة.
مكانه في PR: Supervised (labeled، non-parametric) + Instance-based (lazy، no explicit model) + Distance-based (similarity = proximity، local decision regions، محتاج metric space).
عيلة الـ distance-based
| Method | الفكرة | الدور |
|---|---|---|
| k-Nearest Neighbors | Classification & Regression | محور المحاضرة |
| Nearest Centroid / Prototype | Simple linear decision | Related baseline |
| Learning Vector Quantization | Prototype adaptation | Supervised compression |
| Distance-Weighted Classifiers | Soft voting by inverse distance | Extension of k-NN |
| Metric Learning | Learn the distance itself | Advanced topic |
7) Feature Scaling
Age (18–80) و Income (5,000–500,000): الـ income هيسيطر على الـ Euclidean distance لأن أرقامه أكبر. الحل Standardization:
8) Advantages vs Limitations
| Advantages ✅ | Limitations ❌ |
|---|---|
| بسيط وسهل التطبيق | التوقع بطيء مع الداتا الكبيرة |
| بيدعم multiclass | حساس للـ feature scales |
| افتراضات قليلة عن شكل الـ boundary | بيتأثر بالـ noisy / irrelevant features |
| مفيش iterative model-fitting | لازم يخزن الـ training data |
| baseline كويس | المسافة بتفقد معناها في high dimensions |
9) Evaluation Metrics
ماتقيمش بالـ accuracy لوحدها. في الـ multiclass: precision/recall/F1 بتتعمل one-vs-rest وبنعمل لها macro / micro / weighted averaging — ولازم نقول استخدمنا أنهي.
اختبر نفسك
ليه KNN بيبقى بطيء مع الداتا الكبيرة رغم إن التدريب سريع؟
لأن كل prediction ممكن تحتاج حساب المسافة لكل (أو معظم) نقط التدريب.Feature ليها range كبير جدًا هتعمل إيه في KNN؟
هتسيطر على المسافة ← لازم scaling/standardization.Manhattan بين (3, 2.5) و (1, 1)؟
|3−1| + |2.5−1| = 2 + 1.5 = 3.5ليه KNN ممكن يبوظ لو زودنا features مالهاش لازمة؟
لأنها بتدخل في حساب المسافة وتشوّشها، فالجيران "الأقرب" مابقوش فعلًا الأشبه.كل القوانين في صفحة واحدة
Lec 1 Sample size
Lec 3 Probability & Bayes
Lec 4 Naive Bayes
Lec 5 KNN & Metrics
أرقام لازم تبقى في دماغك
| Hold-out | ⅔ train / ⅓ test | Split مثال | 70 / 15 / 15 |
| Bootstrap unseen | ≈ 36.8% | Bootstrap repeats | ≈ 200 · ينفع لـ n < 30 |
| LOO | K = N | Z 95% / 99% | 1.96 / 2.576 |
| Digit image | 28×28 = 784 → 20 | Iris | 150 · 4 · 3 · 50 |
كلمة السر ← الإجابة
كل مفهوم ليه كلمة بتفضحه في السؤال. اقرا الكلمة وقول الإجابة قبل ما تقلب الكارت.
القايمة كاملة
المنهج كله في 3 ساعات
فيديو ← قراية مركّزة ← حلّ بإيدك ← MCQ. المسار بيتابعك لوحده: بيعرف شفت إيه وحلّيت كام، ومش بيعدّيك من كويز غير لما توصل 80%.
🧭 موقفك دلوقتي
الخطوات
المكتبة: فيديوهات، صوت، سلايدات، وكروت
اتفرج على فيديو المحاضرة الأول ← اقرا صفحتها هنا ← اتدرب. والصوت اسمعه في المواصلات.
بنك أسئلة MCQ
…