2013-12-07 3 views
5

Ich hatte eine Frage darüber, wie ich mit GaussianHMM im scikit-learn-Paket auf mehrere verschiedene Beobachtungssequenzen gleichzeitig trainieren kann. Das Beispiel ist hier: visualizing the stock market structureScikit Learn HMM Training mit Satz von Beobachtungssequenzen

zeigt EM Konvergenz auf 1 lange Beobachtungssequenz. Aber in vielen Szenarien wollen wir die Beobachtungen aufbrechen (wie das Training auf einer Menge von Sätzen), wobei jede Beobachtungssequenz einen START- und END-Zustand aufweist. Das heißt, ich möchte global auf mehreren Beobachtungssequenzen trainieren. Wie kann man dies erreichen, wenn man GuassianHMM verwendet? Gibt es ein Beispiel zum Anschauen?

Vielen Dank im Voraus

+0

Funktioniert das, wenn eine Beobachtungssequenz mehrere Merkmale hat? – notArefill

Antwort

6

In angebracht Beispiel Sie tun

model.fit([X]) 

das ist die Ausbildung auf einem Singletons von Beobachtungen, wenn Sie mehrere diejenigen haben, zum Beispiel X1, X2, X3 können Sie laufen

model.fit([X1,X2,X3]) 

im allgemeinen für HMM Implementierung in scikit-Learn Sie es eine Sequenz geben von Beobachtungen S

model.fit(S) 
+0

@lejlotk funktioniert das, wenn eine Beobachtung mehrere Merkmale hat? (zB X1 ist ein Vektor in R^3) – notArefill

+1

Ja, in der Tat muss es ** etwas mit mehreren Features (im schlimmsten Fall nur eins) sein, Fit akzeptiert: "Liste von Array-ähnlichen Beobachtungssequenzen, jeweils von welche Form hat (n_i, n_features), wobei n_i die Länge der i_ten Beobachtung ist. " – lejlot

+0

@leijot danke. Vielleicht können Sie sich meine Frage in Kreuz validiert, dass http://stats.stackexchange.com/questions/169193/multiple-continuous-observations-in-hmm-gaussian-mixment – notArefill

Verwandte Themen