Pemilihan fitur menggunakan informasi timbal balik di Matlab

10

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?

entropi
sumber
Tidak ada yang tertarik dengan topik ini?
Apakah Anda punya jawaban untuk ini?
entropi
Sayangnya tidak ada. Apakah Anda juga mengalami masalah yang sama?

Jawaban:

3

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 )(R1)(S1)/2Nln22Nln(2)Iχ2(R1)(S1)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.

thrope
sumber
1

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.

EngrStudent
sumber
1

Anda harus menggunakan algoritma Partial Mutual Information untuk pemilihan variabel input (fitur). Ini didasarkan pada konsep MI dan estimasi kepadatan probabilitas. Misalnya di:

  1. PMI berbasis kernel : (+) memiliki kriteria berhenti (Kriteria Informasi Akaike) (-) kompleksitas lebih tinggi
  2. PMI berbasis kNN : (-) tidak memiliki kriteria berhenti (+) kompleksitas yang lebih rendah

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.

pengguna2034223
sumber