"..прийняття проблеми класифікації через регресію .." під "регресією" Я вважаю, що ви маєте на увазі лінійну регресію, і я порівняю цей підхід із "класифікаційним" підходом пристосування логістичної регресійної моделі.
Перш ніж ми це зробимо, важливо уточнити відмінність між регресійною та класифікаційною моделями. Регресійні моделі передбачають постійну змінну, наприклад, кількість опадів та інтенсивність сонячного світла. Вони також можуть передбачити ймовірності, такі як ймовірність того, що зображення містить кішку. Модель прогнозування ймовірності регресії може бути використана як частина класифікатора, наклавши правило рішення - наприклад, якщо ймовірність становить 50% або більше, вирішіть, що це кішка.
Логістична регресія прогнозує ймовірності, тому є алгоритмом регресії. Однак він зазвичай описується як метод класифікації в літературі машинного навчання, оскільки його можна (і часто) використовувати для виготовлення класифікаторів. Існують також "справжні" алгоритми класифікації, такі як SVM, які лише прогнозують результат і не передбачають ймовірності. Ми не будемо обговорювати такий алгоритм тут.
Лінійна проти логістичної регресії з питань класифікації
Як пояснює Ендрю Нг , за допомогою лінійної регресії ви підходите до полінома за допомогою даних - скажімо, як у наведеному нижче прикладі ми встановлюємо пряму лінію через набір зразків {розмір пухлини, тип пухлини} :
Вище злоякісні пухлини отримують а злоякісні - , а зелена лінія - наша гіпотеза . Для прогнозування можна сказати, що для будь-якого розміру пухлини , якщо стає більше ми прогнозуємо злоякісну пухлину, інакше ми прогнозуємо доброякісну.10h(x)xh(x)0.5
Схоже, таким чином ми могли б правильно передбачити кожен зразок навчального набору, але тепер трохи змінимо завдання.
Інтуїтивно зрозуміло, що всі пухлини, що перевищують певний поріг, є злоякісними. Тож давайте додамо ще один зразок з величезним розміром пухлини і знову запустімо лінійну регресію:
Тепер наш більше не працює. Щоб продовжувати робити правильні прогнози, нам потрібно змінити його на або щось інше - але це не так, як алгоритм повинен працювати.h(x)>0.5→malignanth(x)>0.2
Ми не можемо змінювати гіпотезу щоразу, коли надходить новий зразок. Натомість нам слід вивчити це з даних навчального набору, а потім (використовуючи вивчену гіпотезу) зробити правильні прогнози для даних, яких ми раніше не бачили.
Сподіваюсь, це пояснює, чому лінійна регресія не найкраще підходить для проблем класифікації! Крім того, ви можете подивитися VI. Логістична регресія. Відео про класифікацію на ml-class.org, що пояснює ідею більш докладно.
EDIT
ймовірністьлогічний запитав, що робитиме хороший класифікатор. У цьому конкретному прикладі ви, ймовірно, використовуватимете логістичну регресію, яка могла б навчитися такої гіпотези (я це лише складаю):
Зауважте, що і лінійна регресія, і логістична регресія дають вам пряму (або поліном вищого порядку), але ці лінії мають різний зміст:
- h(x) для лінійних регресійних інтерполятів або екстраполятів, вихід і прогнозує значення для ми не бачили. Це просто як підключення нового та отримання необмеженої кількості, і більше підходить для таких завдань, як прогнозування, скажімо, ціна автомобіля на основі {розмір машини, вік автомобіля} тощо.xx
- h(x) для логістичної регресії говорить вам про ймовірність того, що належить до "позитивного" класу. Ось чому його називають алгоритмом регресії - він оцінює безперервну величину, ймовірність. Однак якщо встановити поріг ймовірності, такий як , ви отримаєте класифікатор, і в багатьох випадках це робиться з результатом з логістичної регресійної моделі. Це еквівалентно розміщенню рядка на графіку: всі точки, що сидять над лінією класифікатора, належать до одного класу, тоді як точки нижче належать іншому класу.x h ( x ) > 0,5xh(x)>0.5
Отже, суть полягає в тому, що в сценарії класифікації ми використовуємо зовсім інші міркування та зовсім інший алгоритм, ніж у регресійному сценарії.