|
|
(не показано 76 промежуточных версий 3 участников) |
Строка 1: |
Строка 1: |
− | Soft-Max и Soft-Arg-Max.
| |
− | ==Soft-Arg-Max==
| |
− | Пусть есть задача мягкой классификации: Алгоритм выдает значения L1, L2, ... Ln, где n - число классов. Li - уверенность алгоритма в том, что объект принадлежит классу i; -oo <=Li <= +oo.
| |
− | Нужно для этих значений найти такие p1,...pn, что pi из [0, 1], а сумма pi = 1, то есть p1..pn - распределение вероятностей.
| |
− | Для этого возьмём экспоненту от L1..Ln; Получим числа от [0;+oo] и нормируем их:
| |
− | pi = exp(Li)/Sum(exp(Li))
| |
− | Выполняется следующее: Li <= Lj => Pi <= Pj
| |
| | | |
− | Есть модель a, возвращающая Li. Необходимо сделать так, чтобы a возвращала pi, при этом оставаясь дифференциируемой.
| |
− | <tex>y =</tex> '''soft-arg-max'''<tex>\left ( x \right )</tex>, где <tex>y_{i} = \frac{\exp\left ( x_{i} \right )}{\sum_{j}\exp\left ( x_{i} \right )}</tex>
| |
− | <tex>\frac{\partial y_{i}}{\partial x_{j}} = \begin{cases}
| |
− | &y_{i}\left ( 1 - y_{j} \right ),~i = j \\
| |
− | &-y_{i}\cdot y_{j},~~~~~~i \neq j
| |
− | \end{cases} = y_{i}\left ( I\left [ i = j \right ] - y_{j}\right )</tex>
| |
− |
| |
− | ===Свойства soft-arg-max===
| |
− | *soft-arg-max вычисляет по вектору чисел вектор с распределением вероятностей.
| |
− | *Можно интерпретировать как вероятность нахождения максимума в {{{i}}}-й координате.
| |
− | *<tex>soft \textendash arg \textendash max\left ( x - c,y-c,z-c\right )=soft \textendash arg \textendash max\left ( x,y,z)\right )</tex>
| |
− |
| |
− | ==Soft-Max==
| |