2017-03-03 9 views
0

sklearn.mixture.BayesianGaussianMixtureを使用して一連の軌跡に合わせようとしています。sklearn BayesianGaussianMixture複数のデータポイントに基づくクラスタ割り当て

各軌道は、データポイントのセットからなる。 t_iは、i番目の軌道と(x_ik, y_ik)ある

t_i = {x_i1, y_i1, x_i2, y_i2, ... , x_iN, y_iN}, 

は、軌道上のk番目の点です。例えば、x_ikは、時間ステップkでロボットの状態を表すことができ、y_ikは、ロボットがとる動作を表すことができる。 各GPコンポーネントはx_ik - > y_ikのマッピングになります。それはsklearnを使用してGPを学ぶための非常に標準です。

しかし、以前にDirichlet Processでガウス混合モデルを学習するには、を追加するときにを決定する必要があります。

BayesianGaussianMixtureクラスは、単一のデータポイントに基づいてクラスターを割り当てるためのインターフェイスを提供します。つまり、新しいデータポイントが新しいクラスタに属しているかどうか。

私が興味を持っているのは、それぞれの軌跡に多くのデータポイントが含まれているかもしれない一連の軌道を与えることです。軌道に基づいてクラスタ割り当てを行う方法はありますか?すなわち、新しい軌道が与えられれば、それが新しいクラスタに属するか否かを決定する。

答えて

0

私は次のアプローチに行きます。

最初は、連続座標を離散値のセットに変換してみてください。たとえば、マップをセルに分割し、セルに基づいて各ポイント(x_i、y_i)にラベルを割り当てることができます。この場合、各軌道は、ラベル

traj_1: cell_id_0 -> cell_id_1 -> ... -> cell_id_n 
traj_2: cell_id_3 -> cell_id_6 -> ... -> cell_id_m 
... 

の配列は今では機能の固定セットで(おそらく異なる長さの)それぞれの軌跡を表すためにbag-of-words又はword2vecようなものを使用することが可能であるとなり、または、で言い換えれば、高次元空間におけるのシングポイントとして。より単純な方法があるかもしれませんが、私はそれを認識していません。

+0

@MinChen少なくとも理論的な観点からは、それほど重要ではないと思います。実際には、各データポイントに個別のラベルを割り当てる手順が複雑になります。私はここでアドバイスをすることができません、それは問題自体に潜入する必要があります。 – CaptainTrunky

+0

ありがとうございました。それは簡単な方法ではないようです。 –

関連する問題