1

ベクトルのセットがあります。ベクトルには、3 つの異なるカテゴリがあります。A、B、C. 次に、次の基準に従ってこれらをクラスター化する必要があります。

  1. 各クラスターには、最小で 1 つ、最大で 3 つのベクトルが必要です。
  2. 各クラスター内のすべてのベクトルは、異なるタイプである必要があります。つまり、クラスタには、同じタイプの A、B、または C のベクトルが 2 つ以上含まれていてはなりません。
  3. ここにベクトルのセットを含むクラスターがある場合、任意の 2 つのベクトル間の距離 (ユークリッド距離としましょう) は、事前定義されたしきい値 T よりも小さくなります。
  4. 2 つ以上のベクトル (もちろん最大 3 つ) を含むクラスターがある場合、これらのベクトルの 1 つがタイプ A であることが必須です。

このタイプのクラスタリングを実行する既存のアルゴリズムはありますか? これを最初から行う必要があると仮定すると、上記の条件に従ってベクトルをクラスター化するには、どの手順に従う必要がありますか?

4

1 に答える 1

1

この種のことは、制約エンジンを使用して解決できます。chocoのようなものには、リストしたすべての制約のサポートが含まれています (最適化とともに、あいまいさがある場合は最小数のクラスターが必要だと思いますか?)。

私はチョコの専門家ではありませんが、学習中に作成したメモが助けになる場合があります(これらはすべて制約解決に関するものですが、昨夜最適化が機能し、すぐに追加されます)。明確な学習曲線がありますが、この複雑なものについては、自分で解決策を書くよりも学習に時間がかかるとは思いません (そして、将来的には、非常に具体的なコードの山ではなく、新しい一般的なツールを手に入れることができます) )

そしてchocoはユニークではありません - これらはもっとたくさんあります -グーグルは最近いくつかをパッケージ化しました.

于 2012-04-12T12:46:43.483 に答える