Raw

3. Аудиторні задачі з розв’язаннями

Ці задачі розбирають в аудиторії «руками». Вони показують ті самі обчислення, які потім автоматизує домашня програма (4task.md). Теорія й формули — у методичних вказівках. Усі задачі спираються на навчальну вибірку «Спортивний канал» (55 «Так» ={1,5,6,7,8}= \{1,5,6,7,8\}, 55 «Ні» ={2,3,4,9,10}= \{2,3,4,9,10\}):

Стать Дохід Студент? Спортивний канал?
1 Ч Високий Так Так
2 Ж Середній Ні Ні
3 Ч Низький Так Ні
4 Ж Низький Ні Ні
5 Ч Середній Ні Так
6 Ж Високий Ні Так
7 Ж Середній Так Так
8 Ч Середній Так Так
9 Ж Низький Так Ні
10 Ж Середній Ні Ні

Апріорні ймовірності — P(Так)=P(Ні)=0.5P(\text{Так}) = P(\text{Ні}) = 0.5. Умовні ймовірності (частоти без згладжування):

Ознака =v= v P(vТак)P(v \mid \text{Так}) P(vНі)P(v \mid \text{Ні})
Стать == Ч 3/5=0.63/5 = 0.6 1/5=0.21/5 = 0.2
Стать == Ж 2/5=0.42/5 = 0.4 4/5=0.84/5 = 0.8
Дохід == Високий 2/5=0.42/5 = 0.4 0/5=0.00/5 = 0.0
Дохід == Середній 3/5=0.63/5 = 0.6 2/5=0.42/5 = 0.4
Дохід == Низький 0/5=0.00/5 = 0.0 3/5=0.63/5 = 0.6
Студент? == Так 3/5=0.63/5 = 0.6 2/5=0.42/5 = 0.4
Студент? == Ні 2/5=0.42/5 = 0.4 3/5=0.63/5 = 0.6

Задача 1. Класифікація «руками»

Дано об’єкти 88 — (Ч, Середній, студент Так) та 55 — (Ч, Середній, студент Ні). Знайти апостеріорну ймовірність P(Такx)P(\text{Так} \mid x) і прогнозований клас для кожного.

Розв’язання. Для кожного класу перемножуємо апріорну ймовірність на три умовні (за таблицею вище), потім нормуємо.

Об’єкт 8 (Ч, Середній, Так):

score(Так)=P(Так)P(ЧТак)P(СереднійТак)P(ТакТак)=0.50.60.60.6=0.108,\text{score}(\text{Так}) = P(\text{Так})\,P(\text{Ч} \mid \text{Так})\,P(\text{Середній} \mid \text{Так})\,P(\text{Так} \mid \text{Так}) = 0.5 \cdot 0.6 \cdot 0.6 \cdot 0.6 = 0.108,

score(Ні)=0.50.20.40.4=0.016.\text{score}(\text{Ні}) = 0.5 \cdot 0.2 \cdot 0.4 \cdot 0.4 = 0.016.

P(Такx8)=0.1080.108+0.016=0.1080.124=27310.871.P(\text{Так} \mid x_8) = \frac{0.108}{0.108 + 0.016} = \frac{0.108}{0.124} = \frac{27}{31} \approx 0.871.

Оскільки 0.871>0.50.871 > 0.5прогноз «Так» (справжній клас «Так» ✓).

Об’єкт 5 (Ч, Середній, Ні):

score(Так)=0.50.60.60.4=0.072,score(Ні)=0.50.20.40.6=0.024. \text{score}(\text{Так}) = 0.5 \cdot 0.6 \cdot 0.6 \cdot 0.4 = 0.072, \qquad \text{score}(\text{Ні}) = 0.5 \cdot 0.2 \cdot 0.4 \cdot 0.6 = 0.024.

P(Такx5)=0.0720.072+0.024=0.0720.096=34=0.750.P(\text{Так} \mid x_5) = \frac{0.072}{0.072 + 0.024} = \frac{0.072}{0.096} = \frac{3}{4} = 0.750.

Прогноз «Так» (справжній клас «Так» ✓). Різниця ймовірностей (0.8710.871 проти 0.7500.750) показує, що об’єкт 88 — «упевненіший» підписник, ніж об’єкт 55: обидва чоловіки із середнім доходом, але статус студента (об’єкт 88) додатково схиляє до «Так».

