Próbuję zastosować ideę wzajemnej informacji do wyboru funkcji, jak opisano w tych uwagach do wykładu (na stronie 5).
Moja platforma to Matlab. Jednym z problemów, które spotykam przy obliczaniu wzajemnej informacji z danych empirycznych, jest to, że liczba jest zawsze tendencyjna w górę. Znalazłem około 3 ~ 4 różnych plików do obliczenia MI w Matlab Central i wszystkie one dają duże liczby (jak> 0,4), kiedy wprowadzam niezależne zmienne losowe.
Nie jestem ekspertem, ale wydaje się, że problem polega na tym, że jeśli po prostu zastosujesz gęstość stawów i marginesów do obliczenia MI, w tym procesie wprowadzane będzie odchylenie, ponieważ MI jest z definicji pozytywne. Czy ktoś ma praktyczne porady, jak dokładnie oszacować wzajemne informacje?
Powiązanym pytaniem jest w praktyce, w jaki sposób ludzie faktycznie używają MI do wybierania funkcji? Nie jest dla mnie oczywiste, jak ustalić wartość progową, ponieważ MI jest teoretycznie nieograniczony. Czy ludzie oceniają funkcje według MI i wybierają najlepsze funkcje?
Odpowiedzi:
Jest to problem ograniczonej stronniczości próbkowania .
Szacunki małych prób dotyczące gęstości są hałaśliwe, a ta zmienność indukuje fałszywe korelacje między zmiennymi, które zwiększają oszacowaną wartość informacyjną.
W przypadku dyskretnym jest to dobrze zbadany problem. Istnieje wiele technik poprawiania, od całkowicie bayesowskiego ( NSB ), po proste poprawki. Najbardziej podstawowym (Miller-Madow) jest odjęcie od wartości. Jest to różnica w stopniach swobody między dwoma niejawnymi modelami (pełny staw wielomianowy vs iloczyn niezależnych marginesów) - w rzeczywistości przy wystarczającym próbkowaniu jest testem współczynnika prawdopodobieństwa niezależności ( test G ), który jest dystrybuowane z2 N ln ( 2 ) I χ 2 ( R - 1 ) ( S - 1 )(R−1)(S−1)/2Nln2 2Nln(2)I χ2 (R−1)(S−1) dof pod hipotezą zerową. W przypadku ograniczonych prób wiarygodne oszacowanie R i S może być trudne - skuteczną korektą jest zastosowanie procedury liczenia Bayesa do oszacowania tych wartości (korekta PzKezera lub PT).
Niektóre pakiety implementujące te techniki w Matlab obejmują infotoolbox i Spike Train Analysis Toolkit .
W przypadku ciągłym estymatory oparte na odległościach najbliższego sąsiada zmniejszają problem.
źródło
Użyłem rozbieżności KL i przy odpowiednich wielkościach próbek otrzymuję wartości 0 dla loci, w których rozkłady mają równe prawdopodobieństwo.
Sugeruję, abyś sformułował swój MI pod względem dywergencji KL.
źródło
Do wyboru zmiennej wejściowej (cechy) należy użyć algorytmu Częściowa informacja wzajemna. Opiera się na koncepcjach MI i szacowaniu gęstości prawdopodobieństwa. Na przykład w:
Użyłem PMI do zmniejszenia liczby wejść sieci neuronowej, ponieważ zwiększają one złożoność i wprowadzają inne problemy. Kompletny przegląd algorytmów wyboru zmiennych wejściowych (IVS) można znaleźć w dokumencie Przegląd metod wyboru zmiennych wejściowych dla artykułu dotyczącego sztucznych sieci neuronowych . Możesz używać IVS dla SVM i innych. Krótko mówiąc, użyj PMI.
źródło