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
9144
Цюрих
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
9144
Цюрих
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
9144
Цюрих
Задачу регрессии можно решать с помощью целой кучи всего. Изучать существующие методы может быть хорошей идеей, а вот пытаться выписать всё существующее - нет.

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

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


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

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


16/07/14
9144
Цюрих
Это большая и сложная область, дать нетривиальные универсальные советы тут нельзя.
(минутка рекламы: позавчера как раз стартовал очередной курс 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, Супермодераторы



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

Сейчас этот форум просматривают: Mihaylo


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

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