2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Два вопроса по методам Машинного Обучения
Сообщение07.09.2017, 23:51 
Аватара пользователя


17/10/13
790
Деревня
1. Мне недавно сказали, что все классификаторы выдают вероятность. Я не очень понимаю, каким образом вероятность выдает линейный классификатор или SVM? Там же либо $-1$, либо $+1$
2. Как можно решить задачу регрессии? Пока что я знаю как решать задачу с помощью линейной регрессии, также знаю, что можно решать задачу регрессии при помощи других классификаторов: KNN, наивный Байес, решающие деревья, Random Forest, Градиентный бустинг, логистическая регрессия, SVM. Пока что для меня перечисленные методы - это методы для решения задачи классификации, могли бы подсказать как с их помощью решать именно регрессионную задачу?

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 01:16 
Заслуженный участник
Аватара пользователя


16/07/14
8347
Цюрих
1. Вас обманули - вполне можно сделать классификатор, который выдает класс (берем классификатор, который выдает вероятность, и округляем).
Скорее всего тут имелось в виду, что при обучении выход классификатора интерпретируется как вероятность, и в каком-то смысле оптимизируется генерируемое им распределение.
Та же самая логистическая регрессия в бинарной классификации выдает число от $0$ до $1$, и его можно считать вероятностью того, что объект попал в класс.
2. Огромное количество разных методов. Тот же KNN: мы берем значение соседей и предсказываем значение, являющееся как-то взвешенным их средним. В деревьях мы просто в листе пишем не класс, а значение. И т.д.

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 02:15 


07/10/15

2400
1. Чаще всего может выдавать. Там просто на выходе нелинейная функция активация (в логистической регрессии - это сигмоид). Но это не вероятность в полном смысле этого слова. Лучше называть её надёжностью классификации. В SVM есть такое понятие как отступ, который тоже можно интерпретировать как вероятность.
2. Всё что Вы перечислили предназначено для решения задачи классификации. Посмотрите лучше классическую МНК - регрессию. Этот метод очень хорошо разработан. Есть множество модификаций для частных случаев.

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 07:57 
Аватара пользователя


17/10/13
790
Деревня
1. То есть берется новый объект, считается его отступ до классов и берется argmin?
2. Окей, про KNN и деревья понял. А как, например, делать прогноз в наивном Байесе и логистической регрессии? Спрашиваю потому, что обе эти модели выдают число из $[0;1]$(которое можно интерпретировать как вероятность), так что не очень понимаю как можно предсказать вещественное число... Разве что как-то отразить $[0;1]$ в $[a;b]$ ? Напрмер, домножить на $b-a$ и прибавить $a$?

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 12:41 


09/03/17
41
MestnyBomzh в сообщении #1246053 писал(а):
1. То есть берется новый объект, считается его отступ до классов и берется argmin?
2. Окей, про KNN и деревья понял. А как, например, делать прогноз в наивном Байесе и логистической регрессии? Спрашиваю потому, что обе эти модели выдают число из $[0;1]$(которое можно интерпретировать как вероятность), так что не очень понимаю как можно предсказать вещественное число... Разве что как-то отразить $[0;1]$ в $[a;b]$ ? Напрмер, домножить на $b-a$ и прибавить $a$?


вот тут с картинками для наглядности.

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 16:05 
Заслуженный участник
Аватара пользователя


16/07/14
8347
Цюрих
MestnyBomzh в сообщении #1246053 писал(а):
1. То есть берется новый объект, считается его отступ до классов и берется argmin?
Если вам нужен конкретный класс - то да. Вообще, почти все классификаторы внутри считают для каждого класса какое-то число, означающее "похожесть" на этот класс. Если на выходе нужен конкретный класс (а не веса) - то берется класс с максимальной похожестью.

Для задачи классификации и регрессии берутся разные модели (хотя иногда и похожие), и они учатся по-разному. Если у вас модель всегда выдает число от 0 до 1 то непосредственно к задаче регрессии вы ее не приспособите.
MestnyBomzh в сообщении #1246053 писал(а):
А как, например, делать прогноз в наивном Байесе
Не знаю, обычно его для регрессии не используют. Поиск выдает несколько статей (которые я правда не читал, поэтому про осмысленность сказать ничего не могу).
MestnyBomzh в сообщении #1246053 писал(а):
и логистической регрессии?
Логистическая регрессия, хотя и называется регрессией, решает задачу классификации. Есть очень похожая на нее модель - линейная регрессиия - которая как раз решает задачу регрессии.
MestnyBomzh в сообщении #1246053 писал(а):
Разве что как-то отразить $[0;1]$ в $[a;b]$ ? Напрмер, домножить на $b-a$ и прибавить $a$?
Поздравляю, вы почти изобрели нейронные сети:)

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 18:16 
Аватара пользователя


17/10/13
790
Деревня
mihaild в сообщении #1246173 писал(а):
Поздравляю, вы почти изобрели нейронные сети:)

Ну вот как раз к нейронкам вопросов не имею :)

Окей, подводя итог верно ли я понимаю, что задачу регрессии можно решить при помощи:
-линейной регрессии
-KNN
-решающие деревья
-Random forest
-Градиентный бустинг (ну и, вообще, бустинг)
-SVM
?

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 18:24 
Заслуженный участник
Аватара пользователя


16/07/14
8347
Цюрих
Задачу регрессии можно решать с помощью целой кучи всего. Изучать существующие методы может быть хорошей идеей, а вот пытаться выписать всё существующее - нет.

Т.е. да, с использованием указанных вами методов задачу регрессии решать можно. Как и с помощью многих других.

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 20:23 
Аватара пользователя


17/10/13
790
Деревня
самые распространенные методы какие-нибудь еще посоветуете?

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 20:42 
Заслуженный участник
Аватара пользователя


16/07/14
8347
Цюрих
Это большая и сложная область, дать нетривиальные универсальные советы тут нельзя.
(минутка рекламы: позавчера как раз стартовал очередной курс open data science)

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение08.09.2017, 22:03 
Аватара пользователя


17/10/13
790
Деревня
На Курсере?

 Профиль  
                  
 
 Re: Два вопроса по методам Машинного Обучения
Сообщение09.09.2017, 13:35 


07/03/11
690
1. Не все. Например, логистическая регрессия выдает вероятность -- на вики написано, что эту модель можно рассматривать, как распределение Бернулли (более подробно см. Bishop "Pattern recognition and machine learning", глава 4, если правильно помню). SVM -- это тоже линейный классификатор, но он относится к дискриминантным методам (discriminant), в отличие от структурных (generative). Он действительно не выдает вероятность. Есть "трюк", называется Platt's scaling для вероятностей в SVM, но это не те вероятности.
2. Большинство перечисленных методов являются "фреймворками". Не очевидно, как с помощью этих методов решать задачи регрессии, но иногда удается их адаптировать. Про kNN уже привели пример, про SVM можно почитать Bishop, глава Kernel Methods. Самая простая модель для регрессии -- линейная регрессия. При достаточном "мастерстве" при помощи нее можно решить практически любую задачу. Все остальные методы нужны лишь для "менее опытных".

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group