|
|
|
|
移动端

2.1.3 点积和投影

《深度学习与计算机视觉:算法原理、框架应用与代码实现》第2章 深度学习和计算机视觉中的基础数学知识,本章会尽量从定性的角度讲解一些与深度学习、计算视觉紧密联系的基础数学概念,不一定会很严谨细致,但力求简单、形象。本节为大家介绍点积和投影。

作者:叶韵来源:机械工业出版社|2017-11-16 17:27

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


2.1.3  点积和投影

说到投影又需要一起来回顾一个高中数学知识:点积。对于两个向量u,v∈Rn,其中u=[u1, u2, …, un],v=[v1, v2, …, vn],u和v的点积定义如下:

也许有的读者看到这里会说,这不是内积吗?没错,这也是内积,内积是点积的推广,是一个更广泛的概念,或者说,点积就是欧几里得空间的标准内积。其实在深度学习和计算视觉用到的范围内,这些细节并不重要。我们可以认为点积和内积是一回事。

根据公式2-7,有一个很常用的公式,即向量的长度的计算。

知道了定义,来看看点积的几何意义。先从小学数学开始,2×5=10,这个大家都知道,2的5倍,等于10。如果不把这么一个简单的乘法看成是两个标量相乘,而是想象一下这个乘法发生在二维平面的x轴上,如图2-2a所示。

两个向量(2,0)和向量(5,0),它们的点积是2×5+0×0=10,如果只看其中x轴的部分,和乘法没有区别,从几何方面来看,就是以一个倍数对另一个量进行拉伸或收缩。

接下来让(5,0)这个向量保持长度,逆时针“旋转”成为(3,4),再和(2,0)做点积,(2,0)·(3,4)=2×3+0×4=6。通过图2-2b来形象理解一下,(3,4)在x轴上的分量的长度是3,x轴恰好和(2,0)指的方向重合,所以也可以说(3,4)在(2,0)指向的方向上的分量的长度是3。而(2,0)在自己方向上的长度就是向量本身的长度,也就是2。这两个标量的乘积2×3=6就是这两个向量的点积的结果。

事实上这就是两个向量点积的几何意义:一个向量u在另一个向量v方向上的分量的长度,和v的长度相乘得到的值。其中u在v上的分量的长度,称之为u在v上的投影(更严谨的说法叫标投影,scalar projection)。为什么叫投影呢?来看图2-2b,想象一下有个平行光光源,发出的光和x轴,也就是(2,0)的方向垂直,则可以想象(3,4)在(2,0)上投出的影子的长度,则恰好是(3,4)在(2,0)上分量的长度。

图2-2中的例子是(2,0)刚好落在x轴,是为了方便理解和演示。接下来一起看看两个任意方向向量做点积的情况,如图2-3所示。

如图2-3a,两个二维向量u和v,之间的夹角为θ,则u在v上的投影长度为u的长都是|u|cos(θ),这个长度再乘上v的长度|v|就是

当然,点积具有交换性,所以对这个几何意义的理解也一样,u和v的点积也可以看作是v在u上的投影乘以u的长度。公式2-9的推导也很简单,最常见的一种推导如图2-3b所示,把u和v看作是三角形的两边,则第三边的长度为|u-v|,根据高中数学中的三角形余弦定理,有

公式2-10和公式2-11的最后一项应该是相等的,则推导出公式2-9。接下来把公式2-9换个形式:

也就是说两个向量夹角的cos值,就是这两个向量方向上的单位向量的点积。这是一个非常有用的结论,因为两个向量夹角的cos值是这两个向量相似性的重要度量,夹角越小说明两个向量所指的方向越相近,而公式2-12给了我们一个非常简便的计算这种相似性的方法。另外,虽然我们的示例和推导都是二维的,但是这个结论在高维度也普遍适用,并且在机器学习中是个很有用的公式,在后面的实例中还会见到。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Fedora Core 5 Linux架站与网管

Linux出色的网络功能堪称当今操作系统中的佼佼者,无论在功能还是在支持能力上都有令人满意的表现。Linux内置的多个服务器,几乎包含了目前...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