したがって、ライブで継続的にストリーミングするデータを使用したクラスタリングに関して、私が直面している問題があります。私は増え続けるデータセットを持っているので、効率的で効果的なクラスタリングを実行するための最良の方法は何なのかわかりません。私はいくつかの可能な解決策を考え出しました:
許可するデータポイントの数に制限を設定すると、別のデータポイントが最も古いポイントに到達するときに制限に達するたびに削除されます。本質的に、これは、古いデータは、私たちがそれを捨てることによって失うものを気にするほど私たちにとって十分に関連性がないことを示唆します。
適切なクラスタリングを行うのに十分なデータが揃ったら、すべてのデータを再クラスタリングするのではなく、この「セットアップ」を検討し、新しいポイントが発生したら、新しいポイントが最も近いクラスタ中心を見つけてそれに追加します。ここでの利点は、すべての新しいポイントで再クラスター化する必要がなくなり、他のすべてのポイントを格納する必要がなく、クラスター化を「十分」に考慮してクラスターセンターのみを格納する必要があることです。欠点は、最初からすべてのデータポイントを使用してアルゴリズムを再実行すると、より正確になる可能性があることです。
これらは私がブレインストーミングしたいくつかの潜在的な解決策ですが、この問題に直面するためのよりよく知られた手法があるかどうか知りたいです。私はGoogleのようなサイトが何らかの形でそれに対処しなければならなかったと思います(そして、「RAM、サーバー、プロセッサーをさらに追加する」または「データセンターを継続的に拡張する」が利用可能な唯一の答えではないことを願っています)。