KMeans算法理论
来源:互联网 发布:网络女主播唱歌视频 编辑:程序博客网 时间:2024/06/05 07:17
(一)KMeans概念
聚类(clustering) 属于非监督学习 (unsupervised learning)无类别标记(class label)是区别于分类的最重要特征,数据集中没有关于样本应该分到哪个类别的标示,需要依据数据本身和特征进行训练,人为的设置分类个数这个超参数.
(二)基本思想是:
算法接受参数 k ;将输入的n个数据对象划分为 k个聚类,满足同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
(三)算法描述:
(1)适当选择c个类的初始中心;
(2)在第k次迭代中,对任意一个样本,求其到c各中心的距离,将该样本归到距离最短的中心所在类;
(3)利用均值等方法更新该类的中心值;
(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
(四)目标函数
其中每一个中心的均值计算公式如下:
我们的目标是最小化上面的公式
在数据空间上随机取K个聚类点
每一次迭代包含两步:
1 簇的重新赋值 2中心点的更新
每一点被赋值给距离这个中心最近簇,簇中所以点的均值和中心点在加入新的元素后更新,知道中心点不再改变为止。
(五)案例
我们在 [2,3,,4,10,11,12,20,25,30]这几个数据中,聚两个类
初始化选择的是2 4作为聚类中心点
计算中心点
重新依据均值,选择到这两个均值最近的点
2 3 4划归为1类,这时候4是经过第一步的依据初始化2 4两个聚类中心点后在第二步被归为第一个类别了
下面可视化这个迭代过程:
最后形成的聚类簇是
簇中心点 是 7 和 25
tips 算法复杂度:
计算每一个点与K个簇之间的距离,在d维空间需要d次操作,所以计算簇 需要O(nkd),中心点重新计算需要O(nd)的时间,共处理n个d维点,假如执行t次迭代,则kmeans算法的总时间是O(tnkd),空间复杂度,一共需要进行O(t)次扫描。
- KMeans算法理论
- KMeans 算法
- Kmeans算法
- kmeans算法
- Kmeans算法
- Kmeans算法
- kmeans++算法
- Kmeans算法
- Kmeans系统理论总结上
- kmeans聚类理论篇
- Kmeans 算法理论和Python实现(一)——简单K-Means实现
- [算法3]Kmeans算法
- Kmeans中k值的相关理论
- Kmeans、Kmeans++和KNN算法比较
- Kmeans、Kmeans++和KNN算法比较
- Kmeans、Kmeans++和KNN算法比较
- Kmeans、Kmeans++和KNN算法比较
- Kmeans、Kmeans++和KNN算法比较
- 构建cloudera maven仓库
- 人类动作识别数据集AVA
- css之控制行间距和字间距
- android布局中模仿底部弹框显示隐藏动画
- Windows 环境下载 Android 源码
- KMeans算法理论
- Elasticsearch搜索中的部分匹配
- Android系统语言修改
- java向上转型和向下转型
- Nuance Power PDF Advanced(PDF编辑器)官方中文版V2.10下载 | power pdf advanced 破解版
- XZ_Swift之Swift基础第一篇
- 名词查询记录
- Android打开其它APP的两种方式
- 苹果联手GE开发企业级iOS应用 重点布局物联网