Definisi fungsi softmax


8

Pertanyaan ini menindaklanjuti stats.stackexchange.com/q/233658

Model regresi logistik untuk kelas {0, 1} adalah

P(y=1|x)=exp⁡(wTx)1+exp⁡(wTx)P(y=0|x)=11+exp⁡(wTx)

Jelas probabilitas tersebut berjumlah 1. Dengan mengatur kita juga bisa mendefinisikan regresi logistik sebagaiw=β1−β0

P(y=c|x)=exp⁡(βcTx)exp⁡(β0Tx)+exp⁡(β1Tx)∀c∈{0,1}

Namun, definisi kedua jarang digunakan karena koefisien dan tidak unik. Dengan kata lain, model ini tidak dapat diidentifikasi, seperti halnya regresi linier dengan dua variabel yang merupakan kelipatan satu sama lain.β0β1

Pertanyaan

Dalam pembelajaran mesin, mengapa model regresi softmax untuk kelas {0, 1, ..., K - 1} biasanya didefinisikan sebagai berikut?

P(y=c|x)=exp⁡(βcTx)exp⁡(β0Tx)+⋯+exp⁡(βK−1Tx)∀c∈{0,…,K−1}

Bukankah seharusnya begitu

P(y=c|x)=exp⁡(wcTx)1+exp⁡(w1Tx)+⋯+exp⁡(wK−1Tx)∀c∈{1,…,K−1}P(y=0|x)=11+exp⁡(w1Tx)+⋯+exp⁡(wK−1Tx)

Catatan: Dalam statistik, regresi softmax disebut regresi logistik multinomial dan kelasnya adalah {1, ..., K}. Saya menemukan ini agak canggung karena ketika K = 2, kelasnya adalah {1, 2} bukannya {0, 1} jadi itu bukan generalisasi dari regresi logistik.


Apakah biasanya didefinisikan seperti itu? Bisakah Anda menunjukkan referensi?
— The Laconic

@TheLaconic Lihat definisi Softmax di scikit-learn.org/stable/modules/neural_networks_supervised.html dan www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
— petani

BAIK. Saya bertanya karena saya belum pernah melihat model regresi MNL didefinisikan dengan cara ini. Tapi ternyata itu "biasa" dalam konteks jaring saraf - dan sekarang saya memiliki pertanyaan yang sama seperti Anda.
— The Laconic

1
Saya tidak yakin bagaimana menjawab pertanyaan "bukankah seharusnya X". Definisi yang diberikan dapat dibedakan, dan mendefinisikan distribusi probabilitas (jumlah ke 1). Sepertinya itu adalah bagian yang penting, jadi mengapa tidak seharusnya itu daripada yang lain?
— kbrose

@ kbrose karena kurangnya identitas
— Taylor

Jawaban:


2

Ya, Anda benar bahwa ada kekurangan pengidentifikasian kecuali salah satu vektor koefisien diperbaiki. Ada beberapa alasan yang tidak menyebutkan hal ini. Saya tidak dapat berbicara mengapa mereka menghilangkan detail ini, tetapi inilah penjelasan tentang apa itu dan bagaimana cara memperbaikinya.

Deskripsi

Katakanlah Anda memiliki pengamatan dan prediktor , di mana beralih dari ke dan menunjukkan angka / indeks pengamatan. Anda akan perlu memperkirakan berdimensi koefisien vektor .yi∈{0,1,2,…,K−1}xi⊺∈Rpi1nK pβ0,β1,…,βK−1

Fungsi softmax memang didefinisikan sebagai yang memiliki sifat-sifat bagus seperti dapat dibedakan, jumlahnya menjadi , dll.

softmax(z)i=exp⁡(zi)∑l=0K−1exp⁡(zl),
1

Regresi logistik multinomial menggunakan fungsi Softmax untuk setiap pengamatan pada vektor i

[xi⊺β0xi⊺β1⋮xi⊺βK−1,]

yang berarti

[P(yi=0)P(yi=1)⋮P(yi=K−1)]=[exp⁡[xi⊺β0]∑k=0K−1exp⁡[xi⊺βk]exp⁡[xi⊺β1]∑k=0K−1exp⁡[xi⊺βk]⋮exp⁡[xi⊺βK−1]∑k=0K−1exp⁡[xi⊺βk]].

Masalah

Namun, kemungkinannya tidak dapat diidentifikasi karena beberapa koleksi parameter akan memberikan kemungkinan yang sama. Misalnya, menggeser semua vektor koefisien dengan vektor yang sama akan menghasilkan kemungkinan yang sama. Ini dapat dilihat jika Anda mengalikan setiap pembilang dan penyebut dari setiap elemen vektor dengan konstanta , tidak ada yang berubah:cexp⁡[−xi⊺c]

[exp⁡[xi⊺β0]∑k=0K−1exp⁡[xi⊺βk]exp⁡[xi⊺β1]∑k=0K−1exp⁡[xi⊺βk]⋮exp⁡[xi⊺βK−1]∑k=0K−1exp⁡[xi⊺βk]]=[exp⁡[xi⊺(β0−c)]∑k=0K−1exp⁡[xi⊺(βk−c)]exp⁡[xi⊺(β1−c)]∑k=0K−1exp⁡[xi⊺(βk−c)]⋮exp⁡[xi⊺(βK−1−c)]∑k=0K−1exp⁡[xi⊺(βk−c)]].

Memperbaikinya

Cara untuk memperbaikinya adalah dengan membatasi parameter. Memperbaiki salah satu dari mereka akan mengarah pada pengidentifikasian, karena menggeser semuanya tidak lagi diizinkan.

Ada dua pilihan umum:

  • set , yang berarti (Anda menyebutkan ini), danc=β0β0=0
  • set , yang berarti .c=βK−1βK−1=0

Abaikan saja

Namun, terkadang pembatasan itu tidak perlu. Misalnya, jika Anda tertarik untuk membentuk interval kepercayaan untuk kuantitas , maka ini sama dengan , jadi inferensi pada jumlah yang relatif tidak terlalu penting. Juga, jika tugas Anda adalah prediksi dan bukan inferensi parameter, prediksi Anda tidak akan terpengaruh jika semua vektor koefisien diestimasi (tanpa membatasi satu).β10−β12β10−c−[β12−c]

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.