2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Логистическая функция потерь
Сообщение08.01.2022, 19:17 


15/04/20
201
Помогите распутать мысли про логистическую регрессию. Смотрю один небезызвестный онлайн-курс по машинному обучению, вот что говорят авторы:

Можно показать, что оптимальным ответом линейной регрессии будет $E(Y|X)$ (при минимизации MSE или, что эквивалентно, максимизации правдоподобия выборки в предположении, что остатки распределены нормально), где $Y$ - целевая переменная, $X$ - объясняющие факторы.

Теперь, если мы решаем задачу классификации с классами $0$ и $1$, то оказывается, что $E(Y|X) = 1 \cdot P(Y=1|X) + 0 \cdot P(Y=0|X) = P(Y=1|X)$, поэтому есть надежда, что обычная линейная регрессия $\left\langle w, x \right\rangle$ может решить задачу бинарной классификации путём предсказания вероятности принадлежности объекта классу $1$, единственное - надо от ответа модели взять сигмоиду, чтобы отобразить ответы из $\mathbb{R}$ в $[0,1]$(т.е. фактически приближать линейной моделью не $E(Y|X)$, а $\sigma^{-1}(E(Y|X))$).

Пусть есть выборка $(x_i, y_i), i=1,\dots, l$, где $y_i \in \left\lbrace 0,1 \right\rbrace$,
Положим $\pi(x) = \sigma(\left\langle w, x\right\rangle)$;

Запишем правдоподобие выборки:
$L(X)=\prod\limits_{i \colon y_i = 1}\pi(x_i)\prod\limits_{i \colon y_i = 0}(1 - \pi(x_i))$

Тогда
$\ln L(X) = \sum\limits_{i=1}^{l}\ln(\pi(x_i)^{y_i}(1 - \pi(x_i))^{1 - y_i})= \\
= \sum\limits_{i=1}^{l}(y_i \ln \pi(x_i) + (1 - y_i)\ln (1 - \pi(x_i)))$

И, если поставить перед этим выражением минус, получим кросс-энтропию (log-loss).

Дальше авторы говорят следующее:

Пусть теперь $y_i \in \left\lbrace -1, 1 \right\rbrace$. Тогда путём несложных преобразований получим
$-\ln L(X) = \sum\limits_{i=1}^{l}\ln(1 + \exp(-y_i\left\langle w, x_i \right\rangle))$.
И можно настраивать модель, минимизируя этот функционал.

И здесь у меня возникает вопрос: законно ли такое переобозначение меток классов?
Ведь когда было $y_i \in \left\lbrace 0,1 \right\rbrace$, то красиво получалось, что $E(Y|X)$, которое приближает линейная регрессия, равняется $P(Y=1|X)$, и на этом факте была построена модель логистической регрессии, а теперь $E(Y|X)=P(Y=1|X) - P(Y=-1|X)$.
Будет ли ответ модели, настроенной путём минимизации последнего функционала, всё так же равняться $P(Y=1|X)$?

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение08.01.2022, 23:57 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
Тут не очень аккуратно написано. Мы (видимо) выводили модель для меток $y_i \in \{0, 1\}$. Но теперь введем новые метки $y'_i = 2 y_i - 1$, и заметим, что через них функция потерь выражается гораздо проще.

Впрочем в любом случае логистическая регрессия по-хорошему должна выводиться из предположения что ошибки распределены логистически, иначе непонятно, почему брать сигмоиду а не любую другую возрастающую биекцию $\mathbb R \to (0, 1)$. И там метки классов уже никак использоваться не будут.

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 00:18 


