spectralcluster
構文
説明
例
入力引数
出力引数
詳細
ヒント
データ内のクラスターが凸領域に自然に対応しないとき、スペクトル クラスタリングの使用を検討してください。
スペクトル クラスタリング アルゴリズムにより、クラスター数
k
を次のように推定できます。たとえば、クラスター数の推定とスペクトル クラスタリングの実行を参照してください。
アルゴリズム
スペクトル クラスタリングは、データ点 (または X
内の観測値) をクラスタリングするグラフベースのアルゴリズムです。アルゴリズムには、グラフの作成、そのラプラシアン行列の特定、この行列を使用した k 通りにグラフを分割する k 個の固有ベクトルの特定が含まれます。既定では、spectralcluster
のアルゴリズムは、Shi-Malik[2]によって説明されている方式を使用して、正規化されたランダムウォーク ラプラシアン行列を計算します。spectralcluster
は正規化されていないラプラシアン行列と、Ng-Jordan-Weiss 方式[3]を使用する正規化された対称ラプラシアン行列もサポートします。spectralcluster
はクラスタリングを次のように実装します。
名前と値のペアの引数
'SimilarityGraph'
で指定されているように、X
内の各データ点に対して、半径探索法または最近傍法のいずれかを使用して局所的な近傍を定義します (類似度グラフを参照)。次に、近傍内のすべての点 i および j のペアワイズ距離 を求めます。カーネル変換 を使用して、距離を類似度測定に変換します。名前と値のペアの引数
'KernelScale'
を使用して指定されるように、行列 S は類似度行列であり、σ はカーネルのスケール係数です。名前と値のペアの引数
'LaplacianNormalization'
の値に応じて、正規化されていないラプラシアン行列 L、正規化されたランダムウォーク ラプラシアン行列 Lrw、または正規化された対称ラプラシアン行列 Ls を計算します。列 が含まれる行列 を作成します。この行列の列は、ラプラシアン行列の k 個の最小固有値に対応する k 個の固有ベクトルです。Ls を使用している場合は、V の各行が単位長さをもつように正規化します。
V の各行を点として処理することで、名前と値のペアの引数
'ClusterMethod'
で指定されているように、k-means クラスタリング (既定) または k-medoids クラスタリングを使用して n 個の点をクラスタリングします。X
内の元の点を V 内の対応する行として同じクラスターに割り当てます。
参照
[2] Shi, J., and J. Malik. “Normalized cuts and image segmentation.” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 22, 2000, pp. 888–905.
[3] Ng, A.Y., M. Jordan, and Y. Weiss. “On spectral clustering: Analysis and an algorithm.” In Proceedings of the Advances in Neural Information Processing Systems 14. MIT Press, 2001, pp. 849–856.
バージョン履歴
R2019b で導入