- 理解范数概念
- 区分向量的内积 a ⋅ b \mathbf{a} \cdot \mathbf{b} a⋅b 与外积 a × b \mathbf{a} \times \mathbf{b} a×b
- 区分矩阵的乘法 A ⊗ B \mathbf{A} \otimes \mathbf{B} A⊗B、内积 A B \mathbf{A} \mathbf{B} AB 、哈达玛积 A ⊙ B \mathbf{A} \odot \mathbf{B} A⊙B
向量
向量是一组标量排列而成的,只有一个轴,沿着行或者列的方向。通常表示成:
s = [ s 1 s 2 ⋯ s n ] 或 s = [ s 1 s 2 ⋮ s n ] s= \begin{bmatrix} s_1 &s_2 &\cdots &s_n \end{bmatrix}\ \ 或\ \ s = \begin{bmatrix} s_1\\ s_2\\ \vdots\\ s_n \end{bmatrix} s=[s1s2⋯sn] 或 s= s1s2⋮sn 向量的模与范数
向量的长度:表示向量的维度,即向量有几个元素,比如 n 维向量 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an) 的长度为 n,有 n 个元素。
向量的模长:简称为向量的模(Norm),表示向量在空间中的长度(欧式距离)。假设有 n 维向量 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),其模长 ∥ a ∥ \left \| a \right \| ∥a∥ 等于 a 1 2 + a 2 2 + ⋯ + a n 2 \sqrt{a_1^2 + a_2^2 + \cdots + a_n^2} a12+a22+⋯+an2。
向量的范数: ∥ x ∥ = ( ∑ i ∣ x i ∣ p ) 1 p \left \| x \right \| = (\sum_i |x_i|^p)^{\frac{1}{p}} ∥x∥=(∑i∣xi∣p)p1,其中 p ∈ R , p ≥ 1 p \in R, p \ge 1 p∈R,p≥1。通常存在 L 2 L_2 L2 范数或者 L 1 L_1 L1 范数,其中 1 1 1 和 2 2 2 对应公式中的 p p p 值。向量的模长就为 L 2 L_2 L2 范数。
单位向量
单位向量:即模长为 1 的向量,通常用于表示向量在空间中的方向,而不是长度(长度为模)。
假设有 n 维向量 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),其单位向量为 1 a 1 2 + a 2 2 + ⋯ + a n 2 ( a 1 , a 2 , ⋯ , a n ) \frac{1}{\sqrt{a_1^2 + a_2^2 + \cdots + a_n^2}}(a_1,a_2,\cdots,a_n) a12+a22+⋯+an21(a1,a2,⋯,an)向量的内积
向量的内积(Inner Product):也成为点乘、点积,是向量对应位置元素相加再相乘,结果为一个标量。
假设有向量 a = ( a 1 , a 2 , ⋯ , a n ) \mathbf{a} =(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an), b = ( b 1 , b 2 , ⋯ , b n ) \mathbf{b}=(b_1,b_2,\cdots,b_n) b=(b1,b2,⋯,bn),那么其内积 c \mathbf{c} c 为: c = a ⋅ b = ∑ i = 1 n a i ⋅ b i \begin{aligned} \mathbf{c} &= \mathbf{a} \cdot \mathbf{b}\\ &=\sum_{i=1}^n a_i \cdot b_i \end{aligned} c=a⋅b=i=1∑nai⋅bi向量内积的几何意义:能够表示出两个向量之间的线性相关程度,假设两个向量 a = ( a 1 , a 2 , ⋯ , a n ) \mathbf{a} =(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an), b = ( b 1 , b 2 , ⋯ , b n ) \mathbf{b}=(b_1,b_2,\cdots,b_n) b=(b1,b2,⋯,bn),那么其夹角 θ \theta θ 余弦值 cos θ \cos \theta cosθ 就为: cos θ = a ⋅ b ∥ a ∥ ∥ b ∥ \cos \theta = \frac{\mathbf{a} \cdot \mathbf{b}}{\left \| a \right \| \left \| b \right \|} cosθ=∥a∥∥b∥a⋅b当 cos θ = 0 \cos \theta = 0 cosθ=0,表示两个向量空间垂直,即向量无关;当 cos θ = 1 \cos \theta = 1 cosθ=1,表示两个向量空间方向相同,即线性高度相关。
向量的外积
外积(Outer Product):也称为向量叉积、叉乘,其计算结果是一个向量,其方向垂直于两个向量组成的平面。
假设有两个向量 a = ( a 1 , a 2 , ⋯ , a n ) \mathbf{a} =(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an), b = ( b 1 , b 2 , ⋯ , b n ) \mathbf{b}=(b_1,b_2,\cdots,b_n) b=(b1,b2,⋯,bn),那么向量外积 c \mathbf{c} c 表示为 c = a × b \mathbf{c} = \mathbf{a} \times \mathbf{b} c=a×b,其大小为: ∣ c ∣ = ∣ a ∣ ∣ b ∣ sin ( a , b ) \left | c \right | = \left | a \right | \left | b \right | \sin(\mathbf{a}, \mathbf{b}) ∣c∣=∣a∣∣b∣sin(a,b)
矩阵
矩阵是由多个元素组成的表格,是一种二维结构,每个数字在矩阵中对应一个行号与列号。矩阵表示如下: A = [ A 1 , 1 A 1 , 2 ⋯ A 1 , n A 2 , 1 A 2 , 2 ⋯ A 2 , n ⋮ ⋮ ⋮ A m , 1 A m , 2 ⋯ A m , n ] A=\begin{bmatrix} A_{1,1} & A_{1,2}& \cdots& A_{1,n}\\ A_{2,1} & A_{2,2}& \cdots& A_{2,n}\\ \vdots & \vdots& & \vdots \\ A_{m,1} & A_{m,2}& \cdots& A_{m,n}\\ \end{bmatrix} A= A1,1A2,1⋮Am,1A1,2A2,2⋮Am,2⋯⋯⋯A1,nA2,n⋮Am,n 矩阵的转置
矩阵的转置(Transpose)是将矩阵以主对角线为轴,进行镜像翻转, ( A ) m , n T = A n , m (A)^T_{m,n} = A_{n, m} (A)m,nT=An,m。
矩阵乘法
假设有矩阵 A m , k A_{m, k} Am,k 和矩阵 B k , n B_{k, n} Bk,n,那么矩阵乘法表示为: C = A ⊗ B = A B ⇒ C m , n = ∑ k A m , k B k , n C = A \otimes B = AB\ \ \Rightarrow\ \ C_{m, n} = \sum_k A_{m, k} B_{k,n} C=A⊗B=AB ⇒ Cm,n=k∑Am,kBk,n
矩阵乘法能操作的前提是:矩阵 A A A 的列数必须与矩阵 B B B 的行数相同!
矩阵内积
矩阵内积表示将两个矩阵对应元素直接相乘再相加,结果为一个标量。 c = ∑ i = 1 m ∑ j = 1 n A i , j B i , j c = \sum_{i=1}^{m} \sum_{j=1}^n A_{i, j} B_{i, j} c=i=1∑mj=1∑nAi,jBi,j
矩阵哈达玛积
矩阵的哈达玛积(Hadamard product)表示将两个矩阵对应元素相乘,其结果是一个矩阵。 C = A ⊙ B ⇒ C = [ A 1 , 1 B 1 , 1 A 1 , 2 B 1 , 2 ⋯ A 1 , n B 1 , n A 2 , 1 B 2 , 1 A 2 , 2 B 2 , 2 ⋯ A 2 , n B 2 , n ⋮ ⋮ ⋮ A 4 , 1 B 4 , 1 A 4 , 2 B 4 , 2 ⋯ A 4 , n B 4 , n ] \mathbf{C} = \mathbf{A} \odot \mathbf{B} \ \ \Rightarrow \ \ \mathbf{C} = \begin{bmatrix} A_{1,1}B_{1,1} & A_{1,2}B_{1,2}& \cdots& A_{1,n}B_{1,n}\\ A_{2,1}B_{2,1} & A_{2,2}B_{2,2}& \cdots& A_{2,n}B_{2,n}\\ \vdots &\vdots & &\vdots \\ A_{4,1}B_{4,1} & A_{4,2}B_{4,2}& \cdots& A_{4,n}B_{4,n}\\ \end{bmatrix} C=A⊙B ⇒ C= A1,1B1,1A2,1B2,1⋮A4,1B4,1A1,2B1,2A2,2B2,2⋮A4,2B4,2⋯⋯⋯A1,nB1,nA2,nB2,n⋮A4,nB4,n 张量
张量(Tensor)是多维数组的抽象概括,可以看作是向量和矩阵的扩展,这也是 Pytorch 中最基本的数据结构。
梯度
梯度是一个包含所有偏导数的向量,用符号 ∇ \nabla ∇ 表示。
比如有函数 z = f ( x , y ) = x 2 + y 2 z = f(x,y) = x^2 + y^2 z=f(x,y)=x2+y2,其梯度向量为: ∇ f ( x , y ) = ( 2 x , 2 y ) \nabla f(x,y) = (2x, 2y) ∇f(x,y)=(2x,2y)。
在梯度下降算法中,参数的更新公式为: θ t + 1 = θ t − η ∇ θ J ( θ t ) \theta_{t+1} = \theta_t - \eta \nabla_{\theta}J(\theta_t) θt+1=θt−η∇θJ(θt)。
方向导数与梯度的关系,方向导数表示某一个点处沿各个方向的斜率,是一个标量。而梯度是一个向量,其方向上的方向导数最大,其大小正好是此最大方向导数。
贝叶斯定理
贝叶斯定理公式: P ( A ∣ B ) = P ( A ) P ( B ∣ A ) P ( B ) P(A \ | \ B) = P(A)\frac{P(B\ | \ A)}{P(B)} P(A ∣ B)=P(A)P(B)P(B ∣ A)
英国数学家托马斯·贝叶斯(Thomas Bayes)在 1763 年发表的一篇论文中,首先提出了该定理。
该论文表示贝叶斯为了解决一个 ”逆概率” 问题,而提出了贝叶斯定理。在贝叶斯写这篇论文前,人们已经能够计算 “正向概率” 问题了。
正向概率问题就比如从箱子中摸球的问题,假设箱子中有 2 个白球、2 个黑球,你从箱子中摸一次且只拿一个球,那么抽到白球的概率是多少?这种从 已知信息 到 未知信息 的问题就是正概率问题。
逆概率问题就比如上面摸球问题,在之前并不知道箱子里面有什么颜色的球,而是摸出一个球,观察这个球的颜色,进而预测这个箱子里面有什么颜色的球,这种从 未知信息 到已知信息 的问题就是逆概率问题。
在平时生活中,大部分问题都是 “逆概率” 问题。因为绝大多数决策面临的信息都是不完整的,我们手中只有有限的信息。既然无法得到完整的信息,就只能在有限信息的条件下,尽可能做出一个好的预测。
而对于贝叶斯公式可以这么理解,比如一个例子:我喜欢吃冰淇淋,然后偶然在抖音上刷到有人推荐肯德基的冰淇淋很好吃,那么现在我想知道肯德基的冰淇淋到底好不好吃。
那么现在有:
所以 P ( A ∣ B ) P(A \ | \ B) P(A ∣ B) 就表示在抖音上有人推荐肯德基的冰淇淋好吃的事件发生后,肯德基的冰淇淋好吃的概率。那么有贝叶斯公式: P ( A ∣ B ) = P ( A ) P ( B ∣ A ) P ( B ) P(A \ | \ B) = P(A)\frac{P(B\ | \ A)}{P(B)} P(A ∣ B)=P(A)P(B)P(B ∣ A)对公式可以这样看:
极大似然估计
概率:在特定环境下某件事情发生的可能性,即在结果没有产生之前,根据环境中的参数,来预测某件事情发生的概率。比如抛硬币,在没有抛之前,我们并不知道结果会是硬币的那一面朝上。但是根据硬币的性质,可以推测得出任何一面朝上的概率都是 0.5。而这里的概率 0.5,只有在抛硬币之前是有意义的。因为硬币抛完了之后,结果就确定了。
似然:基于已经确定的结果,来推测产生这个结果的可能环境,或者说是推测环境中的某些参数。比如抛硬币,假设随机抛出硬币 10000 次,结果 8000 次人像在上,2000 次数字在上,就可以推测出该硬币可能比较特殊,进而可得该硬币的具体参数,即人像的概率为 0.8,数字的概率为 0.2。这种根据结果判断事情本身性质的过程就是似然。
假设 θ \theta θ 表示环境对应的参数,而 x x x 表示事件发生的结果,就有
极大似然估计(Maximum Likelihood Estimate):也称为最大似然估计,利用已知的样本标记结果,反推最具有可能,或者说是最大概率导致这些样本结果出现的模型参数。极大似然估计是一种已知观察数据来推断模型参数的过程。
利用抛硬币的例子,假设 P ( 人像朝上 ) = θ P(人像朝上) = \theta P(人像朝上)=θ, P ( 数字朝上 ) = 1 − θ P(数字朝上) = 1-\theta P(数字朝上)=1−θ, θ \theta θ 存在但是具体未知。
为了获取 θ \theta θ,进行抛硬币实验并记录抛出的结果序列。假设在这个序列中,有 7 次是人像朝上,3 次是数字朝上,那么就有 θ \theta θ 的似然函数 L ( θ ) = θ 7 ( 1 − θ ) 3 L(\theta) = \theta^7 (1-\theta)^3 L(θ)=θ7(1−θ)3其函数图像如下:
最大似然估计就是求解当 θ \theta θ 取值为多少的时候,似然函数 L ( θ ) L(\theta) L(θ) 取得最大值,即 10 次实验最可能发生 7 次是人像朝上,3 次是数字朝上。
为了获取更准确的参数,可以增加试验次数。