15/04/20
201
mihaild в сообщении #1545561 писал(а):
Тут не очень аккуратно написано. Мы (видимо) выводили модель для меток $y_i \in \{0, 1\}$. Но теперь введем новые метки $y'_i = 2 y_i - 1$, и заметим, что через них функция потерь выражается гораздо проще.
А почему это не ломает рассуждения про $E(Y|X) = P(Y=1|X)$? Кажется, что $E(Y'|X) = 2 \cdot P(Y=1|X) - 1$, и модель будем настраивать именно на метки $y'$, если хотим использовать "более удобную" функцию потерь.

mihaild в сообщении #1545561 писал(а):
Впрочем в любом случае логистическая регрессия по-хорошему должна выводиться из предположения что ошибки распределены логистически, иначе непонятно, почему брать сигмоиду а не любую другую возрастающую биекцию $\mathbb R \to (0, 1)$. И там метки классов уже никак использоваться не будут.
И тогда оптимальным ответом алгоритма всё так же будет $P(Y=1|X)$? Не подскажете, где можно почитать/посмотреть подробнее про это?

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 01:14 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
VoprosT в сообщении #1545564 писал(а):
и модель будем настраивать именно на метки $y'$, если хотим использовать "более удобную" функцию потерь
От того, что мы переписали функцию потерь в других переменных, ничего не поменялось - модель обучится ровно такая же.
Ну и естественно предсказывать она будет $y$, а не $y'$, хотя бы потому что она отрицательные числа не выдает:)
VoprosT в сообщении #1545564 писал(а):
Не подскажете, где можно почитать/посмотреть подробнее про это?
У Воронцова показано, откуда берется сигмоида (даже в более общем предположении чем я написал).

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 10:37 
Заслуженный участник
Аватара пользователя


11/03/08
9906
Москва
Давайте разделим вопрос на два подвопроса. О линейном преобразовании меток и о вероятностной трактовке результатов.
Первое - банальный вычислительный приём. Ничего по сути не меняющий, но несколько упрощающий выкладки. Вероятностный смысл для преобразованных данных отваливается, но легко возвращается обратным преобразованием.
Вероятностная трактовка требует задания вида распределения. И более естественным выглядит нормальное распределение и пробит-регрессия. Но логистическое распределение проще оценивается. Исторически первым был предложен пробит-анализ (1934), логит-анализ появился позже, в 1943 (сама по себе логистическая функция изучалась с 20х годов XIX века, но как "закон развития", в порядке возражения Мальтусу). Логит-анализ можно рассматривать, как замену в пробит-анализе нормального распределения на логистическое, с которым проще работать (в частности, есть простое выражение для функции распределения). А то, что оно при внешней схожести с колоколообразной формой нормального и при симметричности, как и нормальное, имеет "тяжёлые хвосты", это может рассматриваться как "не баг, а фича". Но в любом случае это "удобное приближение", куда более существенный произвольный выбор, чем линейное преобразование меток.
Кое-что здесь:
https://papers.tinbergen.nl/02119.pdf

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 10:45 


15/04/20
201
А вот насчёт линейного преобразования меток. Получается, просто в функцию потерь вместо $y_i$ подставляем $y_{i}’$? Не меняет ли это функцию и, как следствие, её экстремум?

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 10:53 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
VoprosT в сообщении #1545585 писал(а):
Получается, просто в функцию потерь вместо $y_i$ подставляем $y_{i}’$?
Нет. Обратите внимания, что у вас разные выражения для функции потерь: $\sum\limits_{i=1}^{l}(y_i \ln \pi(x_i) + (1 - y_i)\ln (1 - \pi(x_i)))$ в первом случае и $\sum\limits_{i=1}^{l}\ln(1 + \exp(-y_i\left\langle w, x_i \right\rangle))$ во втором.

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 11:17 


15/04/20
201
mihaild в сообщении #1545586 писал(а):
VoprosT в сообщении #1545585 писал(а):
Получается, просто в функцию потерь вместо $y_i$ подставляем $y_{i}’$?
Нет. Обратите внимания, что у вас разные выражения для функции потерь: $\sum\limits_{i=1}^{l}(y_i \ln \pi(x_i) + (1 - y_i)\ln (1 - \pi(x_i)))$ в первом случае и $\sum\limits_{i=1}^{l}\ln(1 + \exp(-y_i\left\langle w, x_i \right\rangle))$ во втором.

Я немного запутался. Вы говорите о том, что в обеих функциях фигурирует $y_i$? Получается, мы выразили $y_i = \frac{y_{i}'+1}{2}$? И опять же, если вы говорите, что функции разные, то будут ли две модели, настроенные на эти функции, выдавать одинаковые ответы при прочих равных?

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 12:37 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
VoprosT в сообщении #1545592 писал(а):
Вы говорите о том, что в обеих функциях фигурирует $y_i$?
Нет, это говорит ваш источник:)
На самом деле надо так: $L(x) = \sum\limits_{i=1}^{l}(y_i \ln \pi(x_i) + (1 - y_i)\ln (1 - \pi(x_i)))$ и $- \ln L(x) = \sum\limits_{i=1}^{l}\ln(1 + \exp(-y'_i\left\langle w, x_i \right\rangle))$. Это (вместе с выражением $y'$ через $y$) просто два эквивалентных способа записать одно и то же.

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 13:15 


15/04/20
201
mihaild в сообщении #1545601 писал(а):
Это (вместе с выражением $y'$ через $y$) просто два эквивалентных способа записать одно и то же.
А, дошло. Вторая запись получится, если взять первую, поковырять её, а потом заменить в ней $2y_i - 1$ на $y_{i}'$. Верно?

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 22:53 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
Да. Ну или заменить $y_i$ на $\frac{y'_i + 1}{2}$ и преобразовать.

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение10.01.2022, 12:21 


15/04/20
201
Евгений Машеров в сообщении #1545584 писал(а):
Но в любом случае это "удобное приближение", куда более существенный произвольный выбор, чем линейное преобразование меток.
А вот в материале(стр. 13- 15), которым поделился mihaild, утверждается, что в предположении о том, что функция правдоподобия классов принадлежит экспоненциальному семейству плотностей, оптимальный байесовский классификатор будет линейным по вектору весов $w$, а апостериорная вероятность принадлежности объекта $x$ классу $y \in \left\lbrace -1, 1 \right\rbrace$ будет выражаться как $P(y|x) = \sigma(\left\langle w,x \right\rangle y)$, может тогда это не совсем произвольный выбор?

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение10.01.2022, 12:45 
Заслуженный участник
Аватара пользователя


16/07/14
9151
Цюрих
VoprosT в сообщении #1545712 писал(а):
функция правдоподобия классов принадлежит экспоненциальному семейству плотностей
Только экспонентному, а не экспоненциальному.
VoprosT в сообщении #1545712 писал(а):
может тогда это не совсем произвольный выбор?
Ну вот предположение о том, что наша выборка так распределена (обратите внимание, что мы тут говорим не только о том, как выбираются классы по признакам, но и как выбираются сами признаки) - и есть произвол.

 Профиль  
                  
 
 Re: Логистическая функция потерь
Сообщение10.01.2022, 12:50 


15/04/20
201
Евгений Машеров в сообщении #1545584 писал(а):
Логит-анализ можно рассматривать, как замену в пробит-анализе нормального распределения на логистическое, с которым проще работать (в частности, есть простое выражение для функции распределения). А то, что оно при внешней схожести с колоколообразной формой нормального и при симметричности, как и нормальное, имеет "тяжёлые хвосты", это может рассматриваться как "не баг, а фича". Но в любом случае это "удобное приближение", куда более существенный произвольный выбор, чем линейное преобразование меток.

Я, видимо, зацепился за слова про замену нормального распределения на логистическое. Я так понимаю, если распределение нормальное, то при максимизации правдоподобия вместо сигмоиды вылезет плотность нормального распределения? Но лучше использовать сигмоиду, потому что есть теорема про оптимальный баейсовский классификатор?

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

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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