人工智能必知必会-向量的内积

每天五分钟带你解决一个深度学习问题。

向量的内积

在数学中,点积又称数量积或标量积,是一种接受两个等长的数字序列、返回单个数字的代数运算。在欧几里得几何中,两个笛卡尔坐标向量的点积常称为内积,见内积空间。 从代数角度看,先对两个数字序列中的每组对应元素求积,再对所有积求和,结果即为点积。从几何角度看,点积则是两个向量的长度与它们夹角余弦的积。

今天我们结合numpy代码来学习,通过numpy内建的dot函数很容易就能实现向量的内积操作。

import numpy as np
v = np.array([0,1])
u = np.array([1,0])
np.dot(v, u)

输出

 0

内积的物理意义

#v_norm为v的模长
v_norm = np.linalg.norm(v)
#u_norm为u的模长
u_norm = np.linalg.norm(u)
v_u_angle = 90 
#由于v, u垂直,所以角度为90
人工智能必知必会-向量的内积_第1张图片
v与u相互垂直
#cos_90为cos90度的值
cos_90 = int(np.cos(90 * np.pi / 180))
cos_90

输出

0
v_norm * cos_90 
#这个代表v向量在u向量上的投影长度

输出

0.0

为什么是0呢?因为如果有光从v向量的上方照下来,v在u上的投影就是那个黑色的小点啊!


人工智能必知必会-向量的内积_第2张图片
投影

最后我们看一下v的模长与cos90与u的模长相乘的最后结果为0,这与我们用np.dot求出来的结果一致。

v_norm * cos_90 * u_norm
#再乘以u_norm的模长就是v与u的内积,结果和我们直接使用np.dot(v, u)一样

输出

0.0

此时v与u垂直,v就是u的法向量。

重点: 两个向量的内积公式为 所以要牢记:
1 如果两个向量的夹角在90度以内,则内积为正,大于90度则内积为负,正好90度则内积为0。
这个特别重要。
2 因为角度可以代表两个向量的相似度,如果两个向量重合,则角度为0。如果已知两个向量,我们就可以很方便的获取他俩之间的角度:

思考一下:


人工智能必知必会-向量的内积_第3张图片
黑色部分为投影

向量v为(2,2), 向量u为(3,0),他俩之间的角度为45度,你来尝试求一下v在u上的投影长度,也就是黑色箭头的部分。快用numpy来实现一下吧,记得把答案写在评论区!

目录:
人工智能必知必会-前言
人工智能必知必会-标量,向量,矩阵,张量
人工智能必知必会-向量的加减与缩放
人工智能必知必会-向量的内积
人工智能必知必会-向量之间的距离
人工智能必知必会-初识矩阵
人工智能必知必会-矩阵与向量
人工智能必知必会-矩阵的加减法
人工智能必知必会-矩阵乘法
人工智能必知必会-矩阵与方程组
人工智能必知必会-再看矩阵与向量
人工智能必知必会-矩阵与向量乘法的物理意义
人工智能必知必会-词向量(案例)
人工智能必知必会-矩阵相乘上

人工智能必知必会-矩阵相乘下

你可能感兴趣的:(人工智能必知必会-向量的内积)