Soft-Max и Soft-Arg-Max — различия между версиями
(→Soft-Max) |
(→Хороший Soft-Max) |
||
Строка 35: | Строка 35: | ||
===Хороший Soft-Max=== | ===Хороший Soft-Max=== | ||
'''soft-max'''<tex>\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)</tex> | '''soft-max'''<tex>\left ( x_{1},\ldots,x_{n}\right ) = \log\left(\sum_{i}\exp\left(x_{i}\right)\right)</tex> | ||
+ | |||
+ | *Не сохраняет свойство '''soft-max'''<tex>\left(a,a,a\right)=a</tex> | ||
+ | *Производная равна '''soft-arg-max''' |
Версия 16:43, 1 июля 2022
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, при этом оставаясь дифференциируемой.
soft-arg-max , гдеСвойства soft-arg-max
- Вычисляет по вектору чисел вектор с распределением вероятностей.
- Можно интерпретировать как вероятность нахождения максимума в -й координате.
- soft-arg-max soft-arg-max
- Предыдущее свойство используют для устойчивости вычислений. При
Soft-Max
Плохой Soft-Max
Зададим функцию soft-max таким образом:
soft-max
soft-arg-maxГладкая аппроксимация максимума. Математическое ожидание или средневзвешенное, где веса — экспоненты значений соответствующих элементов. Сохраняет некоторые свойства максимума:
- soft-max
- soft-max soft-max
Заданный выше soft-max — "плохой" в связи с тем, что мы считаем средневзвешенное значение, которое всегда будет меньше максимума, что приведёт к проблемам с поиском максимума.
Хороший Soft-Max
soft-max
- Не сохраняет свойство soft-max
- Производная равна soft-arg-max