<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.44.169.198&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.44.169.198&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/5.44.169.198"/>
		<updated>2026-05-19T18:00:43Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82598</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82598"/>
				<updated>2022-07-01T15:15:43Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\exp\left(L_{i}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой&lt;br /&gt;
*&amp;lt;tex&amp;gt;p =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений при &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
[[File:Декорреляция.png|300px|thumb|рис.1 Плохой Soft-Max]]&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82597</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82597"/>
				<updated>2022-07-01T15:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\exp\left(L_{i}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой&lt;br /&gt;
*&amp;lt;tex&amp;gt;p =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений при &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82596</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82596"/>
				<updated>2022-07-01T15:13:08Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\exp\left(L_{i}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой.&lt;br /&gt;
*&amp;lt;tex&amp;gt;p =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений при &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида.&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''.&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82595</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82595"/>
				<updated>2022-07-01T15:12:16Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Свойства soft-arg-max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\exp\left(L_{i}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой.&lt;br /&gt;
*&amp;lt;tex&amp;gt;p =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;.&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений при &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82594</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82594"/>
				<updated>2022-07-01T15:06:58Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Постановка задачи */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\exp\left(L_{i}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой.&lt;br /&gt;
*&amp;lt;tex&amp;gt;p =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82593</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82593"/>
				<updated>2022-07-01T15:05:53Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\left(\exp\left(L_{i}\right)\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой.&lt;br /&gt;
*&amp;lt;tex&amp;gt;p =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82592</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82592"/>
				<updated>2022-07-01T15:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\left(\exp\left(L_{i}\right)\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой.&lt;br /&gt;
*p =  '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( L \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82591</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82591"/>
				<updated>2022-07-01T15:00:00Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Постановка задачи */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\left(\exp\left(L_{i}\right)\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;, после преобразования будет возвращать &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt; и останется дифференцируемой.&lt;br /&gt;
&lt;br /&gt;
Тогда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82590</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82590"/>
				<updated>2022-07-01T14:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Soft-Arg-Max==&lt;br /&gt;
===Постановка задачи===&lt;br /&gt;
Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\left(\exp\left(L_{i}\right)\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее: &amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Есть модель &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;, возвращающая &amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt;. Необходимо сделать так, чтобы &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; возвращала &amp;lt;tex&amp;gt;p_{i}&amp;lt;/tex&amp;gt;, при этом оставаясь дифференциируемой.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82589</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82589"/>
				<updated>2022-07-01T14:44:02Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}\left(\exp\left(L_{i}\right)\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда выполняется следующее: &amp;lt;tex&amp;gt;L_{i} \leqslant L_{j} \implies p_{i} \leqslant p_{j}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82588</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82588"/>
				<updated>2022-07-01T14:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum_{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого выполним преобразование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_{i} = \frac{\exp\left(L_{i}\right)}{\sum_{i}(\exp\left(L_{i}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82587</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82587"/>
				<updated>2022-07-01T14:38:22Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пусть есть задача мягкой классификации:&lt;br /&gt;
&lt;br /&gt;
Алгоритм &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Для этих значений необходимо найти такие &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt;, что:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;p_{i} \in \left [ 0, 1\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\sum{i}p_{i}=1&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;p_{1},\ldots,p_{n}&amp;lt;/tex&amp;gt; {{---}} распределение вероятностей.&lt;br /&gt;
&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82586</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82586"/>
				<updated>2022-07-01T14:35:13Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пусть есть задача мягкой классификации:&lt;br /&gt;
Алгоритм &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; выдает значения &amp;lt;tex&amp;gt;L_{1}, L_{2},\ldots, L_{n}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; {{---}} число классов.&lt;br /&gt;
&amp;lt;tex&amp;gt;L_{i}&amp;lt;/tex&amp;gt; {{---}} уверенность алгоритма в том, что объект принадлежит классу &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;L_{i} \in \left [ -\infty, +\infty\right ]&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82585</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82585"/>
				<updated>2022-07-01T14:30:19Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечания==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82584</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82584"/>
				<updated>2022-07-01T14:28:24Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Языковые нюансы==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82583</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82583"/>
				<updated>2022-07-01T14:24:49Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Модификация soft-arg-max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(\frac{x_{i}}{t}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная модификация полезна, когда необходимо контролировать распределение вероятностей, получаемое '''soft-arg-max'''. Чем больше параметр &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt;, тем больше получаемые вероятности будут похожи на равномерное распределение.&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечание==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82582</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82582"/>
				<updated>2022-07-01T14:21:35Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модификация soft-arg-max===&lt;br /&gt;
'''soft-arg-max'''&amp;lt;tex&amp;gt;_{t}\left(x\right)=\frac{\exp\left(x_{i}\right)}{\sum\exp\left(\frac{x_{j}}{t}\right)}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечание==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82581</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82581"/>
				<updated>2022-07-01T14:06:58Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Примечание==&lt;br /&gt;
*В большинстве статей пишется '''soft-max''', хотя вместо этого подразумевается '''soft-arg-max'''.&lt;br /&gt;
*'''soft-arg-max''' можно называть также как обобщённая (многомерная) сигмоида&lt;br /&gt;
*'''soft-arg-max''' является алгоритмом подсчёта весов для '''soft-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82580</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82580"/>
				<updated>2022-07-01T13:57:46Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Связь между вариациями Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\left.\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82579</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82579"/>
				<updated>2022-07-01T13:56:37Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Связь между вариациями Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;_{i}\left(x_{1},\ldots,x_{n}\right)\right) = x_{i} -&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82578</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82578"/>
				<updated>2022-07-01T13:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Связь между вариациями Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''' как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\log\left(\right.&amp;lt;/tex&amp;gt;'''soft-arg-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82577</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82577"/>
				<updated>2022-07-01T13:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Связь между вариациями Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''', как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;\nabla&amp;lt;/tex&amp;gt;'''soft-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left(x_{1},\ldots,x_{n}\right)&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82576</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82576"/>
				<updated>2022-07-01T13:50:07Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;br /&gt;
&lt;br /&gt;
==Связь между вариациями Soft-Max==&lt;br /&gt;
Обозначим &amp;quot;плохой&amp;quot; '''soft-max''', как '''bad-soft-max'''. Тогда:&lt;br /&gt;
&lt;br /&gt;
*'''bad-soft-max'''&amp;lt;tex&amp;gt;x_{1},\ldots,x_{n}=\left \langle x,  \right .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82575</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82575"/>
				<updated>2022-07-01T13:47:12Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Хороший Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, значит, не возникнет проблем с поиском минимума и максимума.&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82574</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82574"/>
				<updated>2022-07-01T13:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Хороший Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность, и не возникнет проблем с поиском минимума и максимума.&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82573</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82573"/>
				<updated>2022-07-01T13:46:15Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;br /&gt;
&lt;br /&gt;
В этом случае сохраняется монотонность.&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82572</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82572"/>
				<updated>2022-07-01T13:43:04Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Хороший Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Не сохраняет свойство '''soft-max'''&amp;lt;tex&amp;gt;\left(a,a,a\right)=a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Производная равна '''soft-arg-max'''&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82571</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82571"/>
				<updated>2022-07-01T13:40:54Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82570</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82570"/>
				<updated>2022-07-01T13:32:59Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Плохой Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
Зададим функцию '''soft-max''' таким образом:&lt;br /&gt;
&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заданный выше '''soft-max''' {{---}} &amp;quot;плохой&amp;quot; в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.&lt;br /&gt;
&lt;br /&gt;
===Хороший Soft-Max===&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82569</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82569"/>
				<updated>2022-07-01T13:26:38Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{---}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82568</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82568"/>
				<updated>2022-07-01T13:26:09Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Плохой Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Гладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса {{{-}}} экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( a,a,a\right ) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
*'''soft-max'''&amp;lt;tex&amp;gt;\left ( x+a,y+a,z+a\right ) =&amp;lt;/tex&amp;gt; '''soft-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right ) + a&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82567</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82567"/>
				<updated>2022-07-01T13:22:37Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82566</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82566"/>
				<updated>2022-07-01T13:22:06Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;br /&gt;
===Плохой Soft-Max===&lt;br /&gt;
'''soft-max'''&amp;lt;tex&amp;gt;\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 .&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left . \left (x_{1},\ldots,x_{n} \right )  \right \rangle&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82565</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82565"/>
				<updated>2022-07-01T13:15:45Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82564</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82564"/>
				<updated>2022-07-01T13:15:16Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt;'''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x,y,z\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82563</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82563"/>
				<updated>2022-07-01T13:14:36Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = &amp;lt;/tex&amp;gt;soft-arg-max&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*soft-arg-max&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt;soft-arg-max&amp;lt;tex&amp;gt;\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82562</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82562"/>
				<updated>2022-07-01T13:13:23Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = soft{-}arg{-}max\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*Вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;-й координате.&lt;br /&gt;
*&amp;lt;tex&amp;gt;soft{-}arg{-}max\left ( x - c,y-c,z-c\right )=soft{-}arg{-}max\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
*Предыдущее свойство используют для устойчивости вычислений. При &amp;lt;tex&amp;gt;c=max\left ( x,y,z \right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82561</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82561"/>
				<updated>2022-07-01T13:12:26Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = soft{-}arg{-}max\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в {{i}}-й координате.&lt;br /&gt;
*&amp;lt;tex&amp;gt;soft{-}arg{-}max\left ( x - c,y-c,z-c\right )=soft{-}arg{-}max\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82560</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82560"/>
				<updated>2022-07-01T13:11:47Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y = soft{-}arg{-}max\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в {{{i}}}-й координате.&lt;br /&gt;
*&amp;lt;tex&amp;gt;soft{-}arg{-}max\left ( x - c,y-c,z-c\right )=soft{-}arg{-}max\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82559</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82559"/>
				<updated>2022-07-01T13:10:41Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в {{{i}}}-й координате.&lt;br /&gt;
*&amp;lt;tex&amp;gt;soft{-}arg{-}max\left ( x - c,y-c,z-c\right )=soft \textendash arg \textendash max\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82558</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82558"/>
				<updated>2022-07-01T13:09:59Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в {{{i}}}-й координате.&lt;br /&gt;
*&amp;lt;tex&amp;gt;soft \textendash arg \textendash max\left ( x - c,y-c,z-c\right )=soft \textendash arg \textendash max\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82557</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82557"/>
				<updated>2022-07-01T13:08:37Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Свойства soft-arg-max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в {{{i}}}-й координате.&lt;br /&gt;
*&amp;lt;tex&amp;gt;soft-arg-max\left ( x - c,y-c,z-c\right )=soft-arg-max\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82556</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82556"/>
				<updated>2022-07-01T13:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Свойства soft-arg-max===&lt;br /&gt;
*soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.&lt;br /&gt;
*Можно интерпретировать как вероятность нахождения максимума в {{{i}}}-й координате.&lt;br /&gt;
*soft-arg-max&amp;lt;tex&amp;gt;\left ( x - c,y-c,z-c\right )=&amp;lt;/tex&amp;gt;soft-arg-max&amp;lt;tex&amp;gt;\left ( x,y,z)\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82555</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82555"/>
				<updated>2022-07-01T13:03:50Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ),~i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~~~i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82554</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82554"/>
				<updated>2022-07-01T13:03:33Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: /* Soft-Arg-Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp;y_{i}\left ( 1 - y_{j} \right ), i = j \\ &lt;br /&gt;
 &amp;amp;-y_{i}\cdot y_{j},~~~~ i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82553</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82553"/>
				<updated>2022-07-01T13:01:42Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}&lt;br /&gt;
 &amp;amp; y_{i}\left ( 1 - y_{j} \right ), i = j \\ &lt;br /&gt;
 &amp;amp; -y_{i}\cdot y_{j}, i \neq  j &lt;br /&gt;
\end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )&amp;lt;/tex&amp;gt;&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82552</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82552"/>
				<updated>2022-07-01T12:57:52Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Soft-Max==&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82551</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82551"/>
				<updated>2022-07-01T12:57:24Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
==Soft-Arg-Max==&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82550</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82550"/>
				<updated>2022-07-01T12:56:31Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. &lt;br /&gt;
===Soft-Arg-Max===&lt;br /&gt;
Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82549</id>
		<title>Soft-Max и Soft-Arg-Max</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Soft-Max_%D0%B8_Soft-Arg-Max&amp;diff=82549"/>
				<updated>2022-07-01T12:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;5.44.169.198: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soft-Max и Soft-Arg-Max. Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo &amp;lt;=Li &amp;lt;= +oo. &lt;br /&gt;
Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.&lt;br /&gt;
Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:&lt;br /&gt;
pi = exp(Li)/Sum(exp(Li))&lt;br /&gt;
Выполняется следующее: Li &amp;lt;= Lj =&amp;gt; Pi &amp;lt;= Pj&lt;br /&gt;
&lt;br /&gt;
Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.&lt;br /&gt;
&amp;lt;tex&amp;gt;y =&amp;lt;/tex&amp;gt; '''soft-arg-max'''&amp;lt;tex&amp;gt;\left ( x \right )&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.44.169.198</name></author>	</entry>

	</feed>