百面机器学习:算法工程师带你去面试---余弦距离的应用(二)

自从中央定调“新基建”,互联网大厂继续加码人工智能。,然而,AI产业却面临着巨大的人才缺口!在这样的大环境下,如果你有志应聘相关的技术岗,只有苦练内功,趁早磨刀,比如认真刷题,才有可能在面试中致胜。

以下分享算法岗的经典面试题,选自《百面机器学习:算法工程师带你去面试》一书。

问题2 余弦距离是否是一个严格定义的距离?

难度:★★★☆☆

分析与解答

该题主要考察面试者对距离的定义的理解,以及简单的反证和推导。首先看距离的定义:在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可称为这对元素之间的距离。

余弦距离满足正定性和对称性,但是不满足三角不等式,因此它并不是严格定义的距离。具体来说,对于向量A和B,三条距离公理的证明过程如下。

正定性
根据余弦距离的定义,有
在这里插入图片描述

考虑到在这里插入图片描述,因此有在这里插入图片描述恒成立。特别地,
因此余弦距离满足正定性。

在这里插入图片描述
对称性
根据余弦距离的定义,有在这里插入图片描述
因此余弦距离满足对称性。

三角不等式
该性质并不成立,下面给出一个反例。给定A=(1,0),B=(1,1),C=(0,1),则有
在这里插入图片描述
因此有
在这里插入图片描述

扫描二维码关注公众号,回复: 10181310 查看本文章

假如面试时候紧张,一时想不到反例,该怎么办呢?此时可以思考余弦距离和欧氏距离的关系。从问题1中,我们知道单位圆上欧氏距离和余弦距离满足

在这里插入图片描述

即有如下关系

在这里插入图片描述

显然在单位圆上,余弦距离和欧氏距离的范围都是[0,2]。我们已知欧氏距离是一个合法的距离,而余弦距离与欧氏距离有二次关系,自然不满足三角不等式。具体来说,可以假设A与B、B与C非常近,其欧氏距离为极小量u;此时A、B、C虽然在圆弧上,但近似在一条直线上,所以A与C的欧氏距离接近于2u。因此,A与B、B与C的余弦距离为u2/2;A与C的余弦距离接近于2u2,大于A与B、B与C的余弦距离之和。

面试者在碰到这类基础证明类的问题时,往往会遇到一些困难。比如对面试官考察的重点“距离”的定义就不一定清晰地记得。这个时候,就需要跟面试官多沟通,在距离的定义上达成一致(要知道,面试考察的不仅是知识的掌握程度,还有面试者沟通和分析问题的能力)。要想给出一个完美的解答,就需要清晰的逻辑、严谨的思维。比如在正定性和对称性的证明过程中,只是给出含糊的表述诸如“显然满足”是不好的,应该给出一些推导。最后,三角不等式的证明/证伪中,不应表述为“我觉得满足/不满足”,而是应该积极分析给定三个点时的三角关系,或者推导其和欧氏距离的关系,这样哪怕一时找不到反例而误认为其是合法距离,也比“觉得不满足”这样蒙对正确答案要好。
笔者首次注意到余弦距离不符合三角不等式是在研究电视剧的标签时,发现在通过影视语料库训练出的词向量中,comedy和funny、funny和happy的余弦距离都很近,小于0.3,然而comedy和happy的余弦距离却高达0.7。这一现象明显不符合距离的定义,引起了我们的注意和讨论,经过思考和推导,得出了上述结论。

在机器学习领域,被俗称为距离,却不满足三条距离公理的不仅仅有余弦距离,还有KL距离(Kullback-Leibler Divergence),也叫作相对熵,它常用于计算两个分布之间的差异,但不满足对称性和三角不等式。
以上是《百面机器学习:算法工程师带你去面试》中的部分精华。

在这里插入图片描述
此书已加入到VIP会员卡,只要购买VIP会员卡即可免费阅读上百本电子书,这张VIP卡除了免费让你读书,还有更多的权益等你来领,往下↓拉
在这里插入图片描述

在这里插入图片描述

作者群像

在这里插入图片描述

《百面机器学习》学习脉络图

前微软全球执行副总裁、美国工程院院士沈向洋,高度认可这本书:“这本书致力于普及人工智能和机器学习,帮助每个软件工程师成为自信的AI实践者,每个数据科学家成为优秀的AI研究者。”

《浪潮之巅》《数学之美》作者吴军亦很美誉此书:“这本书教授大家如何搭建计算机理论和算法与具体应用之间的桥梁。它可以让计算机的从业者对理论的认识有一个飞跃,也可以让非计算机专业的工程人员了解计算机科学这个强大的工具。”

此书已加入到VIP会员卡,只要购买VIP会员卡即可免费阅读上百本电子书,这张VIP卡除了免费让你读书,还有更多的权益等你来领,往下↓拉
在这里插入图片描述

发布了40 篇原创文章 · 获赞 120 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_37649168/article/details/105054298
今日推荐