2014 dxdy logo

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

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




 
 Логистическая функция потерь
Сообщение08.01.2022, 19:17 
Помогите распутать мысли про логистическую регрессию. Смотрю один небезызвестный онлайн-курс по машинному обучению, вот что говорят авторы:

Можно показать, что оптимальным ответом линейной регрессии будет $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 
Аватара пользователя
Тут не очень аккуратно написано. Мы (видимо) выводили модель для меток $y_i \in \{0, 1\}$. Но теперь введем новые метки $y'_i = 2 y_i - 1$, и заметим, что через них функция потерь выражается гораздо проще.

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

 
 
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 00:18 
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 
Аватара пользователя
VoprosT в сообщении #1545564 писал(а):
и модель будем настраивать именно на метки $y'$, если хотим использовать "более удобную" функцию потерь
От того, что мы переписали функцию потерь в других переменных, ничего не поменялось - модель обучится ровно такая же.
Ну и естественно предсказывать она будет $y$, а не $y'$, хотя бы потому что она отрицательные числа не выдает:)
VoprosT в сообщении #1545564 писал(а):
Не подскажете, где можно почитать/посмотреть подробнее про это?
У Воронцова показано, откуда берется сигмоида (даже в более общем предположении чем я написал).

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

 
 
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 10:45 
А вот насчёт линейного преобразования меток. Получается, просто в функцию потерь вместо $y_i$ подставляем $y_{i}’$? Не меняет ли это функцию и, как следствие, её экстремум?

 
 
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 10:53 
Аватара пользователя
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 
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 
Аватара пользователя
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 
mihaild в сообщении #1545601 писал(а):
Это (вместе с выражением $y'$ через $y$) просто два эквивалентных способа записать одно и то же.
А, дошло. Вторая запись получится, если взять первую, поковырять её, а потом заменить в ней $2y_i - 1$ на $y_{i}'$. Верно?

 
 
 
 Re: Логистическая функция потерь
Сообщение09.01.2022, 22:53 
Аватара пользователя
Да. Ну или заменить $y_i$ на $\frac{y'_i + 1}{2}$ и преобразовать.

 
 
 
 Re: Логистическая функция потерь
Сообщение10.01.2022, 12:21 
Евгений Машеров в сообщении #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 
Аватара пользователя
VoprosT в сообщении #1545712 писал(а):
функция правдоподобия классов принадлежит экспоненциальному семейству плотностей
Только экспонентному, а не экспоненциальному.
VoprosT в сообщении #1545712 писал(а):
может тогда это не совсем произвольный выбор?
Ну вот предположение о том, что наша выборка так распределена (обратите внимание, что мы тут говорим не только о том, как выбираются классы по признакам, но и как выбираются сами признаки) - и есть произвол.

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

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

 
 
 [ Сообщений: 14 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group