Відповідь: P(Такx8)0.871P(\text{Так} \mid x_8) \approx 0.871 (Так); P(Такx5)=0.750P(\text{Так} \mid x_5) = 0.750 (Так).

Оцінки score(Так) проти score(Ні) для об'єктів 8 та 5 вибірки «Спортивний канал».

Задача 2. Нульова ймовірність і згладжування Лапласа

Дано об’єкт 33 — (Ч, Низький, студент Так). Показати, що без згладжування наївний Байєс дає вироджену оцінку, і виправити її згладжуванням Лапласа. Порівняти з тим, як цей об’єкт класифікує дерево ID3.

Розв’язання. Крок 1 — без згладжування. Стать «Ч» (0.60.6 на користь «Так») і статус студента (0.60.6 на користь «Так») схиляють до підписки, проте в таблиці P(НизькийТак)=0P(\text{Низький} \mid \text{Так}) = 0:

score(Так)=0.50.60.0НизькийТак0.6=0,score(Ні)=0.50.20.60.4=0.024. \text{score}(\text{Так}) = 0.5 \cdot 0.6 \cdot \underbrace{0.0}_{\text{Низький}\mid\text{Так}} \cdot 0.6 = 0, \qquad \text{score}(\text{Ні}) = 0.5 \cdot 0.2 \cdot 0.6 \cdot 0.4 = 0.024.

P(Такx3)=00+0.024=0.000.P(\text{Так} \mid x_3) = \frac{0}{0 + 0.024} = 0.000.

Єдиний нуль занулив увесь клас «Так»: модель категорично відкидає підписку, хоча дві з трьох ознак свідчать на її користь. Це проблема нульової ймовірності.

Крок 2 — згладжування Лапласа. Ознаки мають mСтать=2m_{\text{Стать}} = 2, mДохід=3m_{\text{Дохід}} = 3, mСтудент=2m_{\text{Студент}} = 2 значень; NТак=NНі=5N_{\text{Так}} = N_{\text{Ні}} = 5. Перерахуємо потрібні умовні ймовірності за формулою count+1NC+mj\dfrac{\text{count} + 1}{N_C + m_j}:

P(ЧТак)=3+15+2=47,P(НизькийТак)=0+15+3=18,P(ТакТак)=3+15+2=47; P(\text{Ч} \mid \text{Так}) = \tfrac{3+1}{5+2} = \tfrac{4}{7}, \quad P(\text{Низький} \mid \text{Так}) = \tfrac{0+1}{5+3} = \tfrac{1}{8}, \quad P(\text{Так} \mid \text{Так}) = \tfrac{3+1}{5+2} = \tfrac{4}{7};

P(ЧНі)=1+15+2=27,P(НизькийНі)=3+15+3=12,P(ТакНі)=2+15+2=37. P(\text{Ч} \mid \text{Ні}) = \tfrac{1+1}{5+2} = \tfrac{2}{7}, \quad P(\text{Низький} \mid \text{Ні}) = \tfrac{3+1}{5+3} = \tfrac{1}{2}, \quad P(\text{Так} \mid \text{Ні}) = \tfrac{2+1}{5+2} = \tfrac{3}{7}.

Тепер оцінки класів:

score(Так)=0.5471847=1490.0204,score(Ні)=0.5271237=3980.0306. \text{score}(\text{Так}) = 0.5 \cdot \tfrac{4}{7} \cdot \tfrac{1}{8} \cdot \tfrac{4}{7} = \tfrac{1}{49} \approx 0.0204, \qquad \text{score}(\text{Ні}) = 0.5 \cdot \tfrac{2}{7} \cdot \tfrac{1}{2} \cdot \tfrac{3}{7} = \tfrac{3}{98} \approx 0.0306.

P(Такx3)=1/491/49+3/98=2/982/98+3/98=25=0.400.P(\text{Так} \mid x_3) = \frac{1/49}{1/49 + 3/98} = \frac{2/98}{2/98 + 3/98} = \frac{2}{5} = 0.400.

Нуль зник: тепер P(Такx3)=0.400P(\text{Так} \mid x_3) = 0.400, P(Ніx3)=0.600P(\text{Ні} \mid x_3) = 0.600. Прогноз лишився «Ні» (справжній клас «Ні» ✓), але замість фальшивої абсолютної певності модель дає чесну помірну перевагу.

Об'єкт 3: без згладжування P(Так) вироджено дорівнює 0.000, а зі згладжуванням Лапласа стає 0.400.

