Saya menggunakan KL Divergence sebagai ukuran ketidaksamaan antara 2 dan .
Jika maka kita dapat dengan mudah menghitung bahwa P ( X i ) l n ( Q ( X i ) ) = 0 P ( X i ) l n ( P ( X i ) ) = 0
Tetapi jika dan Q ( X i ) = 0 cara menghitung P ( X i ) l n ( Q ( X i ) )
distributions
distance
kullback-leibler
smwikipedia
sumber
sumber
Jawaban:
Anda tidak bisa dan tidak. Bayangkan Anda memiliki variabel acak dari distribusi probabilitas Q. Tetapi teman Anda Bob berpikir bahwa hasilnya berasal dari distribusi probabilitas P. Dia telah membangun pengkodean yang optimal, yang meminimalkan jumlah bit yang diharapkan yang perlu dia gunakan untuk memberi tahu Anda hasil. Tetapi, karena ia membangun encoding dari P dan bukan dari Q, kode-kodenya akan lebih lama dari yang diperlukan. KL-divergence mengukur berapa lama kodenya.
Sekarang katakanlah dia punya koin dan dia ingin memberi tahu Anda urutan hasil yang didapatnya. Karena kepala dan ekor sama-sama berkemungkinan besar ia memberikan keduanya kode 1-bit. 0 untuk kepala, 1 untuk ekor. Jika dia mendapatkan ekor ekor, dia dapat mengirim 1 1 0 1. Sekarang, jika koinnya mendarat di tepi dia tidak mungkin memberi tahu Anda! Tidak ada kode yang ia kirimkan kepada Anda yang akan berfungsi. Pada titik ini KL-divergensi terpecah.
Karena KL-divergence rusak, Anda harus menggunakan ukuran lain atau distribusi probabilitas lainnya. Apa yang harus Anda lakukan sangat tergantung pada apa yang Anda inginkan. Mengapa Anda membandingkan distribusi probabilitas? Dari mana distribusi probabilitas Anda berasal, apakah mereka diperkirakan dari data?
Anda mengatakan distribusi probabilitas Anda berasal dari dokumen bahasa alami, dan Anda ingin membandingkan pasangan kategori.
Pertama, saya akan merekomendasikan ukuran keterkaitan simetris. Untuk aplikasi ini kedengarannya seperti A sama dengan B seperti B mirip dengan A.
Sudahkah Anda mencoba ukuran kesamaan cosinus? Ini cukup umum di NLP.
Jika Anda ingin tetap menggunakan KL, satu hal yang bisa Anda lakukan adalah memperkirakan fungsi probabilitas dari kedua dokumen dan kemudian melihat berapa banyak bit tambahan yang Anda perlukan rata-rata untuk kedua dokumen. Yaitu (P || (P + Q) / 2 + Q || (P + Q) / 2) / 2
sumber
Dalam praktiknya, saya juga mengalami masalah ini. Dalam hal ini, saya telah menemukan bahwa mengganti nilai 0 untuk beberapa angka yang sangat kecil dapat menyebabkan masalah. Bergantung pada nilai yang Anda gunakan, Anda akan memperkenalkan "bias" pada nilai KL. Jika Anda menggunakan nilai KL untuk pengujian hipotesis atau beberapa penggunaan lain yang melibatkan ambang, maka nilai kecil ini dapat membiaskan hasil Anda. Saya telah menemukan bahwa cara paling efektif untuk menangani ini adalah dengan hanya mempertimbangkan menghitung KL pada ruang hipotesis yang konsisten X_i di mana KEDUA P dan Q tidak nol. Pada dasarnya, ini membatasi domain KL ke domain di mana keduanya didefinisikan dan membuat Anda keluar dari masalah saat menggunakan KL untuk melakukan tes hipotesis.
sumber
Memiliki distribusi probabilitas dimanaQsaya= 0 untuk apa saja saya berarti Anda yakin akan hal itu Qsaya tidak bisa terjadi. Karena itu jika aQsaya Jika pernah terobsesi, hal itu akan merepresentasikan kejutan / informasi yang tidak terbatas, yang diwakili oleh informasi Shannon. Perbedaan KL mewakili jumlah kejutan tambahan (mis. Informasi hilang) per pengamatan jika distribusiQ digunakan sebagai perkiraan untuk distribusi P . Jika perkiraan tersebut memprediksikan 0 probabilitas untuk suatu peristiwa yang memiliki probabilitas postive dalam kenyataan, maka Anda akan mengalami kejutan tak terbatas beberapa persen dari waktu dan dengan demikian kejutan tak terbatas rata-rata.
Solusinya adalah jangan pernah membiarkan 0 atau 1 probabilitas dalam distribusi yang diperkirakan. Ini biasanya dicapai dengan beberapa bentuk smoothing seperti Good-Turing smoothing, Dirichlet smoothing atau Laplace smoothing.
sumber