2012-08-29 8 views
6

Używam Gaussa modelowej mieszaniny z Pythona scikit-learn pakietu trenować mojego zestawu danych, jednak ja Fount że kiedy kodscikit-learn GMM produkować prawdopodobieństwo dodatnie dziennika

- G = mixture.GMM (.. .)

- G.fit (...)

- G.score (funkcja suma)

otrzymany prawdopodobieństwo dziennika jest dodatnia liczba rzeczywista ... dlaczego tak jest? nie jest logarytmem prawdopodobieństwa, że ​​będzie ujemny?

Rozumiem. jaki model miksowania Gaussa wraca do nas, a logarytm prawdopodobieństwa "gęstość" zamiast prawdopodobieństwa "masa", więc wartość dodatnia jest całkowicie uzasadniona.

Jeśli macierz kowariancji jest blisko liczbie pojedynczej, a następnie GMM nie będzie dobrze perfomr i generalnie oznacza to, że dane nie są dobre dla takiego generatywnej zadania

+2

To brzmi jak błąd, czy możesz podać minimalistyczny skrypt do reprodukcji? BTW: możesz zgłaszać błędy bezpośrednio na https://github.com/scikit-learn/scikit-learn/issues – ogrisel

Odpowiedz

9

Pozytywne prawdopodobieństwa dziennika są w porządku.

Należy pamiętać, że prawdopodobieństwo obliczeniowe GMM jest funkcją gęstości prawdopodobieństwa (PDF), więc może być większe niż jeden w dowolnym punkcie.

Ograniczeniem jest to, że plik PDF musi być zintegrowany z jednym przez domenę danych.

Jeśli prawdopodobieństwo rejestrowania rośnie bardzo duże, to algorytm wnioskowania może osiągnąć zdegenerowane rozwiązanie (wspólne z oszacowaniem maksymalnego prawdopodobieństwa, jeśli masz mały zbiór danych).

Aby sprawdzić, czy algorytm GMM nie osiągnął zdegenerowanego rozwiązania, należy sprawdzić wariancje dla każdego komponentu. Jeśli którakolwiek z wariancji jest bliska zeru, jest to złe. Jako alternatywę należy użyć modelu Bayesa, a nie maksymalnego oszacowania prawdopodobieństwa (jeśli jeszcze tego nie robisz).

+0

Witam, dziękuję za odpowiedź, czy możesz wyjaśnić więcej na temat zdegenerowanej macierzy kowariancji? jak to się może stać? czy to oznacza, że ​​moje dane leżą głównie w jakiejś podprzestrzeni R^n, tak że wariancja wzdłuż jakiejś osi jest bliska zeru? – Jing

+0

Tak - dane mogą obejmować mniejszą podprzestrzeń wymiarową lub jeden z komponentów mieszaniny może być wyśrodkowany na jednym punkcie danych. Sprawdź, czy wartości własne macierzy kowariancji są bliskie zeru. – user1149913

Powiązane problemy