scikit-learn GMM производит положительную логарифмическую вероятность
Я использую Gaussian Mixture Model из пакета python scikit-learn для обучения моего набора данных, однако я считаю, что когда я кодирую
- G= смесь. ГММ (...)
- Г.Фит (...)
- G.score(функция суммы)
полученная логарифмическая вероятность является положительным действительным числом... почему это? логарифмическая вероятность не гарантированно будет отрицательной?
Я понял то, что модель гауссовой смеси возвращает нам в логарифмической вероятности "плотность" вместо вероятности "масса", так что положительное значение вполне разумно.
Если ковариационная матрица близка к единственной, то GMM не будет работать хорошо, и, как правило, это означает, что данные не годятся для такой генеративной задачи
1 ответ
Положительные логарифмические вероятности в порядке.
Помните, что вычисленная GMM вероятность является функцией плотности вероятности (PDF), поэтому может быть больше единицы в любой отдельной точке.
Ограничение заключается в том, что PDF-файл должен интегрироваться в один из предметной области.
Если логарифмическая вероятность становится очень большой, то алгоритм вывода может достичь вырожденного решения (обычно при оценке максимального правдоподобия, если у вас небольшой набор данных).
Чтобы проверить, что алгоритм GMM не достиг вырожденного решения, вы должны посмотреть на отклонения для каждого компонента. Если любая из дисперсий близка к нулю, то это плохо. В качестве альтернативы вы должны использовать байесовскую модель, а не оценку максимального правдоподобия (если вы еще этого не делаете).