Agglomerative Clustering
概要
この演算子は、階層的クラスタリングのボトムアップ戦略である凝集クラスタリングを実行します。この演算子では、単一リンク、完全リンク、および平均リンクの3つの異なる戦略がサポートされています。この演算子の結果は階層クラスターモデルで、樹状図としてプロットする距離情報を提供します。
詳細
凝集クラスタリングは、階層的クラスタリングの戦略です。階層クラスタリング(接続ベースのクラスタリングとも呼ばれます)は、クラスターの階層を構築しようとするクラスター分析の方法です。階層的クラスタリングは、オブジェクトが遠く離れたオブジェクトよりも近くのオブジェクトに関連しているというコアアイデアに基づいています。そのため、これらのアルゴリズムは「オブジェクト」(またはExampleSetの場合は例)を接続して、距離に基づいてクラスターを形成します。クラスタの大部分は、クラスタの一部を接続するために必要な最大距離によって説明できます。異なる距離で、異なるクラスターが形成されます。これは、樹状図を使用して表すことができます。これは、「階層的クラスター化」という一般名の由来を説明しています。これらのアルゴリズムは、特定の距離で互いに結合するクラスター。樹状図では、y軸はクラスターが結合する距離を示し、オブジェクトはx軸に沿って配置され、クラスターが混同しないようにします。
階層的クラスタリングの戦略は、一般に2つのタイプに分類されます。
- Agglomerative:これはボトムアップのアプローチです。各観測は独自のクラスターで開始され、クラスターのペアは階層が上に移動するにつれてマージされます。
- 分割:これはトップダウンのアプローチです。すべての観測は1つのクラスターで開始され、階層が下に移動するにつれて分割が再帰的に実行されます。
階層的クラスタリングは、距離の計算方法が異なる一連のメソッドです。通常の距離関数の選択とは別に、ユーザーは使用するリンケージ基準を決定する必要があります。クラスターは複数のオブジェクトで構成されているため、距離を計算する複数の候補があります。一般的な選択肢は、単一リンケージクラスタリング(オブジェクト距離の最小)、完全リンケージクラスタリング(オブジェクト距離の最大)、または平均リンケージクラスタリング(UPGMA、「算術平均を使用した非加重ペアグループ法」とも呼ばれます)として知られています。
このアルゴリズムは、次のようにボトムアップ方式でクラスターを形成します。最初に、各例を独自のクラスターに配置します。現在のすべてのクラスターの中で、最短距離の2つのクラスターを選択します。これら2つのクラスターを、2つの元のクラスターをマージして形成された新しいクラスターに置き換えます。プールにクラスターが1つだけ残るまで、上記の2つの手順を繰り返します。
クラスタリングは、互いに類似しており、他のクラスターに属するオブジェクトとは異なるオブジェクトをグループ化することに関係しています。これは、ラベルのないデータから情報を抽出するための手法であり、多くのさまざまなシナリオで非常に役立ちます。たとえば、同様の購入行動を持つ顧客のクラスターを見つけることに関心があるマーケティングアプリケーションなどです。
入力
- サンプルセット (IOObject)この入力ポートには、ExampleSetが必要です。これは、添付のプロセス例のRetrieveオペレーターの出力です。
出力
- クラスターモデル(階層クラスターモデル)このポートは、階層クラスターモデルを提供します。実行されたクラスタリングに関する情報が含まれています。クラスタがどのようにマージされてクラスタの階層が作成されるかについて説明します。
- サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力を変更せずに渡されます。
パラメーター
- modeこのパラメーターは、クラスターモードまたはリンク条件を指定します。
- SingleLink:シングルリンク階層クラスタリングでは、各ステップで、最も近い2つのメンバーの距離が最小の2つのクラスター(または、最小のペアワイズ距離が最小の2つのクラスター)をマージします。
- CompleteLink:完全リンク階層的クラスタリングでは、各ステップで、直径が最小の2つのクラスター(または、ペアワイズ距離が最大の2つのクラスター)をマージします。
- AverageLink:平均リンククラスタリングは、外れ値に対する完全リンククラスタリングの感度と、コンパクトな球状オブジェクトとしてのクラスターの直感的な概念に対応しない長いリンクを形成する単一リンククラスタリングの傾向との間の妥協です。
範囲:選択
- measure_typesこのパラメーターは、ポイント間の距離を測定するために使用されるメジャーのタイプを選択するために使用されます。次のオプションが使用可能です: 混合メジャー 、 名目メジャー 、 数値メジャー 、およびブレグマン発散 。 範囲:選択
- mixed_measureこのパラメーターは、 メジャータイプパラメーターが「混合メジャー」に設定されている場合に使用できます。使用可能なオプションは「混合ユークリッド距離」 範囲のみです:選択
- nominal_measureこのパラメーターは、 メジャータイプパラメーターが「nominal measure 」に設定されている場合に使用できます。入力ExampleSetに数値属性がある場合、このオプションは適用できません。この場合、「数値測定」オプションを選択する必要があります。 範囲:選択
- numeric_measureこのパラメーターは、 メジャータイプパラメーターが「数値メジャー」に設定されている場合に使用できます。入力ExampleSetにノミナル属性がある場合、このオプションは適用できません。入力ExampleSetにノミナル属性がある場合、「ノミナル測定」オプションを選択する必要があります。 範囲:選択
- divergenceこのパラメーターは、 メジャータイプパラメーターが ‘bregman divergences’に設定されている場合に使用できます。 範囲:選択
- kernel_typeこのパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定されている場合にのみ使用できます。カーネル関数のタイプは、このパラメーターを介して選択されます。次のカーネルタイプがサポートされています。
- dot:ドットカーネルは、k(x、y)= x * yで定義されます。つまり、xとyの内積です。
- radial:放射状カーネルはexp(-g || xy || ^ 2)で定義されます。ここで、gはカーネルガンマパラメーターで指定されたガンマです。調整可能なパラメーターガンマは、カーネルのパフォーマンスに大きな役割を果たしており、目前の問題に注意深く調整する必要があります。
- polynomial:多項式カーネルは、k(x、y)=(x * y + 1)^ dで定義されます。dは多項式の次数であり、カーネル次数パラメーターで指定されます。多項式カーネルは、すべてのトレーニングデータが正規化される問題に適しています。
- neural:ニューラルカーネルは、2層のニューラルネットtanh(ax * y + b)によって定義されます。ここで、aはアルファで、bは切片定数です。これらのパラメーターは、カーネルaおよびカーネルbパラメーターを使用して調整できます。アルファの一般的な値は1 / Nです。Nはデータ次元です。 aとbのすべての選択が有効なカーネル関数につながるわけではないことに注意してください。
- sigmoid:これはシグモイドカーネルです。一部のパラメーターでは、シグモイドカーネルが無効であることに注意してください。
- anova:これはanovaカーネルです。ガンマと角度の調整可能なパラメーターがあります。
- epachnenikov:Epanechnikovカーネルは、-1〜1のuに対してこの関数(3/4)(1-u2)であり、その範囲外のuに対してゼロです。カーネルsigma1とカーネル次数の2つの調整可能なパラメーターがあります。
- gaussian_combination:これはガウスの組み合わせカーネルです。調整可能なパラメーターkernel sigma1、kernel sigma2、kernel sigma3があります。
- multiquadric:multiquadricカーネルは、|| xy || ^ 2 + c ^ 2の平方根で定義されます。調整可能なパラメーターkernel sigma1およびkernel sigma shiftがあります。
範囲:選択
- kernel_gammaこれは、SVMカーネルパラメーターガンマです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターが放射状または分散分布に設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma1これはSVMカーネルパラメータsigma1です。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがepachnenikov 、 ガウスの組み合わせ、またはマルチクアドリックに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma2これはSVMカーネルパラメータsigma2です。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがガウスの組み合わせに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma3これはSVMカーネルパラメータsigma3です。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがガウスの組み合わせに設定されている場合にのみ使用できます。 範囲:実数
- kernel_shiftこれは、SVMカーネルパラメーターシフトです。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがmultiquadricに設定されている場合にのみ使用できます。 範囲:実数
- kernel_degreeこれは、SVMカーネルパラメータの次数です。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがPolynomial 、 anovaまたはepachnenikovに設定されている場合にのみ使用できます。 範囲:実数
- kernel_aこれはSVMカーネルパラメータaです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
- kernel_bこれはSVMカーネルパラメータbです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
チュートリアルプロセス
Ripley-Setデータセットの凝集クラスタリング
「Ripley-Set」データセットは、Retrieve演算子を使用してロードされます。 ExampleSetを見ることができるように、ブレークポイントがこのステップに挿入されます。 Aggregomerative Clustering演算子は、このExampleSetに適用されます。プロセスを実行し、結果ワークスペースに切り替えます。結果のグラフビューに注意してください。アルゴリズムは、他のクラスタリングアルゴリズム(k-meansなど)として個別のグループまたはクラスターを作成していないことがわかります。代わりに、結果はクラスターの階層になります。フォルダビューでは、各クラスタのメンバーをフォルダ形式で見ることができます。フォルダーの階層であることがわかります。樹形図ビューには、このクラスタリングの樹形図が表示され、単一要素クラスターを段階的に結合してクラスターの階層を作成する方法が示されます。