K-Means算法与矩阵分解的等价
来源:互联网 发布:连接linux服务器工具 编辑:程序博客网 时间:2024/06/06 00:38
一、K-Means算法的基本原理
K-Means算法是较为经典的聚类算法,假设训练数据集
假设有
- 初始化常数K,随机选取初始点为质心
- 重复计算以下过程,直到质心不再改变
- 计算样本与每个质心之间的相似度,将样本归类到最相似的类中
- 重新计算质心
- 输出最终的质心以及每个类
二、K-Means与矩阵分解的等价
2.1、K-Means的目标函数
K-Means的目标使得每一个样本
其中,
最终使得质心不再改变,这就意味着每一个样本被划分到了最近的质心所属的类别中,即:
其中,样本
上述的优化目标可以表示成:(在下面会做证明)
2.2、矩阵分解的等价
2.2.1、优化目标一
对于上述的最小化问题:
则有:
下面分别对上式中的三项进行计算:
- 对于
∑i,jzijxTjxj :
已知:
- 对于
∑i,jzijxTjui :
- 对于
∑i,juTiui :
最终:
2.2.2、优化目标二
对于上述的优化目标的矩阵写法:
则有:
对于
因此得证,两种优化目标等价。
2.2.3、求最优的矩阵M
最终的目标是求得聚类中心,因此,对矩阵
令其为
即可得:
三、结论
K-Means算法等价于求下述问题的最小值:
参考文献
- 《k-Means Clustering Is Matrix Factorization》
0 0
- K-Means算法与矩阵分解的等价
- 【机器学习】K-Means 聚类是特殊的矩阵分解问题
- 深度学习(二十四)矩阵分解之基于k-means的特征表达学习
- 深度学习(二十四)矩阵分解之基于k-means的特征表达学习
- 深度学习(二十四)矩阵分解之基于k-means的特征表达学习
- 深度学习--矩阵分解之基于k-means的特征表达学习
- k-medoids与k-Means聚类算法的异同
- K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means)介绍与对比
- K-means算法的实现
- K-means算法的介绍
- K-Means的三种迭代算法
- K-means均值聚类算法的原理与实现
- K-means 聚类算法的理解与案例实战
- 数据挖掘:K-Means算法的原理与Python实现
- k-means/k-means++算法的笔记及scala实现
- 基于关联矩阵的聚类融合算法——Voting-K-Means算法
- 非负矩阵分解和谱聚类的等价性
- K-means 与 K-means++
- AssetBundle
- spark实战进阶
- 游戏
- 冒泡排序代码
- 长方形类
- K-Means算法与矩阵分解的等价
- Windows下安装Redis教程
- 第七周项目(1)-成员函数求两点间距离
- redis入门及其环境搭建
- mysql索引类型
- Unsupported major.minor version 51.0 (unable to load class com.powerlong.plas.filter.SortInfoFilter)
- 第六周项目3—IP地址类
- MySQL 入门(十二)—— MySQL内部函数
- 冒泡排序 选择排序 折半查找