主要内容

이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭

가우스혼합모델모델사용하여하여군집화

이항목항목에서统计和机器学习工具箱™함수를사용하여가우스혼합혼합(GMM)로군집화하는방법을하고하고Fitgmdist.를사용하여gmm모델모델피팅할때적파라미터를지정하면어떠한효과효과효과파라미터지정를효과。

가우스혼합모델이데이터를를군집화하는하는

가우스혼합모델(GMM)은은이터군집화자주사용됩니다。GMM을사용하여,쿼리데이터에에하드군집화또는소프트군집화를수행할있습니다있습니다。

GMM은주어진데이터에에대해사후확률을을극대화하는다변량정규에쿼리쿼리데터을할당할당하드군집화를수행합니다。즉,피팅된gmm이주어진주어진,는가장높은사후을확률생성생성하는성분에쿼리터를할당할당할당터를할당할당하드하드는정확히하나의에하나의데이터점점을할당GMM을데이터에피팅하고피팅된모델사용하여군집화하며사후확률확률을추정하는방법을주는예는使用硬群体群集高斯混合数据항목을참조하십시오。

또한gmm을사용하여하여이터에에대해보다유연한군집화를수행할수있는데,이방식방식소프트(또는.퍼지)군집군집라고합니다。소프트군집화방법은각에대한데이터점데데를할당합니다。점수값은군집에대한이터점점의의연결를를를하드군집화방법과,소프트군집화방법은둘이상의군집군집에에데을을할당수있기에유연합니다유연유연유연합니다유연유연유연GMM군집화를수행경우점수는사후확률확률。GMM을사용한한소프트군집화의使用软聚类群集高斯混合数据항목을참조하십시오。

GMM군집화는크기와상관관계구조가각기다른군집을수용수있습니다있습니다있습니다있습니다있습니다있습니다。따라서특정응용사례에서는gmm군집화가K.- 평균평균군집화같은같은방법더적합할수여러군집화과과가지로,gmm군집화를수행모델피팅전군집군집를지정합니다합니다지정해야합니다。군집개수에따라药GMM의의개수가지정지정。

GMM을을할경우모범사례를를。

  • 성분성분구조를사용해해。대각공분산행렬또는완전공분산지정할수있고,모든모든이동일한공분산행렬을가지는지여부여부를지정할수수수

  • 초기조건을지정하십시오。기대값최대화(em)알고리즘은gmm을피팅합니다。K.- 평균군집화알고리즘에서와와같같초기조건에민감하며최적해로수렴할수수。모수에대한고유한시작을지정하거나데이터점점에대한초기군집할당지정이러한하거나러한을을임의임의되도록되도록되도록하거나K.- 평균++알고리즘을사용하도록하도록지정지정할수

  • 정규화를구현하십시오。예를들어,데이터점보다예측변수변수많은경우하여추정안정성을수있습니다。

다양한공분산옵션과초기조건사용하여gmm피팅하기

이예제에서는GMM군집화를수행할때구조에대한한한과조건조건지정하면하면효과효과조건지정하면효과효과효과살펴봅니다하면효과효과살펴봅니다효과효과효과살펴봅니다살펴봅니다효과효과

피셔(Fisher)의붓꽃데이터세트를옵니다。꽃받침측정값을군집화보고,꽃받침측정값을사용하여데데를2차원으로시각화합니다。

