Saya mencoba menerapkan ide informasi timbal balik ke pemilihan fitur, seperti yang dijelaskan dalam catatan kuliah ini (di halaman 5).
Platform saya adalah Matlab. Satu masalah yang saya temukan ketika menghitung informasi timbal balik dari data empiris adalah bahwa angka selalu bias ke atas. Saya menemukan sekitar 3 ~ 4 file berbeda untuk menghitung MI pada Matlab Central dan mereka semua memberikan angka besar (seperti> 0,4) ketika saya memberi makan dalam variabel acak independen.
Saya bukan ahli, tetapi masalahnya tampaknya bahwa jika Anda hanya menggunakan kepadatan bersama dan marginal untuk menghitung MI, bias diperkenalkan dalam proses karena MI menurut definisi positif. Adakah yang punya saran praktis tentang cara memperkirakan informasi timbal balik secara akurat?
Pertanyaan terkait adalah, dalam praktiknya, bagaimana orang benar-benar menggunakan MI untuk memilih fitur? Tidak jelas bagi saya bagaimana menghasilkan nilai ambang karena MI secara teori tidak terikat. Atau apakah orang hanya memberi peringkat fitur oleh MI dan mengambil fitur top k?
Jawaban:
Ini adalah masalah bias pengambilan sampel terbatas .
Perkiraan kecil sampel kepadatan berisik, dan variasi ini menginduksi korelasi palsu antara variabel yang meningkatkan nilai informasi yang diestimasi.
Dalam kasus diskrit ini adalah masalah yang dipelajari dengan baik. Ada banyak teknik untuk mengoreksi, dari sepenuhnya Bayesian ( NSB ), hingga koreksi sederhana. Yang paling mendasar (Miller-Madow) adalah untuk mengurangi dari nilai. Ini adalah perbedaan dalam derajat kebebasan antara dua model implisit (multinomial bersama penuh vs produk marjinal independen) - memang dengan sampel memadai adalah uji rasio kemandirian kemandirian ( G-test ) yang merupakan didistribusikan dengan2 N ln ( 2 ) I χ 2 ( R - 1 ) ( S - 1 )(R−1)(S−1)/2Nln2 2Nln(2)I χ2 (R−1)(S−1) dof di bawah hipotesis nol. Dengan uji coba terbatas bahkan sulit untuk memperkirakan R dan S andal - koreksi yang efektif adalah dengan menggunakan prosedur penghitungan Bayesian untuk memperkirakan ini (koreksi Panzeri-Treves atau PT).
Beberapa paket yang menerapkan teknik ini di Matlab termasuk infotoolbox dan Spike Train Analysis Toolkit .
Untuk kasus kontinu, penaksir berdasarkan jarak tetangga terdekat mengurangi masalah.
sumber
Saya telah menggunakan KL-divergence dan dengan ukuran sampel yang sesuai mendapatkan nilai 0 untuk lokus di mana distribusi memiliki probabilitas yang sama.
Saya sarankan Anda ulangi MI Anda dalam hal KL-divergence.
sumber
Anda harus menggunakan algoritma Partial Mutual Information untuk pemilihan variabel input (fitur). Ini didasarkan pada konsep MI dan estimasi kepadatan probabilitas. Misalnya di:
Saya menggunakan PMI untuk mengurangi jumlah input jaringan saraf karena mereka meningkatkan kompleksitas dan memperkenalkan masalah lain. Anda dapat menemukan gambaran umum lengkap dari algoritma Input Variable Selection (IVS) dalam Tinjauan Metode Pemilihan Variabel Input untuk kertas Jaringan Syaraf Tiruan . Anda dapat menggunakan IVS untuk SVM dan lainnya. Untuk mempersingkat, gunakan PMI.
sumber