このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
このトピックでは、统计和机器学习工具箱™の関数集群
を使用した混合ガウスモデル(GMM)によるクラスタリングについて紹介し,fitgmdist
を使用してGMMモデルをあてはめるときにオプションパラメーターを指定する効果を示す例を提供します。
多くの場合,データのクラスタリングには混合ガウスモデル(GMM)が使用されます。GMMを使用して”ハード”クラスタリングまたは”ソフト”クラスタリングをクエリデータに対して実行できます。
“ハード”クラスタリングを実行するために,GMMは与えられたデータにおいて,成分の事後確率が最大になる多変量正規成分にクエリデータ点を割り当てます。つまり,近似させたGMMが与えられると,集群
は事後確率が最大になる成分にクエリデータを割り当てます。ハードクラスタリングはデータ点を1つのクラスターだけに割り当てます。GMMをデータにあてはめる方法,あてはめたモデルを使用するクラスタリングの方法,および成分の事後確率を推定する方法の例については,ハードクラスタリングの使用による混合ガウスデータのクラスタリングを参照してください。
さらに,GMMを使用してより柔軟なクラスタリングをデータに対して実行できます。これは”ソフト”(または“ファジー”)クラスタリングと呼ばれます。ソフトクラスタリング手法では,各クラスターについてスコアをデータ点に割り当てます。スコアの値は,クラスターに対するデータ点の関連性の強さを示します。ハードクラスタリング手法とは対照的に,ソフトクラスタリング手法は1つのデータ点を複数のクラスターに割り当てることができるため柔軟です。GMMクラスタリングを行う場合,スコアは事後確率です。GMMを使用するソフトクラスタリングの例については,ソフトクラスタリングの使用による混合ガウスデータのクラスタリングを参照してください。
GMMによるクラスタリングは,サイズおよび相関の構造が異なる複数のクラスターに対応できます。そのため,特定の用途では,k——クラスタリングなどの手法よりもGMMによるクラスタリングの方がより適切な場合があります。多くのクラスタリング手法と同じように,GMMによるクラスタリングでは,モデルをあてはめる前にクラスター数を指定しなければなりません。クラスター数により,GMM内の成分数が決まります。
GMMの場合,次のベストプラクティスに従ってください。
成分の共分散構造を検討する。対角またはフルの共分散行列を指定できます。また,すべての成分について共分散行列を同じにするかどうかを指定できます。
初期条件を指定する。期待値最大化(EM)アルゴリズムはGMMをあてはめます。k——クラスタリングアルゴリズムのように,EMは初期条件の影響を受け,局所的な最適解に収束する場合があります。パラメーターの初期値を指定するか,データ点についてクラスターの初期割り当てを指定または無作為に選択するか,k——+ +アルゴリズムの使用を指定できます。
正則化を実装する。たとえば,データ点の数より予測子の数が多い場合,推定を安定させるために正則化を行うことができます。
この例では,GMMによるクラスタリングを実行するときに,共分散構造および初期条件に関するさまざまなオプションを指定する効果を確認します。
フィッシャーのアヤメのデータセットを読み込みます。がく片の測定値をクラスタリングすることを考え,がく片の測定値を使用してデータを2次元で可視化します。
负载fisheriris;X =量(:,1:2);(氮、磷)= (X)大小;情节(X (: 1) X (:, 2),“。”,“MarkerSize”15);标题(Fisher' s Iris数据集);包含(“花萼长度(厘米)”);ylabel (萼片宽(cm)的);
GMMの成分数kにより,部分母集団またはクラスターの数が決まります。この図では,適切なガウス成分の数が2、3またはそれ以上であるかどうかを判別することが困難です。kが大きくなると,GMMの複雑さが増大します。
異なる共分散の構造オプションの指定
各ガウス成分には共分散行列があります。幾何学的に,共分散の構造はクラスターに対して描いた信頼楕円体の形状を決定します。すべての成分について共分散行列を対角またはフルにするかどうかを指定できます。また,すべての成分について共分散行列を同じにするかどうかも指定できます。指定の組み合わせにより,楕円の形状と方向が決まります。
EMアルゴリズムについて3つのGMM成分と1000回の最大反復回数を指定します。再現性を得るため,乱数シードを設定します。
提高(3);k = 3;% GMM组件数量选择= statset (“麦克斯特”, 1000);
共分散の構造オプションを指定します。
σ= {“对角线”,“全部”};协方差矩阵类型的选项nSigma =元素个数(σ);SharedCovariance ={真,假};相同或非相同协方差矩阵的指标SCtext = {“真正的”,“假”};nSC =元素个数(SharedCovariance);
測定値の極値から構成される平面をカバーする2次元グリッドを作成します。後でこのグリッドを使用してクラスターに対して信頼楕円体を描画します。
d = 500;%网格长度x1 = linspace(min(X(:,1))-2, max(X(:,1))+2, d);x2 = linspace(min(X(:,2))-2, max(X(:,2))+2, d);[x1grid, x2grid] = meshgrid (x1, x2);X0 = [x1grid(:) x2grid(:)];
次を指定します。
共分散の構造オプションのすべての組み合わせについて,3つの成分を使用してGMMをあてはめます。
あてはめたGMMを使用して,2次元グリッドをクラスタリングします。
各信頼領域について99%の確率しきい値を指定するスコアを取得します。この指定により,楕円の長径と短径の長さが決まります。
各楕円にクラスターと似た色を付けます。
阈值=√chi2inv (0.99, 2));数= 1;为我= 1:nSigma为j = 1: cross (X,k, n)“CovarianceType”σ{我},...“SharedCovariance”, SharedCovariance {j},“选项”、选择);%安装GMMclusterX =集群(gmfit X);%集群指数mahalDist =泰姬陵(gmfit, X0);%从每个网格点到每个GMM分量的距离%在每个GMM组件上画椭球,并显示聚类结果。次要情节(2,2,数);h1 = gscatter (X (: 1), X (:, 2), clusterX);持有在为m = 1:k idx = mahalDist(:,m)<=threshold;颜色= h1(m).颜色*0.75 - 0.5*(h1(m))。颜色- 1);h2 =情节(X0 (idx, 1), X0 (idx, 2),“。”,“颜色”、颜色、“MarkerSize”1);uistack (h2,“底”);结束情节(gmfit.mu (: 1) gmfit.mu (:, 2),“kx”,“线宽”2,“MarkerSize”10)标题(sprintf ('Sigma是%s\nSharedCovariance = %s'SCtextσ{我},{j}),“字形大小”8)传说(h1, {' 1 ',' 2 ',“3”})举行从Count = Count + 1;结束结束
長径と短径の長さは信頼領域の確率しきい値によって決まり,軸の方向は共分散のタイプによって決まります。共分散行列のオプションについて,次に注意してください。
対角共分散行列は,予測子に相関がないことを示します。楕円の長径と短径は,x軸およびy軸に対して水平または垂直になります。この指定では,各成分についてパラメーターの総数が予測子数 だけ増えますが,フルの共分散を指定する場合より単純になります。
フルの共分散行列は,相関関係がある予測子に対応します。その際,x軸とy軸に対する楕円の方向に制限はありません。各成分についてパラメーターの総数が だけ増えますが,予測子間の相関の構造が得られます。この指定は,過適合の原因になる可能性があります。
共有共分散行列は,すべての成分で共分散行列が同じであることを示します。すべての楕円のサイズおよび方向が同じになります。パラメーターの総数は1つの成分の共分散パラメーターの数しか増えないため,この指定は非共有の指定より単純です。
非共有の共分散行列は,各成分が独自の共分散行列をもつことを示します。どの楕円も,サイズおよび方向が異なる可能性があります。この指定は1つの成分の共分散パラメーター数のk倍だけパラメーターの総数を増加させますが,成分ごとの共分散の違いを得ることができるようになります。
この図は,集群
が必ずしもクラスターの順序を保持するわけではないことも示しています。複数のあてはめたgmdistribution
モデルをクラスタリングする場合,集群
は同じ成分に対して異なるクラスターラベルを割り当てる可能性があります。
異なる初期条件の指定
GMMをデータにあてはめるアルゴリズムは,初期条件の影響を受ける可能性があります。この感度について説明するために,4つの異なるGMMを次のようにあてはめます。
1番目のGMMについては,大部分のデータ点を最初のクラスターに割り当てます。
2番目のGMMについては,データ点を無作為にクラスターに割り当てます。
3番目のGMMについては,クラスターに対するデータ点の無作為な割り当てをもう一度行います。
4番目のGMMについては,k——+ +を使用して初期クラスター中心を取得します。
initialCond1 = [(n-8, 1);[2;2;2;2);[3;3;3;3]];%第一次GMMinitialCond2 = randsample (1: k, n,真的);%第二次GMMinitialCond3 = randsample (1: k, n,真的);%第三届GMMinitialCond4 =“+”;%第四届GMMcluster0 = {initialCond1;initialCond2;initialCond3;initialCond4};
すべてのインスタンスについて,k= 3成分,非共有およびフルの共分散行列,同じ初期混合比率および同じ初期共分散行列を使用します。安定させるため,異なる初期値の組み合わせを試す場合はEMアルゴリズムの反復回数を増やしてください。また,クラスターに対して信頼楕円体を描画します。
聚合=南(4,1);为j = 1:4 gmfit = fitgmdist(X,k,“CovarianceType”,“全部”,...“SharedCovariance”假的,“开始”, cluster0 {j},...“选项”、选择);clusterX =集群(gmfit X);%集群指数mahalDist =泰姬陵(gmfit, X0);%从每个网格点到每个GMM分量的距离%在每个GMM组件上画椭球,并显示聚类结果。次要情节(2,2,j);h1 = gscatter (X (: 1), X (:, 2), clusterX);%从每个网格点到每个GMM分量的距离持有在;nK =元素个数(独特(clusterX));为m = 1:nK idx = mahalDist(:,m)<=threshold;= h1(m).Color*0.75 + -0.5*(h1(m))。颜色- 1);h2 =情节(X0 (idx, 1), X0 (idx, 2),“。”,“颜色”、颜色、“MarkerSize”1);uistack (h2,“底”);结束情节(gmfit.mu (: 1) gmfit.mu (:, 2),“kx”,“线宽”2,“MarkerSize”10)传说(h1, {' 1 ',' 2 ',“3”});持有从聚合(j) = gmfit.Converged;收敛指标结束
总和(聚合)
ans = 4
すべてのアルゴリズムが収束します。データ点の開始クラスター割り当てはそれぞれ,あてはめた異なるクラスター割り当てになります。名前と値のペアの引数复制に正の整数を指定すると,その回数でアルゴリズムを実行できます。その後,fitgmdist
は最大の尤度になるあてはめを選択します。
EMアルゴリズムの反復では,あてはめた共分散行列が悪条件になり,尤度が無限大に発散する可能性があります。こうした問題は,次の条件が1つ以上存在する場合に発生する可能性があります。
データ点の数より予測子の数が多い。
多すぎる数の成分でのあてはめを指定した。
変数間に高い相関がある。
この問題を克服するには,“RegularizationValue”
名前と値のペアの引数を使用して小さい正の数値を指定します。fitgmdist
はこの数値をすべての共分散行列の対角要素に加算するの,ですべての行列が正定値になることが保証されます。正則化を行うと,最尤度の値を削減できます。
ほとんどの用途では,成分数kと適切な共分散の構造Σは不明です。GMMを調整する方法の1つは,情報量基準を比較することです。一般的な情報量基準として,赤池情報量基準(AIC)とベイズ情報量基準(BIC)の2つがあります。
AICとBICはどちらも最適化した負の対数尤度を取り,モデル内のパラメーター数(モデルの複雑さ)に応じてペナルティを課します。ただし,BICではAICより厳しいペナルティを複雑さに対して課します。このため、AICは過適合の可能性のある,より複雑なモデルを選択する傾向があり,BICは適合不足の可能性のある,より単純なモデルを選択する傾向があります。モデルを評価するときに両方の基準を検討することをお勧めします。另类投资会议または BIC の値が小さいほど、より適切にあてはめることのできるモデルであることが示されます。また、用途に適したkおよび共分散行列の構造を必ず選択してください。fitgmdist
は,あてはめたgmdistribution
モデルオブジェクトのAICとBICを另类投资会议およびBICというプロパティに格納します。これらのプロパティには,ドット表記を使用してアクセスできます。適切なパラメーターを選択する方法を示す例については,混合ガウスモデルの調整を参照してください。