当前位置: 首页 > news >正文

襄阳品牌网站建设图形化app开发工具

襄阳品牌网站建设,图形化app开发工具,网页升级访问未成年,网站demo制作工具K-means 聚类算法 是一种无监督学习算法,用来将 n n n 个样本点分成 k k k 类,使得整个数据集的误差平方和 S S E SSE SSE 最小。在本例中,样本点是指平面直角坐标系上的点,聚类中心也是平面直角坐标系上的点,而每个…

K-means 聚类算法 是一种无监督学习算法,用来将 n n n 个样本点分成 k k k 类,使得整个数据集的误差平方和 S S E SSE SSE 最小。在本例中,样本点是指平面直角坐标系上的点,聚类中心也是平面直角坐标系上的点,而每个点的损失函数则是它到聚类中心的距离。即:找出 2 个点,使得所有点到这 2 个点的距离的更小者之和最小。

K-means 聚类算法流程如下:

  1. 随机指定 k k k 个样本点为聚类中心;
  2. 计算所有点对每个样本点的距离,选择最近的样本点;
  3. 计算同一类的所有点的重心,并将重心作为新的聚类中心;
  4. 重复2.3.,直到所有点选定的最近样本点均不再改变。

其中

S S E = ∑ i = 1 k ∑ x ∈ C i ∑ j = 1 m ( x j − S i j ) 2 SSE=\sum_{i=1}^{k}\sum_{x\in C_i}\sum_{j=1}^m(x_j-S_{ij})^2 SSE=i=1kxCij=1m(xjSij)2

理论上说, S S E SSE SSE 会随着 k k k 的变大而单调递减。

参考文献。

function [ClusterID,Means] = KMeansClustering(S, K, plot_flag)
% 输入参数:
% S: 用于聚类的数据,每一行对应一个样本的特征向量,每一列对应一个特征
% K:需要聚成的簇的数量
% plot_flag: 是否需要可视化每一次迭代的更新结果% 输出参数:
% ClusterID:聚类结果,表示每个样本被聚类至第几个簇
% Means:由簇中心向量组成的矩阵,每一行对应一个簇的中心%% 初始参数设置
maxiter = 10000;            % 这里的maxiter为迭代算法设置了最大迭代次数,防止算法陷入死循环
iter = 0;                   % 用于表示当前算法已迭代的次数
n = size(S, 1)             % 样本数量%% 随机初始化聚类均值
ClusterID = zeros(n,1);
rk = randperm(n);
k=rk(1:K);
Means= S(k,:);%% 开始迭代优化
while iter<maxiterOldClusterID = ClusterID;%% 将样本分配到距离自己最近的簇中%%% ###### 需要你完成: ###### %%%% 1. 计算每个样本到聚类中心的距离DistDist = zeros(n,K);for i=1:nfor j=1:Kfor l=1:size(S,2)Dist(i,j)=Dist(i,j)+(S(i,l)-Means(j,l))^2;endendend% 2. 根据每个样本到各个簇的距离,把每个样本指定到与自己最近的簇中,并生成簇结果ClusterIDdis=size(n,1);[dis,ClusterID]=min(Dist,[],2);%     Dist
%      ClusterID
%     k
%     pause(1)
% end%%% ######################### %%%%% 根据新分配的样本,重新计算簇中心% 按簇更新for i = 1:K%%% ###### 需要你完成: ###### %%%% 1. 首先找到属于该簇的样本id = zeros(n,1);cnt=0;for j=1:nif ClusterID(j)==icnt=cnt+1;id(cnt)=j;endend% 2. 根据上一步得到的属于该簇的样本,计算这些样本的均值作为该簇的中心Means(i,:)Means(i,:) = zeros(size(S,2),1);for j=1:size(S,2)for l=1:cntMeans(i,j)=Means(i,j)+S(id(l),j);endMeans(i,j)=Means(i,j)/cnt;end%%% ######################### %%%end%% 对每一次迭代的结果进行可视化if plot_flag == 1if iter==0figureendi1 = find(ClusterID==1);i2 = find(ClusterID==2);plot_cluster(S,i1,i2,Means);title(cat(2,'第',int2str(iter+1),'轮聚类结果'));set(gca,'fontsize',15)pause(1)end%% 判断迭代退出的条件if ClusterID == OldClusterIDbreak;enditer = iter+1;
end
http://www.yayakq.cn/news/859761/

相关文章:

  • 企业官方网站建设的流程浙江嘉兴网站建设
  • win7怎么做网站小程序推广任务
  • 规划怎样做网站怎么修改2345网址导航
  • 智能建站平台网站开发雇佣平台
  • 临平网站建设网站制作手机版
  • 钓鱼网站二维码制作软件班级网站建设毕业设计开题报告
  • 网站建设和管理自查报告百度seo关键词排名优化
  • 石家庄市住房城乡建设局网站阿里云域名注册新人
  • phpcms 移动网站模板太原app制作
  • 上海备案证查询网站查询网站查询如何做淘宝商城网站
  • 怎么建设微信二维码发在网站上优秀学校网站设计
  • 自助服务系统网站自建站推广
  • 网站首页怎么制作过程副标题wordpress
  • 通辽做网站有没有牛商网做的网站
  • wordpress资源下载站自己做网站怎么挣钱
  • 哪个网站买东西最便宜两学一做网站飘窗
  • 永久免费网站推荐计算机域名的格式
  • 外贸网站空间哪个好松阳县建设局网站公示
  • 郑州网站建设熊掌号一个空间怎么放2个网站
  • 旅游网站开发的背景及意义做网站要素
  • 个人未授权做的网站app程序开发的公司
  • 建一个个人网站多少钱凡科互动投票
  • 网站seo招聘广州建设工程交易中心聘用
  • wordpress 学生沈阳seo顾问
  • 做怎么网站wordpress 视频管理 主题
  • phpcms怎么做网站威海网站制作都有哪些
  • 网站界面设计的发展趋势牛商网做网站的思路
  • 重庆快速网站备案官网优化公司
  • 个人如何优化网站有哪些方法网页实现方案
  • 小型网站建设.net建网站的优势