インテル® DAAL 2017 デベロッパー・ガイド
次元 p の n 特徴ベクトル x1= (x11,…,x1p), ..., xn= (xn1,…,xnp) と正の整数 k で、ゴール関数 (クラスター内の 2 乗和) を最小化する kp 次元のベクトル m1,…,mk を見つけます。
ここで、Si は、mi が最も接近した中心のベクトルのセットです。ベクトル m1,…,mk はセントロイドと呼ばれます。計算を開始するには、アルゴリズムにセントロイドの初期値が必要です。
セントロイド初期化は、以下の方法を使用して行います。
データセットから最初の k 特徴ベクトルを選択します。
次の (単純なランダム・サンプリング) アルゴリズムを使用してデータセットから k 特徴ベクトルをランダムに選択します。
S に入力データセットからすべての n 特徴ベクトルを含めます。アルゴリズムは次の操作を行います。
等確率の S から特徴ベクトルの 1 つ si を選択します。
S から si を除外し、サンプルに追加します。
サンプルがサイズ k に達するまでステップ 1 から繰り返します。
目標関数の計算には、ベクトル間のユークリッド距離の計算 ||xj- mi|| が含まれます。アルゴリズムは、特徴ベクトル a と b の間のユークリッド距離: d(a,b) = d1(a,b) + d2(a,b) を使用します。ここで、d1 は連続特徴の計算に使用されます。
d2 は二項カテゴリカル特徴の計算に使用されます。
これらの式で、γ はクラスタリングの二項カテゴリカル特徴の影響の重み、p1 は連続特徴の数、p2 は二項カテゴリカル特徴の数です。アルゴリズムは非二項カテゴリカル特徴をサポートしないことに注意してください。
K 平均法アルゴリズムは、Lloyd メソッド [Lloyd82] を使用してセントロイドを計算します。各特徴ベクトル x1,…,xn で、特徴ベクトルを含むクラスターのインデックスを計算することもできます。