斯坦福公开课Machine Learning笔记(九)--The K-means Clustering Algorithm

斯坦福公开课Machine Learning笔记(九)–The K-means Clustering Algorithm

这系列笔记其实已经手写好, 现在一次性发上来, 主要是怕丢. 内容以Andrew Ng的讲义为主,主要以公式推导与理解为主,引入和介绍省略.对于最后的Reinforcement Learning部分, 由于没有讲义以及对其实在不熟悉, 就没有笔记了(主要还是因为没有讲义).

K-means聚类算法是十分常用的聚类算法了.

Input: {x(1),x(m),...,x(m)}

  1. Initialize(簇中心):
    μ1,...,μkRn
  2. Repeat until convergence{
    for every i , c(i):=argminj||x(i)μj||2
    for each j, μj:=μj=1{c(i)=j}xii=1mi=11{c(i)=j}
    }

定义distortion function:

J(c,μ)=mi=1||x(i)μc(i)||2

k-means其实就是 J(c,μ) 的坐标上升法.
k-means的两部就是分别对c和 μ 进行优化,所以一定会收敛.但可能会有多个不同的聚类方式,但是最后还是会收敛.

如何选择k?
在公开课中,Ng说一般自动选择效果都不错.而在Coursera上,Ng使用了一种肘部法则来选择k.就是使用不同的k来计算J组成曲线,曲线会在某个点突然放缓,可以选择这个点来作为k.
同时,J不是凸函数,不能保证收敛到全局最优的情况,如果遇到收敛到局部最优,可以尝试多次重新初始化.


聚类距离:
距离计算有很多种,我找了以下几种:
1. 欧式距离: D(Oi,Oj=ni=1(OikOjk)2 使用原始数据并非归一化后的数据.但如果对象属性的度量标准不同,对结果影响较大.
2. 曼哈顿距离: D(Pi,Pj)=1nnk=1|PikPjk| .多维空间的平均差,取消了平方,离群点的影响减弱.
3. 切比雪夫距离: D(Qi,Qj)=maxhi=1QikQjk
4. 余弦相似度: D(Si,Sj)=cos(Si,Sj)
5. Jaccard: Sim(a,b)=|ab||ab|=|ab||ab¯|+|a¯b|+|ab|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值