机器学习面试题(二):距离度量(余弦与欧式距离的区别、为什么knn不用曼哈顿距离而要用欧式距离、knn与kmeans的区别)

1、欧式距离与余弦距离
对于两个向量 A和B ,其余弦相似度定义为
在这里插入图片描述
即两个向量夹角的余弦,关洼的是向量之间的角度关系,并不关心他们的绝对大小,真取值范围是[-1, 1]
总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。越接近于1说明两个样本的相对方向越相似,相反越靠近于-1,说明两个样本的方向越不一样。

1)例如,统计两部剧的用户观看行为,用户A的观看向量为(0,1),用户B为(1,0);此时二者的余弦距很大,而欧氏距离很小;我们分析两个用户对于不同视频的偏好,更关注相对差异,显然应当使用余弦距离。说明两个用户的观看行为存在很大的差异

2)而当我们分析用户活跃度,以登陆次数(单位:次)和平均观看时长(单:分钟)作为特征时,余弦距离会认为(1,10)、(10,100)两个用户距离很近;但显然这两个用户活跃度是有着极大差异的,此时我们更关注数值绝对差异,应当使用欧氏距离。
问题2:
1、knn与k-means的区别
首先我们比较一下Knn和K-means的基本算法原理。

KNN
特点:
1、分类算法
2、监督学习
3、数据集是带Label的数据
4、没有明显的训练过程,基于Memory-based learning
5、K值含义 - 对于一个样本X,要给它分类,首先从数据集中,在X附近找离它最近的K个数据点,将它划分为归属于类别最多的一类
K-means
1、聚类算法
2、非监督学习
3、数据集是无Label,杂乱无章的数据
4、有明显的训练过程
5、K值含义- K是事先设定的数字,将数据集分为K个簇,需要依靠人的先验知识

不同点:
1、两种算法之间的根本区别是,K-means本质上是无监督学习,而KNN是监督学习;K-means是聚类算法,KNN是分类(或回归)算法。
2、k-nn有标签而k-means无标签
3、k-means有训练过程,而k-nn没有训练的过程
问题3:为什么k-nn中常用欧式距离而不选择曼哈顿距离
首先
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从这张图中可以看出欧式距离更关注于点在空间的相对距离,而曼哈顿距离择关注于点如何通过坐标轴上的方向到达另一点。
而在计算距离时我们更关注于样本之间的绝对差异,而不考虑样本之间的投影差异,所以采用欧式距离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值