データセットでのグループ検出
-
20-09-2019 - |
質問
ここにプロットされたものなどのデータポイントのグループを仮定します(このグラフは私の問題に固有のものではありませんが、適切な例として使用されます):
散布図を視覚的に検査すると、データポイントが2つの「グループ」を形成することはかなり明らかです。
アルゴリズムを探しています。
- 2つ以上の次元のデータセットから始めます。
- そのようなグループをデータセットから検出してください。
- グループが検出されたら、グループのモデルを「尋ね」、新しいサンプルポイントがどのグループにも適合しているように見えるかどうか
解決
多くの選択肢がありますが、新しいデータポイントが特定の混合物に属する可能性に興味がある場合、最尤またはベイズによって推定されるガウス混合モデリングなどの確率的アプローチを使用します。
の最尤推定 混合モデルはMATLABに実装されています.
コンポーネントの数が不明であるという要件により、モデルがより複雑になります。支配的な確率的アプローチは、混合物の分布に事前にディリクレのプロセスを配置し、いくつかのベイズ法による推定を行うことです。たとえば、参照してください この論文は、無限のガウス混合モデルに関するものです. 。 DP混合モデルは、各要素が属するコンポーネントの数とコンポーネントの数を推論します。これはまさにあなたが望むものです。または、コンポーネントの数でモデル選択を実行することもできますが、これは一般的にエレガントではありません。
DP混合モデルモデルには多くの実装がありますが、それほど便利ではないかもしれません。たとえば、ここにあります MATLAB実装.
あなたのグラフは、あなたがRユーザーであることを示唆しています。その場合、あなたが事前に梱包されたソリューションを探しているなら、あなたの質問に対する答えはこれにあります クラスター分析のタスクビュー.
他のヒント
私はあなたがの線に沿って何かを探していると思います k-meansクラスタリングアルゴリズム.
ほとんどの汎用言語で適切な実装を見つけることができるはずです。
クラスタリングアルゴリズムの1つが必要です。それらはすべて2つのグループで逸脱することができます。
- あなたはあなたの例で2つのグループ(クラスター) - 2つのクラスターを指定します
- アルゴリズムは、正しい数のクラスター自体を推測しようとします
1型のアルゴリズムが必要な場合は、K-Meansが本当に必要なものです。
2番目のタイプのアルゴリズムが必要な場合は、おそらく階層的なクラスタリングアルゴリズムの1つが必要です。私はそれらのどれも実装していません。しかし、K-meansを改善する簡単な方法は、クラスターの数を指定する必要がないことを考えています。