プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

クラスタリングアルゴリズムの特徴は何ですか?


クラスタリングアルゴリズムには、次のようなさまざまな特徴があります-

注文の依存関係 −いくつかのアルゴリズムでは、生成されるクラスターの機能と数は、データが処理される順序に基づいて、おそらく劇的に変化する可能性があります。このようなアルゴリズムを防ぐことが望ましいように思われるかもしれませんが、順序依存性が連想的に小さい場合や、アルゴリズムにいくつかの望ましい機能がある場合があります。

非決定論 − K-meansを含むクラスタリングアルゴリズムは順序に依存しませんが、ランダムな選択が必要な初期化ステップに基づいているため、実行ごとにいくつかの結果が得られます。クラスターの機能は実行ごとに異なる可能性があるため、複数の実行が不可欠になる可能性があります。

スケーラビリティ −データセットに数千のオブジェクトが含まれることは珍しくありません。そのようなデータセットに使用されるクラスタリングアルゴリズムは、線形またはほぼ線形の時間と空間の複雑さを備えている必要があります。

$ \ mathrm {O(m ^ 2)} $の複雑さを持つアルゴリズムでさえ、高情報セットには適していません。さらに、データセットのクラスタリング手法では、すべてのデータがメインメモリに収まるとか、データ要素をランダムに作成できるとは考えられません。このようなアルゴリズムは、高度な情報セットには実行できません。

パラメータの選択 −一部のクラスタリングアルゴリズムには、ユーザーがグループ化する必要のある1つ以上のパラメーターがあります。適切な値を選択するのは複雑な場合があるため、一般的に、「パラメータが少ないほど優れている」という態度になります。パラメータを少し変更するとクラスタリングの結果が変わる場合、パラメータ値の選択はさらに複雑になります。

最後に、パラメーター値を決定するためのプロセス(ユーザー入力を含むことができる)がサポートされていない限り、アルゴリズムのユーザーは、試行錯誤を使用して関連するパラメーター値を見つけることになります。

クラスタリングの問題を別のドメインに変換する −一部のクラスタリング手法で採用されている方法の1つは、クラスタリングの問題を複数ドメインの問題にマッピングすることです。グラフベースのクラスタリングは、クラスターを検出するサービスを、近接グラフを接続された要素に分割するタスクにマッピングします。

クラスタリングを最適化問題として扱う −クラスタリングは最適化問題と見なされます。ユーザー定義の目的関数によって計算された結果のクラスターのセットの寛大さを最大化する方法で、ポイントをクラスターに分割します。

たとえば、K-meansクラスタリングアルゴリズムは、最も近いクラスター重心からの各ポイントの距離の2乗の合計を最小化するクラスターのセットを検出しようとします。このような問題は、考えられるクラスターのセットをいくつか列挙し、目的関数の値が優れているものを選択することで解決できますが、この徹底的な方法は計算上不合理です。


  1. Cトークンとは何ですか?

    Cプログラムは命令のコレクションであり、各命令は個々のユニットのコレクションです。 Cプログラムのすべての小さな個々のユニットは一般にトークンと呼ばれ、Cプログラムのすべての命令はトークンのコレクションです。 トークンはCプログラムを構築するために使用され、Cプログラムの基本的な構成要素とも言われています。 Cプログラムでは、トークンには次のものが含まれます- キーワード 識別子 オペレーター 特別な記号 定数 文字列 データ値 Cプログラムでは、これらすべてのキーワード、識別子、演算子、特殊記号、定数、文字列、およびデータ値の集合をトークンと呼びます。 例 以下は、大文字のアル

  2. Java 9のモジュールの特徴は何ですか?

    モジュール コード、データ、およびリソースのコレクションです。これは、クラスのような関連するパッケージとタイプのセットです。 、要約 クラス 、およびインターフェース コード、データファイル、およびいくつかの静的リソースを使用します。 以下は、モジュールの特徴の一部です。 モジュールの特徴: モジュールはインターフェースを定義する必要があります 他のモジュールとの通信用。 モジュールは、モジュール間の分離を定義します インターフェース およびモジュール 実装 。 モジュールは、情報を含む一連のプロパティを提示します。 2つ以上のモジュールがネストされています 一緒に。 モジュールにはクリア