ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

cluster

混合ガウス分布からクラスターを作成

構文

idx = cluster(gm,X)
[idx,nlogL] = cluster(gm,X)
[idx,nlogL,P] = cluster(gm,X)
[idx,nlogL,P,logpdf] = cluster(gm,X)
[idx,nlogL,P,logpdf,d2] = cluster(gm,X)

説明

idx = cluster(gm,X) は、gm 内の k 個の混合ガウス成分によって決定される k 個のクラスターに X 内のデータを分割します。idx(i) の値は観測値 i のクラスター インデックスであり、観測値 i に対して事後確率が最大になる成分を示します。

[idx,nlogL] = cluster(gm,X) は、データ X に対する混合ガウス モデル gm の負の対数尤度も返します。

[idx,nlogL,P] = cluster(gm,X) は、X 内の各観測値に対する gm 内の各混合ガウス成分の事後確率も返します。

[idx,nlogL,P,logpdf] = cluster(gm,X) は、X 内の各観測値で評価した推定確率密度関数 (pdf) の対数も返します。

[idx,nlogL,P,logpdf,d2] = cluster(gm,X) は、gm 内の各混合ガウス成分に対する X 内の各観測値のマハラノビス平方距離も返します。

すべて折りたたむ

関数 mvnrnd を使用して、2 つの二変量ガウス分布の混合に従う確率変量を生成します。関数 fitgmdist を使用して、生成したデータに混合ガウスモデル (GMM) をあてはめます。次に、関数 cluster を使用して、あてはめた GMM の成分によって決定される 2 つのクラスターにデータを分割します。

2 つの二変量混合ガウス成分の分布パラメーター (平均と共分散) を定義します。

mu1 = [2 2];          % Mean of the 1st component
sigma1 = [2 0; 0 1];  % Covariance of the 1st component
mu2 = [-2 -1];        % Mean of the 2nd component
sigma2 = [1 0; 0 1];  % Covariance of the 2nd component

各成分から同じ個数の確率変量を生成し、2 組の確率変量を結合します。

rng('default') % For reproducibility
r1 = mvnrnd(mu1,sigma1,1000);
r2 = mvnrnd(mu2,sigma2,1000);
X = [r1; r2];

結合したデータセット X には、2 つの二変量ガウス分布の混合に従う確率変量が含まれています。

2 成分の GMM を X にあてはめます。

gm = fitgmdist(X,2);

scatterを使用して、X をプロットします。あてはめられたモデル gmpdfezcontour を使用して可視化します。

figure
scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10
hold on
ezcontour(@(x,y)pdf(gm,[x y]),[-6 8],[-4 6])

近似させた GMM とデータを cluster に渡すことにより、データをクラスターに分割します。

idx = cluster(gm,X);

gscatter を使用して、idx によってグループ化された散布図を作成します。

figure;
gscatter(X(:,1),X(:,2),idx);
legend('Cluster 1','Cluster 2','Location','best');

入力引数

すべて折りたたむ

混合ガウス分布。混合ガウス モデル (GMM) とも呼ばれます。gmdistribution オブジェクトを指定します。

gmdistribution オブジェクトは、gmdistribution または fitgmdist を使用して作成できます。分布パラメーターを指定して gmdistribution オブジェクトを作成するには、関数 gmdistribution を使用します。固定数の成分に対して gmdistribution モデルをデータにあてはめるには、関数 fitgmdist を使用します。

データ。n 行 m 列の数値行列を指定します。n は観測値の個数、m は各観測値の変数の個数です。

クラスター化の結果を意味のあるものにするには、gm の作成に使用したデータと同じ母集団から X が派生していなければなりません。

X の行に NaN が含まれている場合、cluster はその行を計算から除外します。idxPlogpdf および d2 内の対応する値は NaN になります。

データ型: single | double

出力引数

すべて折りたたむ

クラスター インデックス。n 行 1 列の正の整数ベクトルとして返されます。n は X 内の観測値の個数です。

idx(i) は観測値 i のクラスター インデックスであり、観測値 i に対して事後確率が最大になる混合ガウス成分を示します。

データ X に対する混合ガウスモデル gm の負の対数尤度値。数値として返されます。

X 内の各観測値に対する gm 内の混合ガウス成分の事後確率。n 行 k 列の数値ベクトルとして返されます。n は X 内の観測値の個数、k は gm 内の混合成分の個数です。

P(i,j) は、観測値 i に対する j 番目の混合ガウス成分の事後確率、Probability(成分 j | 観測値 i) です。

X 内の各観測値で評価した推定 pdf の対数。n 行 1 列の数値ベクトルとして返されます。n は X 内の観測値の個数です。

logpdf(i) は、観測値 i における推定 pdf の対数です。関数 cluster は、各観測値に対する各成分の尤度と成分の確率を使用して推定 pdf を計算します。

logpdf(i)=logj=1kL(Cj|Oi)P(Cj),

L(Cj|Oj) は観測値 i に対する成分 j の尤度、P(Cj) は成分 j の確率です。関数 cluster は、観測値 i で評価した j 番目の混合ガウス成分の多変量正規 pdf を使用して尤度項を計算します。成分の確率は、混合成分の混合比率、つまり gmComponentProportion プロパティです。

gm 内の各混合ガウス成分に対する X 内の各観測値のマハラノビス平方距離。n 行 k 列の数値行列として返されます。n は X 内の観測値の個数、k は gm 内の混合成分の個数です。

d2(i,j) は、j 番目の混合ガウス成分に対する観測値 i の平方距離です。

R2007b で導入