Изменения

Перейти к: навигация, поиск

Soft-Max и Soft-Arg-Max

511 байт добавлено, 19:55, 1 июля 2022
Нет описания правки
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )</tex>
У '''<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max''' }}</tex> такое название, так как это, по сути, гладкая аппроксимация модифицированного '''<tex>\boldsymbol{\mathbf{arg{\text -}max'''}}</tex>.
===Свойства soft-arg-max===
<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max}}_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}</tex>
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max'''}}</tex>. Чем больше параметр <tex>t</tex>, тем больше получаемые вероятности будут похожи на равномерное распределение.
==Soft-Max==
[[File:BadSoftMax.png|200px|thumb|рис.1 Плохой Soft-Max (помечен красным)]]
[[File:GoodSoftMax.png|200px|thumb|рис.2 Хороший Soft-Max (помечен оранжевым)]]
Зададим функцию '''<tex>\boldsymbol{\mathbf{soft{\text -}max''' }}</tex> таким образом:
<tex>\boldsymbol{\mathbf{soft{\text -}max}}\left ( x_{1},\ldots,x_{n}\right ) = \frac{x_{i}~\cdot~\exp \left ( x_{i} \right )}{\sum_{j}\exp \left( x_{j} \right )} = \left \langle x, \right .\boldsymbol{\mathbf{soft{\text -}arg{\text -}max}}\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle</tex>
*<tex>\boldsymbol{\mathbf{soft{\text -}max}}\left ( x+a,y+a,z+a\right ) =\boldsymbol{\mathbf{soft{\text -}max}}\left ( x,y,z\right ) + a</tex>
Заданный выше '''<tex>\boldsymbol{\mathbf{soft{\text -}max''' }}</tex> {{---}} "плохой" в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.
===Хороший Soft-Max===
*Не сохраняется свойство <tex>\boldsymbol{\mathbf{soft{\text -}max}}\left(a,a,a\right)=a</tex>
*Производная равна '''<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max'''}}</tex>
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.
==Связь между вариациями Soft-Max==
Обозначим "плохой" '''<tex>\boldsymbol{\mathbf{soft{\text -}max''' }}</tex> как '''<tex>\boldsymbol{\mathbf{bad{\text -}soft{\text -}max'''}}</tex>. Тогда:
*<tex>\boldsymbol{\mathbf{bad{\text -}soft{\text -}max}}\left(x_{1},\ldots,x_{n}\right)=\left \langle x, \right .\boldsymbol{\mathbf{soft{\text -}arg{\text -}max}}\left . \left (x_{1},\ldots,x_{n} \right ) \right \rangle</tex>
==Примечания==
*В большинстве статей пишется '''<tex>\boldsymbol{\mathbf{soft{\text -}max'''}}</tex>, хотя вместо этого подразумевается '''<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max'''}}</tex>*'''<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max''' }}</tex> можно называть также как обобщённая (многомерная) сигмоида*'''<tex>\boldsymbol{\mathbf{soft{\text -}arg{\text -}max''' }}</tex> является алгоритмом подсчёта весов для '''<tex>\boldsymbol{\mathbf{soft{\text -}max'''}}</tex>
==Источники==
# [https://www.youtube.com/watch?v=mlPNUbaphZA&ab_channel=MLLabITMO Лекция 7. Байесовские методы А. Забашта]
46
правок

Навигация