Чи є КНН дискримінаційним алгоритмом навчання?


17

Здається, що KNN - це дискримінаційний алгоритм навчання, але я не можу знайти Інтернет-джерел, які це підтверджували.

Чи є КНН дискримінаційним алгоритмом навчання?

Відповіді:


19

KNN - дискримінаційний алгоритм, оскільки моделює умовну ймовірність вибірки, що належить даному класу. Щоб побачити це, просто розгляньте, як можна дістатись до правила прийняття рішень kNN.

Мітка класу відповідає безлічі точок, що належать деякій області в просторі ознак . Якщо ви намалюєте вибіркові точки з фактичного розподілу ймовірностей, p ( x ) , незалежно, то ймовірність малювання вибірки з цього класу дорівнює, P = R p ( x ) d xRp(x)

P=Rp(x)dх

Що робити, якщо у вас балів? Ймовірність того, що K точки цих N точок потрапляють в область R, слід біноміального розподілу, P r o b ( K ) = ( NNKNR

Prob(K)=(NK)PK(1P)NK

Оскільки це розподіл різко досягає максимальної величини, так що ймовірність може бути наближена до його середнього значення KN . Додатковим наближенням є те, що розподіл ймовірностей поRзалишається приблизно постійним, так що можна наблизити інтеграл по P=Rp(x)dxp(x)V, деV- загальний об'єм області. При цьому наближенняp(x)KKNR

P=Rp(x)dxp(x)V
V .p(x)KNV

Тепер, якби у нас було кілька класів, ми могли б повторити один і той же аналіз для кожного, який дав би нам деKk- кількість балів від класуk,що потрапляє в цей регіон, аNk- загальна кількість балів, що належать до класуCk. ПриміткаΣдоNдо=N.

p(x|Ck)=KkNkV
KkkNkCkkNk=N

Повторивши аналіз з біноміальним розподілом, легко побачити, що ми можемо оцінити попередній .P(Ck)=NkN

P(Ck|x)=p(x|Ck)p(Ck)p(x)=KkK

2
Довідка не включає будь-яку інформацію про KNN. Це правильний?
bayerj

1
Я мав на увазі це, щоб визначити те, що розуміється під дискримінаційним алгоритмом проти генеративом.
jpmuc

5

Відповідь @jpmuc здається не точною. Генеративні моделі моделюють базовий розподіл P (x / Ci), а потім використовують теорему Байєса для пошуку задніх ймовірностей. Саме це було показано у цій відповіді, а потім робиться висновок про зовсім протилежне. : О

Щоб KNN була генеративною моделлю, ми повинні мати можливість генерувати синтетичні дані. Здається, що це можливо, коли ми маємо деякі дані початкової підготовки. Але починати від відсутність даних про навчання та генерувати синтетичні дані неможливо. Тож KNN не чудово поєднується з генеративними моделями.

Можна стверджувати, що KNN є дискримінаційною моделлю, оскільки ми можемо провести дискримінаційну межу для класифікації, або ми можемо обчислити задній P (Ci / x). Але все це вірно і у випадку генеративних моделей. Справжня дискримінаційна модель нічого не говорить про основний розподіл. Але у випадку з KNN ми знаємо дуже багато про основний розподіл, за фактом ми зберігаємо весь навчальний набір.

Тому, схоже, KNN знаходиться на шляху між генеративними та дискримінаційними моделями. Можливо, саме тому KNN не класифікується за жодною із генеративних чи дискримінаційних моделей у відомих статтях. Назвемо їх просто непараметричними моделями.


Я не згоден. "Генеративні класифікатори вивчають модель спільної ймовірності, p (x, y), входів x і мітки y, і роблять свої прогнози, використовуючи правила Байєса для обчислення p (ilx), а потім вибираючи найбільш ймовірну мітку y . Дискримінаційні класифікатори безпосередньо моделюють задній p (ilx) або вивчають пряму карту з входів x до міток класу ". Див. "Про дискримінаційні та генеративні класифікатори: порівняння логістичної регресії та наївного Байєса"
jpmuc


1

Я згоден, що kNN є дискримінаційним. Причина полягає в тому, що вона явно не зберігає і не намагається вивчити (ймовірнісну) модель, яка пояснює дані (на відміну від, наприклад, Naive Bayes).

Відповідь juampa мене бентежить, оскільки, наскільки я розумію, генеративний класифікатор - це той, який намагається пояснити, як генеруються дані (наприклад, використовуючи модель), і ця відповідь говорить про те, що це дискримінація через цю причину ...


1
Генеративна модель вивчає P (Ck, X), тому ви можете генерувати більше даних, використовуючи спільний розподіл. На відміну від цього, дискримінаційна модель вивчить P (Ck | X). На це вказує @juampa з KNN.
Жубарб

1
Під час класифікації і генеративні, і дискримінаційні закінчуються з використанням умовних ймовірностей для прогнозування. Однак генеративні класифікатори вивчають спільну ймовірність і за правилом Байєса він обчислює умовну, тоді як у дискримінаційному класифікаторі або обчислює безпосередньо умовне, або забезпечує наближення до того самого доброго, наскільки воно може отримати.
rapaio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.