Как использовать "модель Гауссовой смеси процесса Дирихле" в Scikit-learn? (компоненты N?)

мое понимание "бесконечной модели смеси с процессом Дирихле как предварительного распределения по числу кластеров" заключается в том, что число кластеров определяется данными, поскольку они сходятся к определенному количеству кластеров.

этой R Implementation https://github.com/jacobian1980/ecostates принимает решение о количестве кластеров в эту сторону. Хотя ... --2--> использует образец Гиббса, я не уверен, что это влияет на это.

что меня смущает-это n_components параметры. n_components: int, default 1 : Number of mixture components. если количество компонентов определяется данными, и процесс Дирихле, то что это за параметр?


в конечном счете, я пытаюсь сделать:

(1) назначение кластера для каждого образца;

(2) векторы вероятности для каждого кластера; и

(3) вероятность/log-вероятность для каждого образца.

это выглядит как (1) является predict способ и (3) является score метод. Однако выход (1) полностью зависит от n_components hyperparameter.

мои извинения если это наивный вопрос, я очень новичок в байесовском программировании и заметил, что было Dirichlet Process на Scikit-learn что я хотел попробовать.


вот документы: http://scikit-learn.org/stable/modules/generated/sklearn.mixture.DPGMM.html#sklearn.mixture.DPGMM

вот пример использования: http://scikit-learn.org/stable/auto_examples/mixture/plot_gmm.html

вот мое наивное использование:

from sklearn.mixture import DPGMM
X = pd.read_table("Data/processed/data.tsv", sep="t", index_col=0)
Mod_dpgmm = DPGMM(n_components=3)
Mod_dpgmm.fit(X)

1 ответов


как упоминалось @maxymoo в комментариях,n_components - параметр усечения.

в контексте процесса китайского ресторана, который связан с представлением Stick-breaking в DP-GMM sklearn, новая точка данных присоединяется к существующему кластеру k С вероятностью |k| / n-1+alpha и начинается новый кластер с вероятностью alpha / n-1 + alpha. Этот параметр можно интерпретировать как параметр концентрации процесса Дирихле, и он будет влиять на конечный количество кластеров.

В отличие от реализации R, которая использует выборку Гиббса, реализация DP-GMM склеарна использует вариационный вывод. Это может быть связано с разницей в результатах.

нежный процесс Дирихле учебник можно найти здесь.