Крок 3 — порівняння з ID3. Дерево ID3 з Лекції 7 класифікує об’єкт за коренем «Дохід»: значення Низький одразу веде в лист «Ні» (усі три низькодохідні об’єкти вибірки — непідписники), тож дерево дає «Ні» однозначно, не заглядаючи в інші ознаки. Наївний Байєс приходить до того самого класу «Ні», але «по-своєму»: перемноживши ймовірності всіх ознак і залишивши ненульову ймовірність 0.4000.400 для «Так». Отже, обидва методи згодні щодо класу, проте наївний Байєс додатково показує, наскільки рішення неоднозначне.

Відповідь: без згладжування P(Такx3)=0.000P(\text{Так} \mid x_3) = 0.000 (вироджено); зі згладжуванням Лапласа P(Такx3)=0.400P(\text{Так} \mid x_3) = 0.400, прогноз «Ні» — як і в дерева ID3.

Задача 3. Порівняння наївного Байєса з деревом ID3

Дано прогнози наївного Байєса (без згладжування; апостеріорні ймовірності обчислено як у Задачі 1 для всіх 1010 об’єктів) і дерева ID3 з Прикладу 7.3. Порівняти методи за точністю та матрицею невідповідності.

Нагадаємо дерево ID3:

Дохід?
├── Високий  -> Так
├── Низький  -> Ні
└── Середній -> Стать?
                ├── Ч -> Так
                └── Ж -> Студент?
                         ├── Так -> Так
                         └── Ні  -> Ні

Розв’язання. Зведемо в таблицю справжній клас, прогноз ID3, прогноз наївного Байєса та його апостеріорну ймовірність:

Справжній Прогноз ID3 Прогноз НБ P(Такx)P(\text{Так} \mid x)
1 Так Так Так 1.0001.000
2 Ні Ні Ні 0.3330.333
3 Ні Ні Ні 0.0000.000
4 Ні Ні Ні 0.0000.000
5 Так Так Так 0.7500.750
6 Так Так Так 1.0001.000
7 Так Так Так 0.5290.529
8 Так Так Так 0.8710.871
9 Ні Ні Ні 0.0000.000
10 Ні Ні Ні 0.3330.333

Точність. Обидва методи правильно класифікують усі 1010 об’єктів:

ACCID3=1010=100%,ACCНБ=1010=100%.\text{ACC}_{\text{ID3}} = \frac{10}{10} = 100\,\%, \qquad \text{ACC}_{\text{НБ}} = \frac{10}{10} = 100\,\%.

Матриця невідповідності (рядки — прогноз наївного Байєса, стовпці — прогноз ID3) показує, на скількох об’єктах методи дали однаковий/різний клас:

ID3: Так ID3: Ні
НБ: Так 5 0
НБ: Ні 0 5

Уся «маса» на головній діагоналі — методи збіглися на всіх 1010 об’єктах (нульова невідповідність). Це очікувано: на цій маленькій, «чистій» вибірці обидва підходи легко відновлюють закономірність (дохід — головний розрізняльник).

Що дає наївний Байєс додатково. Дерево ID3 повертає лише ярлик, тож рядки 77 (P=0.529P = 0.529) і 66 (P=1.000P = 1.000) для нього нерозрізненні — обидва «Так». Наївний Байєс показує, що об’єкт 77граничний (упевненість ледь за 50%50\,\%), а об’єкт 66безсумнівний. Саме ця градація впевненості — головна перевага ймовірнісного класифікатора, і саме її ви виводитимете на середньому рівні домашнього завдання (4task.md).

Відповідь: обидва методи дають 100%100\,\% точності й повний збіг прогнозів (матриця невідповідності діагональна); наївний Байєс додатково оцінює впевненість кожного прогнозу.

Зв’язок із домашнім завданням. Саме ці кроки — оцінити ймовірності частотами, обчислити апостеріорні ймовірності, за потреби згладити нулі та порівняти прогнози з деревом ID3 — виконуватиме ваша програма для довільної вибірки CSV (4task.md). Ці 1010 об’єктів — зручний тест: подайте вибірку «Спортивний канал» на вхід і переконайтесь, що програма відтворює стовпець P(Такx)P(\text{Так} \mid x) з таблиці Задачі 3.

Laboratory/Laboratory8/3classroom.md · 12.7 KB · updated 2026-08-05 09:43