Відповіді:
KNN - дискримінаційний алгоритм, оскільки моделює умовну ймовірність вибірки, що належить даному класу. Щоб побачити це, просто розгляньте, як можна дістатись до правила прийняття рішень kNN.
Мітка класу відповідає безлічі точок, що належать деякій області в просторі ознак . Якщо ви намалюєте вибіркові точки з фактичного розподілу ймовірностей, p ( x ) , незалежно, то ймовірність малювання вибірки з цього класу дорівнює, P = ∫ R p ( x ) d x
Що робити, якщо у вас балів? Ймовірність того, що K точки цих N точок потрапляють в область R, слід біноміального розподілу, P r o b ( K ) = ( N
Оскільки це розподіл різко досягає максимальної величини, так що ймовірність може бути наближена до його середнього значення K . Додатковим наближенням є те, що розподіл ймовірностей поRзалишається приблизно постійним, так що можна наблизити інтеграл по P=∫Rp(x)dx≈p(x)V, деV- загальний об'єм області. При цьому наближенняp(x)≈K
Тепер, якби у нас було кілька класів, ми могли б повторити один і той же аналіз для кожного, який дав би нам деKk- кількість балів від класуk,що потрапляє в цей регіон, аNk- загальна кількість балів, що належать до класуCk. ПриміткаΣдоNдо=N.
Повторивши аналіз з біноміальним розподілом, легко побачити, що ми можемо оцінити попередній .
Відповідь @jpmuc здається не точною. Генеративні моделі моделюють базовий розподіл P (x / Ci), а потім використовують теорему Байєса для пошуку задніх ймовірностей. Саме це було показано у цій відповіді, а потім робиться висновок про зовсім протилежне. : О
Щоб KNN була генеративною моделлю, ми повинні мати можливість генерувати синтетичні дані. Здається, що це можливо, коли ми маємо деякі дані початкової підготовки. Але починати від відсутність даних про навчання та генерувати синтетичні дані неможливо. Тож KNN не чудово поєднується з генеративними моделями.
Можна стверджувати, що KNN є дискримінаційною моделлю, оскільки ми можемо провести дискримінаційну межу для класифікації, або ми можемо обчислити задній P (Ci / x). Але все це вірно і у випадку генеративних моделей. Справжня дискримінаційна модель нічого не говорить про основний розподіл. Але у випадку з KNN ми знаємо дуже багато про основний розподіл, за фактом ми зберігаємо весь навчальний набір.
Тому, схоже, KNN знаходиться на шляху між генеративними та дискримінаційними моделями. Можливо, саме тому KNN не класифікується за жодною із генеративних чи дискримінаційних моделей у відомих статтях. Назвемо їх просто непараметричними моделями.
Я прийти через книгу , яка говорить зворотна ( тобто Generative Непараметрична Класифікація модель)
Це посилання в Інтернеті: Машинне навчання імовірнісної перспективи від Мерфі, Кевін П. (2012)
Я згоден, що kNN є дискримінаційним. Причина полягає в тому, що вона явно не зберігає і не намагається вивчити (ймовірнісну) модель, яка пояснює дані (на відміну від, наприклад, Naive Bayes).
Відповідь juampa мене бентежить, оскільки, наскільки я розумію, генеративний класифікатор - це той, який намагається пояснити, як генеруються дані (наприклад, використовуючи модель), і ця відповідь говорить про те, що це дискримінація через цю причину ...