Чому для обчислення ймовірностей використовується функція softmax, хоча ми можемо розділити кожне значення на суму вектора?


20

Застосування функції softmax на вектор призведе до "ймовірностей" і значень між і . 01

Але ми також можемо розділити кожне значення на суму вектора, що призведе до ймовірностей і значень між і .01

Я читаю відповідь тут, але в ній сказано, що причина полягає в тому, що вона відрізняється, хоча обидві функції відрізняються.


1
Я думаю, що краще, якщо спершу поглянути на логістичну регресію. ваша "мета" - монотонно перетворити на (0,1). Це те, що робить логістична функція. Зауважте, що будь-яка кумулятивна (ймовірнісна) функція розподілу на реальній лінії також працює - див. Регресію пробітів, яка використовує звичайну функцію розподілу. (,)
seanv507

Відповіді:


36

Пропонована вами функція має сингулярність, коли сума елементів дорівнює нулю.

Припустимо, ваш вектор . Цей вектор має суму 0, тому поділ не визначено. Тут функція не відрізняється.[1,13,23]

Крім того, якщо один або декілька елементів вектора негативні, але сума ненульова, ваш результат не є ймовірним.

Припустимо, ваш вектор дорівнює . Він має суму 1, тому застосування вашої функції призводить до , що не є вірогідністю вектора, оскільки в ньому є негативні елементи та елементи, що перевищують 1.[1,0,2][1,0,2]

Розглядаючи ширший погляд, ми можемо мотивувати конкретну форму функції softmax з точки зору розширення бінарної логістичної регресії до випадку трьох чи більше категоричних результатів.

Виконувати такі речі, як взяття абсолютних значень або квадратів, як це пропонується в коментарях, означає, що і мають однакову передбачувану ймовірність; це означає, що модель не визначена . Навпаки, є монотонним і позитивним для всіх дійсних , тому результатом softmax є (1) вектор вірогідності та (2) мультиноміальна логістична модель.xxexp ( x ) xexp(x)x


Дуже дякую. Ми можемо вирішити обидва питання, поділивши на суму абсолютних значень, правда?
floyd

2
Ні. Що станеться, якщо підсумувати абсолютні значення обох моїх прикладів, а потім розділити на цю суму?
Sycorax каже, що повернеться Моніка

дуже дякую Я зараз це розумію. але ми можемо вирішити це питання, взявши абсолютне значення чисельника або, можливо, обчисливши для кожного значення у векторі. Я не намагаюся бути впертим, мені просто дивно, що люди винайшли складну функцію, хоча є більш прості для обчислення ймовірностей. Я не знаю багато математики, тому, можливо, є й інші математичні властивостіxi2/sum(X2)
floyd

8
Ваша пропозиція все ще не відповідає . Додаткові причини функції softmax пов'язані з її властивостями як узагальнення бінарної логістичної регресії до випадку множинних результатів. У нас є низка ниток про це, таких як stats.stackexchange.com/questions/349418/…[0,0,0]
Sycorax розповідає, що

8
На додаток до точки Sycorax, застосовуючи абоне має бажаної властивості, що зменшення векторного елемента завжди зменшить його ймовірний внесок. Скорочення негативних елементів збільшило б їх внесок. має приємну властивість, що його вихід є позитивним для всіх реальних входів і є монотонним для всієї реальної лінії. | х i | / j | x j | exp ( x )xi2/jxj2|xi|/j|xj|exp(x)
Bridgeburners

4

Softmax має два компоненти:

  1. Перетворіть компоненти в e ^ x. Це дозволяє нейронній мережі працювати з логарифмічними ймовірностями замість звичайних ймовірностей. Це перетворює загальну операцію множення ймовірностей на додавання, що набагато природніше для лінійної алгебри на основі нейронних мереж.

  2. Нормалізуйте їх суму до 1, оскільки це загальна ймовірність, яка нам потрібна.

Одним із важливих наслідків цього є те, що теорема Байєса є дуже природною для такої мережі, оскільки це просто множення ймовірностей, нормалізованих знаменником.

Тривіальний випадок одношарової мережі з активацією softmax еквівалентний логістичній регресії.

Окремий випадок двокомпонентного софтмаксу еквівалентний активації сигмоїдів, яка, таким чином, популярна, коли існує лише два класи. У класифікації класів багато класів софтмакс використовується, якщо класи взаємно виключають, а сигмоїди, що залежать від компонентів, використовуються, якщо вони незалежні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.