加载渔民;X = MEAS(:,1:2);[n,p] = size(x);plot(x(:,1),x(:,2),'。''Markersize'15);标题('fisher'的虹膜数据集');Xlabel('萼片长度(cm)');ylabel('萼片宽度(cm)');

GMM의성분개수K.는부모집단또는군집개수를결정합니다。이그림에서는2개,3개또는더많은가우스성분이적합한지여부를판단하기가어렵습니다。K.가증가함함에gmm의복잡도가증가합니다。

다양다양한공분산구조구조옵션지정

각가우스성분성분에는이있습니다。기하학기하학적,공분산구조는군집에타원체을띠띠신뢰영역의를결정합니다。이대각공분산행렬인지공분산행렬행렬인지를지정할있고,모든성분에동일공분산공분산에각각의지정조합에따라의의와방향이결정결정。

3〖gmm〗을지정하고,em알고리즘의최대횟수를1000으로으로합니다。재현이가능하도록하도록난수시드값을설정합니다

RNG(3);k = 3;%GMM组件数量选项= statset('maxiter',1000);

공분산구조옵션을지정합니다。

sigma = {'对角线''满的'};Covariance矩阵类型的%选项nsigma = numel(sigma);sharedcovariance = {true,false};相同或非非识别协方差矩阵的%指标sctext = {'真的''错误的'};nsc = numel(SharedCovariance);

이그리드는나중나중에군집군집에타원체을띠는신뢰신뢰영역그릴사용됩니다

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(:)];

다음과다음과이지정지정。

  • 공분산구조옵션으로가능한한모든조합에대해대해개의성분mm을피팅하십시오。

  • 피팅피팅mmm을사용하여2차원그리드를군집화。

  • 각신뢰영역에대한99%의확률분계점을지정하는를구하십시오。이렇게지정지정된값에따라타원체의주축과보조축축의이길길。

  • 군집과과사한한색으로각타원체에색을을

阈值= SQRT(Chi2inv(0.99,2));count = 1;为了我= 1:nsigma为了j = 1:nsc gmfit = fitgmdist(x,k,'covaridcetype',sigma {i},......'SharedCovariance',sharedcovariance {j},'选项',选项);%合适的GMMclusterx = cluster(gmfit,x);%群集索引mahaldist =玛哈尔(Gmfit,X0);从每个网格点到每个GMM组件的距离%在每个GMM组件上绘制椭圆体并显示聚类结果。子图(2,2,计数);h1 = g箭偶(x(:,1),x(:,2),clusterx);抓住为了m = 1:k idx = mahaldist(:,m)<=阈值;颜色= H1(m).color * 0.75  -  0.5 *(H1(m).color  -  1);h2 = plot(x0(idx,1),x0(idx,2),'。''颜色',颜色,'Markersize',1);Uistack(H2,'底部');结尾Plot(Gmfit.mu(:,1),gmfit.mu(:,2),'kx''行宽'2,'Markersize',10)标题(Sprintf('sigma是%s \ nsharedcovariance =%s',sigma {i},sctext {j}),'字体大小',8)传奇(H1,{'1''2''3'}) 抓住离开count = count + 1;结尾结尾

이를결정하고,공분산유형하고,공분산유형은의방향결정결정결정결정결정합니다결정결정결정결정결정결정합니다합니다합니다결정결정합니다합니다결정결정결정합니다합니다합니다합니다합니다결정결정결정결정결정공분산행렬옵션과관련해사항을유의합니다。

  • 대각공분산행렬은예측변수간에상관관계가없다는것을나타냅니다。타원의주축과보조축은X축과y축축대해평행이거나수직수직。이렇게지정지정하면각각성분에대해예측변수의 P. 만큼가하지만,완전공분산행렬을하는것보다더욱간결합니다증증더욱합니다가증가하지만가하지만가하지만가하지만。

  • 완전공분산행렬에는X축및y축에대한타원방향의제한제한이상관관계가있는예측변수변수변수변수변수변수변수변수됩니다됩니다됩니다됩니다。각성분은 P. P. + 1 / 2 만큼모수의개수를가시키지만예측변수간상관관계구조포착합니다。이렇게지정될경우과적이발생할수있습니다。

  • 공유공분산행렬은은성분이동일한공분산행렬을가진다는것것을。모든타원은크기가동일하며동일동일방향방향갖습니다。이렇게지정지정될경우오직하나의성분에대한공분산모수개수만큼모수의총가증가하므로하므로공유지정지정것것더욱합니다합니다하는더욱간결합니다。

  • 비공유공분산행렬은성분이각각고유한공분산가진다는것을나타냅니다。타원타원의크기와와방향은다를수수서로다를수이렇게지정지정되면한한성분에대해공분산모수개수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];PREST GMM的%initialcond2 = randsample(1:k,n,true);第二种GMM的百分比initialcond3 = randsample(1:k,n,true);第三种GMM的百分比initialcond4 ='加';百分比适用于第四种GMMcluster0 = {initialCond1;initialCond2;initialCond3;initialCond4};

모든경우에대해3개성분(K.= 3),비비공유공분산행렬과완전공분산,동일동일한초기혼합,동일동일한초기공분산사용합니다여러여러값세트를사용의때안정성높이려면em알고리즘반복횟수를。또한,군집군집에타원체모양모양을는신뢰영역을을

融合=南(4,1);为了j = 1:4 Gmfit = fitgmdist(x,k,'covaridcetype''满的'......'SharedCovariance',错误的,'开始',cluster0 {j},......'选项',选项);clusterx = cluster(gmfit,x);%群集索引mahaldist =玛哈尔(Gmfit,X0);从每个网格点到每个GMM组件的距离%在每个GMM组件上绘制椭圆体并显示聚类结果。子图(2,2,j);h1 = g箭偶(x(:,1),x(:,2),clusterx);从每个网格点到每个GMM组件的距离抓住;nk = numel(唯一(clusterx));为了m = 1:nk idx = mahaldist(:,m)<=阈值;颜色= H1(m).color * 0.75 + -0.5 *(H1(m).color  -  1);h2 = plot(x0(idx,1),x0(idx,2),'。''颜色',颜色,'Markersize',1);Uistack(H2,'底部');结尾Plot(Gmfit.mu(:,1),gmfit.mu(:,2),'kx''行宽'2,'Markersize'10)传奇(H1,{'1''2''3'});抓住离开融合(j)= gmfit.converged;收敛的%指标结尾

总和(融合)
ans = 4.

모든모든이수렴수렴。이터점점에대해각각다르게할당된시작군집조건각각다르게피팅된군집이구현구현。이름 - 값쌍의인수'复制'이실행됩니다알고리즘있으며있으며있으며있으며,여기에지정있으며만큼알고리즘알고리즘알고리즘알고리즘알고리즘알고리즘알고리즘알고리즘실행。그러면,Fitgmdist.는가장큰가능도를를생성하는피팅을선택선택선택

정규화가필요한경우

em알고리즘반복중에피팅된공분산이종종종종이나쁜상태상태,즉가능도가무한대가되는상태가될수있습니다。이문제는다음조건중하나이상에에해당하는경우경우할수

  • 데이터점보다예측변수가더많은많은。

  • 너무너무많은성분에에대해하도록지정한한

  • 변수가밀접한상관관계가질경우。

이러한문제문제를해결'正规化值'이름 - 값값의인수를사용하여하여작은양수를지정지정지정Fitgmdist.이값을전체공분산행렬의요소에가하여하여모든이양의정부호행렬이되도록되도록정규화정규화수행하면최대가능도값을줄일수있습니다。

모델피팅통계량

대부분대부분의,성분성분K.와적합한공분산구조Σ는는알수。GMM을조정할수한가지방법방법은정보기준비교비교것것기준을비교하는것것이사용되는두가지정보기준은이케정보정보(aiC:akaike信息标准)과과이즈정보정보(bic:贝叶斯信息标准)입니다。

AIC와BIC모두최적화음의로그가능도를후모델에된된개수로을적용합니다(모델복잡도)。그러나bic가alic에비해더더하게복잡도에대해벌점을적용합니다。따라서,AIC는과적합될있는더복잡한모델을선택경향이있고경향는는과소적합수더단순한을을하는경향경향이있습니다하는경향에그러므로모델을가할때두기준을모두검토것것이좋습니다。AIC값이나BIC값이낮을수록더나은피팅모델을나타냅니다。또한K.에대해선택한값과공분산행렬구조가현재응용사례에적합확인해야합니다。Fitgmdist.는피팅된GMDistribution.모델객체의aix와bic를속성AIC.BIC.에에합니다。점표기법을사용하여이러한속성에액세스할있습니다。적합적합한모수를를선택하는을을보여주는예제调谐高斯混合模型항목을참조하십시오。

참고항목

||

관련항목