主要内容

ソフト クラスタリングの使用による混合ガウス データのクラスタリング

この例では、ガウス分布の混合からシミュレートされたデータに対するソフト クラスタリングの実装方法を示します。

集群は、クラスター メンバーシップの事後確率を推定してから、最大の事後確率に対応するクラスターに各点を割り当てます。ソフト クラスタリングは、データ点が複数のクラスターに属することができる、別のクラスタリング手法です。ソフト クラスタリングを実装するには、次のようにします。

  1. 各点が各クラスターの原型にどのくらい似ているかを示すクラスタリング メンバーシップ スコアを各データ点に割り当てます。ガウス分布の混合の場合、クラスターの原型は対応する成分の平均であり、この成分は推定したクラスター メンバーシップの事後確率になることができます。

  2. クラスター メンバーシップ スコアによって点にランクを付けます。

  3. スコアを,メンバーシップを决定し。。

事后率として使用するアルゴリズム场合,データ点は最大事后确率确率にに対応対応対応するするクラスターののメンバーにになりなりますます。しかししかし,対応対応するするする事后ががががクラスターのなるもできます。前复数ののメンバーシップメンバーシップを得る得るようにスコアののしきい値値値をを

この例は,ハードクラスタリング使用によるガウスデータのクラスタリングの続きです。

2 つの二変量ガウス分布の混合から派生するデータをシミュレートします。

rng(0,'twister')%可再现性mu1 = [1 2]; sigma1 = [3 .2; .2 2]; mu2 = [-1 -2]; sigma2 = [2 0; 0 1]; X = [mvnrnd(mu1,sigma1,200); mvnrnd(mu2,sigma2,100)];

2 成分の混合ガウス モデル (GMM) を当てはめます。2 つの成分があるので、クラスター メンバーシップの事後確率が [0.4,0.6] の区間にあるすべてのデータ点は、両方のクラスターのメンバーになることが可能と仮定します。

gm = fitgmdist(x,2);阈值= [0.4 0.6];

近似させた GMMgmを使用,の点についてメンバー事后を推定推定します。これらは,,クラスタークラスターメンバーシップスコアをを

P = posterior(gm,X);

各についてのデータ点のメンバーシップをランクし。各クラスタークラスターについてについて,,,他他のすべてすべてデータ点に対するに対するランキングランキングにに关し关して

n =大小(x,1);[〜,order] = stort(p(:,1));图图(1:n,p(顺序,1),'r-',1:n,P(order,2),'b-') 传奇({'Cluster 1','Cluster 2'}) ylabel('Cluster Membership Score')xlabel('Point Ranking') title('GMM with Full Unshared Covariances')

Figure contains an axes object. The axes object with title GMM with Full Unshared Covariances contains 2 objects of type line. These objects represent Cluster 1, Cluster 2.

データ散布明确なを确认するは困难ですメンバーシップメンバーシップスコアををプロットプロットするするとと,近似させせたででは适切にに

データをプロットし、最大事後確率別にクラスターを割り当てます。いずれかのクラスターに属することができる点を識別します。

idx = cluster(gm,x);idxboth = find(p(:,1)> =阈值(1)&p(:,1)<=阈值(2));numinboth = numel(idxboth)
numinboth = 7
figure gscatter(X(:,1),X(:,2),idx,'rb','+o',5) holdplot(X(idxBoth,1),X(idxBoth,2),'ko',“标记”,10)传奇({'Cluster 1','Cluster 2','Both Clusters'},'地点','SouthEast') title('散点图 -  GMM与完整的未共享协方差') 抓住off

Figure contains an axes object. The axes object with title Scatter Plot - GMM with Full Unshared Covariances contains 3 objects of type line. These objects represent Cluster 1, Cluster 2, Both Clusters.

スコアのしきい値区間を使用すると、7 つのデータ点はいずれかのクラスターに属することができます。

GMM を使用するソフト クラスタリングでは、ファジーk-means クラスタリングと同じように、メンバーシップ スコアを使用して各点を各クラスターに割り当てます。ファジーk-means アルゴリズムでは、クラスターの形状が球面に近く、どのクラスターもほぼ同じサイズであると仮定します。これは、すべての成分間で共有され、単位行列の倍数である 1 つの共分散行列をもつ混合ガウス分布に相当します。対照的に、gmdistributionではさまざまな共分散の構造を指定できます。既定の設定のオプションでは、成分ごとに制約のない共分散行列を推定します。k-means に近い、より制限されたオプションとして、共有した対角共分散行列を推定するというものがあります。

GMM をデータにあてはめますが、同じ対角共分散行列を各成分が共有するように指定します。このように指定するとファジーk-means クラスタリングを実行する場合と同じようになりますが、変数ごとに異なる分散が可能なので、柔軟性が高くなります。

gmSharedDiag = fitgmdist(X,2,'CovType','Diagonal',...'SharedCovariance',真的');

近似させた GMMgmSharedDiagを使用して、すべてのデータ点について成分メンバーの事後確率を推定します。ソフト クラスターの割り当てを推定します。

[idxSharedDiag,~,PSharedDiag] = cluster(gmSharedDiag,X); idxBothSharedDiag = find(PSharedDiag(:,1)>=threshold(1) &...PSharedDiag(:,1)<=threshold(2)); numInBoth = numel(idxBothSharedDiag)
numinboth = 5

成分で対角共分散を有有するする,,つのつの点がいずれかのクラスターにに属する。。

各クラスターについて、次のようにします。

  1. すべての点メンバーシップスコアランク付けします。

  2. 他のすべてのデータ点に対するランキングに関して、各データ点のメンバーシップ スコアをプロットします。

[~,orderSharedDiag] = sort(PSharedDiag(:,1)); figure plot(1:n,PSharedDiag(orderSharedDiag,1),'r-',...1:n,PSharedDiag(orderSharedDiag,2),'b-') 传奇({'Cluster 1''Cluster 2'},'地点','东北')ylabel('Cluster Membership Score')xlabel('Point Ranking') title(“ GMM具有共同的对角线分量协方差”)

Figure contains an axes object. The axes object with title GMM with Shared Diagonal Component Covariances contains 2 objects of type line. These objects represent Cluster 1, Cluster 2.

データをプロットし,成分間で対角共分散が共有されると仮定したGMM分析からハードなクラスタリング割り当てを識別します。また、いずれかのクラスターに属することができるデータ点を識別します。

figure gscatter(X(:,1),X(:,2),idxSharedDiag,'rb','+o',5) holdplot(X(idxBothSharedDiag,1),X(idxBothSharedDiag,2),'ko',“标记”,10)传奇({'Cluster 1','Cluster 2','Both Clusters'},'地点','SouthEast') title('Scatter Plot - GMM with Shared Diagonal Component Covariances') 抓住off

Figure contains an axes object. The axes object with title Scatter Plot - GMM with Shared Diagonal Component Covariances contains 3 objects of type line. These objects represent Cluster 1, Cluster 2, Both Clusters.

参考

||

関連するトピック