目录
我思故我在.
一.K-近邻算法概念
一个样本在特征空间中与它最相似的K个样本中大多数在哪个类别中,就认为它属于哪个类别。
例如:
名称 | 特征(这里认为只有一个尺寸特征) | 目标值 |
Redmi K50 | 6.67 | 手机 |
OPPO K10 | 6.59 | 手机 |
iPad Pro2021 | 12.9 | 平板电脑 |
荣耀Magic4 | 6.81 | 手机 |
iPad Air5 | 10.9 | 平板电脑 |
选用K-近邻算法预测一个新样本的目标值,这里选择K=4做为最相似的个数,通过计算(计算方式这里暂不赘述……在下面)得到最相似的4个样本为Redmi K50、OPPO K10、荣耀Magic4、iPad Air5,在这最相似的4个样本中3个属于手机,1个属于平板电脑,所以认为这个新样本的目标值属于手机。
二.K-近邻算法的距离公式
接上通过计算距离判断相似程度,距离越近就越相似。
名称 | 二维(a(x1,y1)与b(x2,y2)) | 多维(a(x1,y1,z1,…,n1)与b(x2,y2,z2,…,n2)) |
欧几里得距离 | d=sqrt((x2-x1)**2+(y2-y1)**2) (sqrt指根号) | d=sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2+…+(n2-n1)**2) (sqrt指根号) |
曼哈顿距离 | d=|x2-x1|+|y2-y1| | d=|x2-x1|+|y2-y1|+…+|z2-z1| |
切比雪夫距离 | d=max(|x2-x1|,|y2-y1|) | d=max(|x2-x1|,|y2-y1|,…,|z2-z1|) |
闵可夫斯基距离(闵可夫斯基距离不是一种距离,而是一组距离。) | d=(|x2-x1|**p+|y2-y1|**p+…+|z2-z1|**p)**p p=1时,就是曼哈顿距离。 p=2时,就是欧几里得距离。 p->无穷时,就是切比雪夫距离。 |
三.K-近邻算法的超参数K值以及取值问题
超参数:需要手动指定的参数。
K值过小:容易受到异常点的影响,容易过拟合。
K值过大:容易受到样本均衡的问题,容易欠拟合。
可以采用交叉验证来选择最优的K值。
四.K-近邻算法的优缺点
优点:
- 简单有效
- 重新训练的代价低
- 适合类域交叉样本
- 适合大样本自动分类
缺点:
- 惰性学习
- 类别评分不是规格化
- 输出可解释性不强
- 对不均衡的样本不擅长
- 计算量较大