matlab 多维kmeans算法,[转载]K-means算法的MATLAB实现及基于此的图像分割

本文介绍了K-means算法的基本原理和MATLAB实现,包括聚类中心初始化、数据输入和聚类选择、聚类中心更新等步骤。作者通过自编的mykmeans函数进行二维样本的聚类,并展示了使用该函数对图像进行分割的应用,结果显示了K-means在图像分割中的初步效果。
摘要由CSDN通过智能技术生成

首次接触k-means算法是在大二参加华中地区数学建模时,题目是对各搜索引擎进行评价,在进行搜索结果文本分析的时候,稀里糊涂就用了k-means,现在趁着机器学习的作业,重新学习了一下。

K-means通常作为一种聚类分析方法流行于数据挖掘领域,其目的是:把n个点(可以是样本的一次观察或一个实例)划分到k个聚类中,使得每个点都属于离他最近的均值(此即聚类中心)对应的聚类,以之作为聚类的标准[1]。K-means聚类是无监督机器学习中常用的算法,所谓无监督(无教师)学习,指拿到一堆数据,不知道其类别信息,直接丢给学习算法,算法根据数据特征,自动将数据分类。例如,有一堆水果混杂在一起,并不知道它们的名字,我们按照它们的特征(长的,圆的,有刺的)分成几堆,后来有人告诉我们这分别是香蕉、苹果和榴莲。我们并不知道这些水果的类别信息,但我们却能大体将其归类,这个性质特别实用,因为在实际中我们往往缺乏先验知识,拿到的是密密麻麻的一堆数据,如果直接喂给模型来学习可能会比较低效。于是k-means作为无监督的聚类算法,通常用于数据的预处理,实现大体上的分类,随后再进行更精细的处理。K-means有个很著名的解释,牧师—村民模型[2]:

有四个牧师去郊区布道,一开始牧师们随意选了几个布道点,并且把这几个布道点的情况公告给了郊区所有的居民,于是每个居民到离自己家最近的布道点去听课。

听课之后,大家觉得距离太远了,于是每个牧师统计了一下自己的课上所有的居民的地址,搬到了所有地址的中心地带,并且在海报上更新了自己的布道点的位置。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值