математика — реализация Softmax в переполнении стека

Folks,

Есть ли пример реализации простой функции softmax для N значений? Мне кажется, что-то вроде «детекторов на основе softmax» и т. Д., Но я просто хочу увидеть чистую, прямую реализацию C ++ softmax.

Какие примеры вы знаете?

Спасибо,

-4

Решение

Я не видел библиотечной реализации softmax, хотя это не доказательство того, что она не существует. Достаточно просто, что люди просто пишут свои, когда им это нужно.

Для записи, функция softmax на u1, u2, u3 … это просто кортеж (exp(u1)/Z, exp(u2)/Z, exp(u3)/Z, ...) где нормализующая константа Z это просто сумма экспонент, Z = exp(u1) + exp(u2) + exp(u3) + ...,

Обратите внимание, что добавление или вычитание константы из каждого u оставляет результат без изменений, так как он эквивалентен умножению выше и ниже на один и тот же коэффициент. Таким образом, вы могли бы сделать расчет немного более численно хорошим, вычитая наибольшее значение среди u«S; тогда самый большой срок exp(u) будет 1, а все остальные что-то меньше, чем это.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]