Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

クラスター分析手法の選択

このトピックでは、Statistics and Machine Learning Toolbox™ で使用可能なクラスタリング手法の概要を簡単に説明します。

Iクラスタリング手法

"クラスター分析""セグメント分析" または "分類分析" とも呼ばれ、一般的な教師なし学習手法です。教師なし学習は、ラベル付きの応答がない入力データから構成されるデータ セットから推論を行うために使用されます。たとえば、クラスター分析は、ラベル付けされていないデータの隠されたパターンまたはグループを探すために探索的データ分析で使用できます。

クラスター分析はデータのグループ、すなわち "クラスター" を作成します。同じクラスターに属するオブジェクトは互いに類似しており、別のクラスターに属するオブジェクトとは異なっています。"類似" と "相違" を定量化するために、アプリケーションやデータ セットの領域に固有の非類似度測定 (または距離計量) を使用できます。また、アプリケーションに応じてデータ内の変数をスケーリング (または標準化) して、クラスタリング時に同じ重要度を与えることを検討することもできます。

Statistics and Machine Learning Toolbox は、次のようなクラスタリング手法の機能を提供します。

階層クラスタリング

階層的なクラスタリング グループは、クラスター ツリーまたは "系統樹" を作成することによって、さまざまなスケールで、データをグループ化します。このツリーは、1 つのクラスターの集合ではなく、あるレベルのクラスターが組み合わさって次のレベルのクラスターを形成する多重レベルの階層です。この多重レベルの階層により、アプリケーションに最適なクラスタリングのレベルまたはスケールを選択することが可能になります。階層クラスタリングでは、データ内のすべての点をクラスターに割り当てます。

clusterdata を使用して入力データに対して階層クラスタリングを実行します。clusterdata によって関数 pdistlinkage、および cluster が組み込まれ、これらの関数はさらに詳細な分析で別々に使用することもできます。関数 dendrogram は、クラスター ツリーをプロットします。詳細は、階層クラスタリングの紹介を参照してください。

k-means および kMedoid クラスタリング

k-means クラスタリングと k-medoids クラスタリングは、互いに排他的な k 個のクラスターにデータを分割します。こうしたクラスタリング手法では、クラスター数 k を指定しなければなりません。k-means および k-medoids のどちらのクラスタリングもデータ内のすべての点をクラスターに割り当てますが、階層クラスタリングとは異なり、これらの方式は (非類似度の測定値ではなく) 実際の観測値で動作し、単一レベルのクラスターを作成します。そのため、k-means または k-medoids クラスタリングは、大量のデータを処理する場合に階層クラスタリングより適していることが多くあります。

kmeans および kmedoids を使用して、k-means クラスタリングおよび k-medoids クラスタリングをそれぞれ実装します。詳細については、k-means クラスタリングおよびk-Medoids クラスタリングの紹介を参照してください。

Density-Based Spatial Clustering of Applications with Noise (DBSCAN)

DBSCAN は、任意の形状のクラスターおよびデータの外れ値 (ノイズ) を識別する、密度に基づくアルゴリズムです。クラスタリングの実行中に、DBSCAN はどのクラスターにも属していない点を識別します。そのため、この手法は密度に基づく外れ値の検出に役立ちます。k-means クラスタリングおよび k-medoids クラスタリングと異なり、DBSCAN ではクラスターの数を事前に知る必要はありません。

入力データ行列または観測値間のペアワイズ距離に対するクラスタリングを実行するには、dbscan を使用します。詳細は、DBSCAN の紹介を参照してください。

混合ガウス モデル

混合ガウス モデル (GMM) は、多変量正規密度成分の混合としてクラスターを形成します。特定の観測値に対して、GMM は事後確率を各成分密度 (またはクラスター) に割り当てます。事後確率は、観測値が各クラスターに属する確率がある程度はあることを示します。GMM は、観測値の割り当て済みクラスターとして事後確率を最大にする成分を選択することにより、"ハード" クラスタリングを実行できます。また、GMM を使用して、クラスターの観測値のスコアや事後確率に基づいて観測値を複数のクラスターに割り当てることにより、"ソフト" または "ファジィ" クラスタリングを実行することもできます。クラスターのサイズが同一でなく、クラスター内の相関構造も異なる場合、GMM の方が k-means クラスタリングよりも適切な方式である場合があります。

fitgmdist を使用して、gmdistribution オブジェクトをデータに当てはめます。gmdistribution を使用して、分布パラメーターを指定することで GMM オブジェクトを作成することもできます。GMM を当てはめたら、関数 cluster を使用してクエリ データをクラスタリングできます。詳細は、混合ガウス モデルを使用したクラスタリングを参照してください。

k 最近傍探索および半径探索

k 最近傍検索では、1 つのクエリ点または一連のクエリ点に対して最も近い k 個の点をデータ内で見つけます。これに対して、半径探索は、1 つのクエリ点または一連のクエリ点から指定された距離内に存在するすべての点をデータ内で見つけます。こうした方式の結果は、指定する距離計量に応じて異なります。

関数 knnsearch を使用して k 最近傍を検索するか、関数 rangesearch を使用して入力データの指定された距離内にあるすべての近傍を検索します。また、学習データ セットを使用して探索モデル オブジェクトを作成し、オブジェクトとクエリ データ セットをオブジェクト関数 (knnsearch および rangesearch) に渡すこともできます。詳細は、最近傍点を使用した分類を参照してください。

スペクトル クラスタリング

スペクトル クラスタリングは、データ内にある k 個の任意の形状のクラスターを見つけるためのグラフベースのアルゴリズムです。この手法では、データを低次元で表します。低次元では、データ内のクラスターがより広く分離されるため、k-means または k-medoids クラスタリングといったアルゴリズムを使用できます。この低次元は、ラプラシアン行列の固有ベクトルに基づいています。ラプラシアン行列は、データ点間の局所的な近傍関係をモデル化する類似度グラフを無向グラフとして表す 1 つの方法です。

spectralcluster を使用して、入力データ行列または類似度グラフの類似度行列に対してスペクトル クラスタリングを実行します。spectralcluster では、クラスター数を指定しなければなりません。ただし、スペクトル クラスタリングのアルゴリズムは、データに含まれるクラスター数を推定する方法も提供します。詳細は、スペクトル クラスタリングを使用したデータの分割を参照してください。

クラスタリング手法の比較

この表では、Statistics and Machine Learning Toolbox で使用可能なクラスタリング手法の機能を比較しています。

メソッドアルゴリズムの基礎アルゴリズムへの入力指定された数のクラスターが必要特定されたクラスター形状外れ値検出に有用
階層クラスタリングオブジェクト間の距離観測値間のペアワイズ距離なし任意の形状のクラスター。指定された 'Linkage' アルゴリズムに応じて異なるなし
k-means クラスタリングおよび k-medoids クラスタリング オブジェクトと重心の間の距離実際の観測値あり等しい対角共分散をもつ球状のクラスターなし
Density-Based Spatial Clustering of Applications with Noise (DBSCAN)データ内の領域の密度実際の観測値または観測値間のペアワイズ距離なし任意の形状のクラスターあり
混合ガウス モデルガウス分布の混合実際の観測値あり異なる共分散構造をもつ球状のクラスターあり
最近傍オブジェクト間の距離実際の観測値なし任意の形状のクラスターあり。指定された近傍の数に応じて異なる
スペクトル クラスタリング (スペクトル クラスタリングを使用したデータの分割)データ点間の接続を表すグラフ実際の観測値または類似度行列あり。ただし、アルゴリズムはクラスターの数を推定する方法も提供する任意の形状のクラスターなし

関連するトピック