日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

K均值算法matlab代码实现

發(fā)布時間:2025/3/15 循环神经网络 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 K均值算法matlab代码实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
%%%K-meansclear all clc%% 構造隨機數(shù)據(jù) mu1=[0 0 0]; S1=[0.23 0 0;0 0.87 0;0 0 0.56]; data1=mvnrnd(mu1,S1,100); %產(chǎn)生高斯分布數(shù)據(jù)%%第二類數(shù)據(jù) mu2=[1.25 1.25 1.25]; S2=[0.23 0 0;0 0.87 0;0 0 0.56]; data2=mvnrnd(mu2,S2,100);%第三個類數(shù)據(jù) mu3=[-1.25 1.25 -1.25]; S3=[0.23 0 0;0 0.87 0;0 0 0.56]; data3=mvnrnd(mu3,S3,100);mu4=[1.5 1.5 1.5]; S4=[0.23 0 0;0 0.87 0;0 0 0.56]; data4 =mvnrnd(mu4,S4,100);%顯示數(shù)據(jù) figure; plot3(data1(:,1),data1(:,2),data1(:,3),'+'); title('原始數(shù)據(jù)'); hold on plot3(data2(:,1),data2(:,2),data2(:,3),'r+'); plot3(data3(:,1),data3(:,2),data3(:,3),'g+'); plot3(data4(:,1),data4(:,2),data3(:,3),'y+'); grid on;data=[data1;data2;data3;data4]; [row,col] = size(data); K = 4; max_iter = 300;%%迭代次數(shù) min_impro = 0.1;%%%%最小步長 display = 1;%%%判定條件 center = zeros(K,col); U = zeros(K,col); %% 初始化聚類中心 mi = zeros(col,1); ma = zeros(col,1); for i = 1:colmi(i,1) = min(data(:,i));ma(i,1) = max(data(:,i));center(:,i) = ma(i,1) - (ma(i,1) - mi(i,1)) * rand(K,1); end%% 開始迭代 for o = 1:max_iter%% 計算歐氏距離,用norm函數(shù)for i = 1:Kdist{i} = [];for j = 1:rowdist{i} = [dist{i};data(j,:) - center(i,:)];endendminDis = zeros(row,K);for i = 1:rowtem = [];for j = 1:Ktem = [tem norm(dist{j}(i,:))];end[nmin,index] = min(tem);minDis(i,index) = norm(dist{index}(i,:));end%% 更新聚類中心for i = 1:Kfor j = 1:colU(i,j) = sum(minDis(:,i).*data(:,j)) / sum(minDis(:,i));endend%% 判定if displayendif o >1,if max(abs(U - center)) < min_impro;break;elsecenter = U;endend end%% 返回所屬的類別class = [];for i = 1:rowdist = [];for j = 1:Kdist = [dist norm(data(i,:) - U(j,:))];end[nmin,index] = min(dist);class = [class;data(i,:) index];end%% 顯示最后結果 [m,n] = size(class); figure; title('聚類結果'); hold on; for i=1:row if class(i,4)==1 plot3(class(i,1),class(i,2),class(i,3),'ro'); elseif class(i,4)==2plot3(class(i,1),class(i,2),class(i,3),'go'); elseif class(i,4) == 3plot3(class(i,1),class(i,2),class(i,3),'bo'); elseplot3(class(i,1),class(i,2),class(i,3),'yo'); end end grid on;

?

總結

以上是生活随笔為你收集整理的K均值算法matlab代码实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。