?? gmm_test.m
字號:
clear all
% 1竄拌
% X1 : 乞閉撈 [1,1], 傍盒魂撈 [0.3 0 ;0 0.2]牢 盒器甫 撈風(fēng)綽 單撈磐 100俺 積己
muvec = [1 1];
covmat = [0.3 0; 0 0.2];
X1 = generate_gauss(muvec,covmat,100);
% X2 : 乞閉撈 [5,2], 傍盒魂撈 [0.4 0 ;0 0.4]牢 盒器甫 撈風(fēng)綽 單撈磐 100俺 積己
muvec = [5 2];
covmat = [0.4 0; 0 0.4];
X2 = generate_gauss(muvec,covmat,100);
% X3 : 乞閉撈 [1,5], 傍盒魂撈 [0.3 0 ;0 0.2]牢 盒器甫 撈風(fēng)綽 單撈磐 100俺 積己
muvec = [1 5];
covmat = [0.3 0; 0 0.2];
X3 = generate_gauss(muvec,covmat,100);
scatter(X1(1,:),X1(2,:),'b.');
hold on
scatter(X2(1,:),X2(2,:),'r.');
scatter(X3(1,:),X3(2,:),'k.');
display('3俺狼 努貳膠俊 措茄 單撈磐 積己 肯豐. 浚磐虐甫 穿福擱 促瀾 竄拌肺!');
pause
% 2竄拌
% X1 單撈磐俊 措茄 GMM切嚼闌 困茄 檬扁藹闌 積己(去欽薦: 3)
[mus, sigmas, weights] = initParams(2,3);
% X1 單撈磐俊 措茄 切嚼 矯累
[mus, sigmas, weights] = trainGMM(X1, mus, sigmas, weights, 0.0001, 100, 'diagcov');
% X1 單撈磐俊 切嚼撈 場唱擱 歷厘
X1_mus = mus;
X1_sigmas = sigmas;
X1_weights = weights;
% X1 單撈磐俊 措茄 GMM切嚼 肯豐
% X2 單撈磐俊 措茄 GMM切嚼闌 困茄 檬扁藹闌 積己(去欽薦: 3)
[mus, sigmas, weights] = initParams(2,3);
% X1 單撈磐俊 措茄 切嚼 矯累
[mus, sigmas, weights] = trainGMM(X2, mus, sigmas, weights, 0.0001, 100, 'diagcov');
% X1 單撈磐俊 切嚼撈 場唱擱 歷厘
X2_mus = mus;
X2_sigmas = sigmas;
X2_weights = weights;
% X2 單撈磐俊 措茄 GMM切嚼 肯豐
% X3 單撈磐俊 措茄 GMM切嚼闌 困茄 檬扁藹闌 積己(去欽薦: 3)
[mus, sigmas, weights] = initParams(2,3);
% X3 單撈磐俊 措茄 切嚼 矯累
[mus, sigmas, weights] = trainGMM(X3, mus, sigmas, weights, 0.0001, 100, 'diagcov');
% X3 單撈磐俊 切嚼撈 場唱擱 歷厘
X3_mus = mus;
X3_sigmas = sigmas;
X3_weights = weights;
% X3 單撈磐俊 措茄 GMM切嚼 肯豐
display('3俺狼 努貳膠俊 措茄 切嚼 肯豐. 浚磐虐甫 穿福擱 促瀾 竄拌肺!');
pause
% 3 竄拌
% 眠瀝等 啊快矯救 盒器甫 敲吩
% X1 單撈磐俊 措茄 1鍋擄 去欽薦俊 措茄 敲吩
m = X1_mus(:,1)';
s = zeros(2,2);
s(1,1) = X1_sigmas(1,1);
s(2,2) = X1_sigmas(2,1);
plotgaus(m,s);
% X1 單撈磐俊 措茄 2鍋擄 去欽薦俊 措茄 敲吩
m = X1_mus(:,2)';
s = zeros(2,2);
s(1,1) = X1_sigmas(1,2);
s(2,2) = X1_sigmas(2,2);
plotgaus(m,s);
% X1 單撈磐俊 措茄 3鍋擄 去欽薦俊 措茄 敲吩
m = X1_mus(:,3);
m = m';
s = zeros(2,2);
s(1,1) = X1_sigmas(1,3);
s(2,2) = X1_sigmas(2,3);
plotgaus(m,s);
% X2 單撈磐俊 措茄 1鍋擄 去欽薦俊 措茄 敲吩
m = X2_mus(:,1)';
s = zeros(2,2);
s(1,1) = X2_sigmas(1,1);
s(2,2) = X2_sigmas(2,1);
plotgaus(m,s);
% X2 單撈磐俊 措茄 2鍋擄 去欽薦俊 措茄 敲吩
m = X2_mus(:,2)';
s = zeros(2,2);
s(1,1) = X2_sigmas(1,2);
s(2,2) = X2_sigmas(2,2);
plotgaus(m,s);
% X2 單撈磐俊 措茄 3鍋擄 去欽薦俊 措茄 敲吩
m = X2_mus(:,3);
m = m';
s = zeros(2,2);
s(1,1) = X2_sigmas(1,3);
s(2,2) = X2_sigmas(2,3);
plotgaus(m,s);
% X3 單撈磐俊 措茄 1鍋擄 去欽薦俊 措茄 敲吩
m = X3_mus(:,1)';
s = zeros(2,2);
s(1,1) = X3_sigmas(1,1);
s(2,2) = X3_sigmas(2,1);
plotgaus(m,s);
% X3 單撈磐俊 措茄 2鍋擄 去欽薦俊 措茄 敲吩
m = X3_mus(:,2)';
s = zeros(2,2);
s(1,1) = X3_sigmas(1,2);
s(2,2) = X3_sigmas(2,2);
plotgaus(m,s);
% X3 單撈磐俊 措茄 3鍋擄 去欽薦俊 措茄 敲吩
m = X3_mus(:,3);
m = m';
s = zeros(2,2);
s(1,1) = X3_sigmas(1,3);
s(2,2) = X3_sigmas(2,3);
plotgaus(m,s);
hold on
display('3俺狼 努貳膠俊 措茄 啊快矯救 去欽 葛膽傅 敲吩 肯豐. 浚磐虐甫 穿福擱 促瀾 竄拌肺!');
pause
% 4 竄拌
% 阿 努貳膠喊 切嚼 搬苞甫 府膠飄俊 伎闌 撈儈 歷厘
mulist = {X1_mus X2_mus X3_mus};
sigmaslist = {X1_sigmas X2_sigmas X3_sigmas};
weightslist = {X1_weights X2_weights X3_weights};
display('3俺狼 努貳膠俊 措茄 啊快矯救 去欽 葛膽傅 頗扼固磐 歷厘 肯豐. 浚磐虐甫 穿福擱 促瀾 竄拌肺!');
pause
% 5 竄拌
% 矯氰 單撈磐 1
test=[1.2; 1.3];
%撈力 牢僥秦焊磊
classes = classify_GMM(test,mulist, sigmaslist, weightslist);
scatter(test(1,:),test(2,:),'kp');
display('矯氰 單撈磐1 俊 措茄 牢僥 搬苞, 促瀾 單撈磐甫 牢僥 且妨擱 浚磐虐甫 穿福矯夸');
classes
pause
% 矯氰 單撈磐 2
%test=[1.2 4.1 1.2 2.5 4.2; 1.3 2.1 5.4 2.2 1.8];
test=[4.1; 2.1];
%撈力 牢僥秦焊磊
classes = classify_GMM(test,mulist, sigmaslist, weightslist);
scatter(test(1,:),test(2,:),'kp');
display('矯氰 單撈磐1 俊 措茄 牢僥 搬苞, 促瀾 單撈磐甫 牢僥 且妨擱 浚磐虐甫 穿福矯夸');
classes
% 矯氰 單撈磐 3
test=[2.1; 4.1];
%撈力 牢僥秦焊磊
classes = classify_GMM(test,mulist, sigmaslist, weightslist);
scatter(test(1,:),test(2,:),'kp');
display('矯氰 單撈磐3 俊 措茄 牢僥 搬苞, 場');
classes
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -