找回密码
 立即注册
查看: 299|回复: 0

K-means聚类算法学习笔记

[复制链接]
发表于 2022-4-15 12:01 | 显示全部楼层 |阅读模式
算法类别:无监督学习(补充:监督学习是指我们已知要划分的类别,并且能够获得一定数量的类别已知的训练样本,在此基础上对未知样本进行分类;无监督学习是指我们事先不知道要分的类别,也不知道类的数量,只是根据样本特征的相似性进行自动分类)。
样本特征:可以使用空间坐标、颜色、亮度等等(争对图像处理的情况)。
算法通俗讲解:K-means实际上就是先随机选定类的中心,再根据像素点与类的距离进行分类,之后固定已分好的类,计算每一个类的中心,多次迭代之后类的中心就会移至实际的中心。
1、算法的原始输入为一幅m*n的图像,对图像进行处理,用图像的坐标和灰度特征(举个例子)建立一个矩阵,矩阵大小为mn*3,每一行是对应像素点的x、y坐标和灰度值,因为有mn个像素点,所以一共有mn列。2、随机选取几个类的中心(数量人为设定),假设是3个,每个中心坐标为(Xi,Yi,Hi)。3、建立一个mn*1的矩阵c,用来存放对应的每个像素点的类别,值的范围为1-3。4、计算每一个像素点与3个类的中心的距离,距离最小的类作为该像素点所属的类别,并将类别的标号存入矩阵c中。5、在分好的类中计算每一类的中心(坐标求均值),用来更新类的坐标。6、重复4和5,直至类的坐标基本不变。
算法数学描述:设样本为




公式1对应上文步骤4,公式2对应上文的步骤5。
公式2中的1{c(i)=j}是指如果c(i)=j,则该表达式等于1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-6-1 04:29 , Processed in 0.147087 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表