K均值和KNN算法(学习笔记)

二者区别

(上图参考https://www.cnblogs.com/peizhe123/p/4619066.html

K均值

学完吴恩达机器学习K均值算法的课程,做一下总结。

首先k-means是一个聚类算法,属于无监督学习。我们只知道数据,但没有任何标签,需要我们找出数据本身的data structure。

---------------------------------------------------------------------------------------------------------

先确定一个K值(分成K类,可能不是最优,后期可调整)后具体实现方法是:

1. 随机初始化K个μ

    建议直接选择样本点,即

2. 循环两个步骤

    (1)根据已经标记好的μ(1到k)更新每一个样本x(i)的类别c(i),且该样本点的所属均值为μc(i)。

    (2)重新计算新的μ(1到k)。

3. 优化代价函数至收敛

    

-------------------------------------------------------------------------------------------------------

至于怎么选择合适的K值,可以尝试不同的K值,然后看谁的J比较小。(感觉很坑)

见下图,随机初始化很影响最后的分类,同一个K值需要尝试多次初始化。(同感觉很坑)

KNN

KNN是一个监督的算法,但没有学习的能力,原有的样本是有标签的,所以在判断新的未知类别的样本点时,计算离它最近的K样本,这K个样本中哪个类别多,新样本属于哪个类别。所以有时候不同的K值很影响新样本的类别。

图中已知标签的为蓝色和红色的样本,先需要判断绿色点属于蓝色还是红色,可以看到不同K值,结果不同。(感觉就是一个充满了坑的算法)

但是有理论能够证明KNN的合理性,一种证明方法是用密度估计证明,以后有空再更。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值