1.线性代数
线性代数作为数学中的一个主要 的分支,我感受是一样平常 人学习机械学习或者深度学习算法的必备知识,作为博主这样的CS身世的工科生,学了线性代数、微积分、概率论这些基础课程,平时也就够用了,再重大 的一些数学分支涉及的很少。(这一部门摘录自[1],加上我自己的一些明确 )
1.1 标量,向量,矩阵和张量
标量(scalar):一个标量就是一个单独的数。用斜体体现标量,如 s∈R
向量(vector):一个向量是一列数,我们用粗体的小写名称体现向量。好比
x,将向量x 写成方括号包罗的纵柱:
x=⎡⎣⎢⎢⎢⎢x1x2⋮xn⎤⎦⎥⎥⎥⎥
矩阵(matrix):矩阵是二维数组,我们通常赋予矩阵粗体大写变量名称,好比
A 。若是 一个矩阵高度是m,宽度是n,那么说A∈Rm×n
。一个矩阵可以体现如下:
A=[x11x21x12x22]
张量(tensor):某些情形 下,我们会讨论不止维坐标的数组。若是 一组数组中的元素漫衍在若干维坐标的规则网络中,就将其称为张量。用A 体现,如张量中坐标为(i,j,k)的元素记作Ai,j,k
转置(transpose):矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线称为主对角线(main diagonal)。将矩阵A的转置体现为AT
。界说如下: (A⊤)i,j=Aj,i
A=⎡⎣⎢x11x21x31x12x22x32⎤⎦⎥⟹A⊤=[x11x21x21x22x31x32]
1.2 矩阵和向量相乘
矩阵乘法:矩阵运算中最主要 的操作之一。两个矩阵A和B 的矩阵乘积(matrix product)是第三个矩阵C 。矩阵乘法中A 的列必须和 B的行数相同。即若是 矩阵 A的形状是 m×n,矩阵B的形状是 n×p,那么矩阵 C的形状就是 m×p。即
C=A×B
详细 的地,其中的乘法操作界说为
Ci,j=∑kAi,kBk,j
矩阵乘积听从分配律,团结 律,可是 矩阵乘法没有交流律,
A(B+C)=AB+ACA(BC)=(AB)CAB≠BA
点积(dot product)两个相同维数的向量x和y的点积可看作是矩阵乘积 xTy
矩阵乘积的转置 (向量也是一种特殊的矩阵)
(AB)⊤=B⊤A⊤x⊤y=(x⊤y)⊤=y⊤x
1.3 单元矩阵和逆矩阵
矩阵A的矩阵逆被记作 A−1
,被界说为如下形式:
A−1A=AA−1=InInA=A
线性无关(linearly independent): 若是 一组向量中的恣意 一个向量都不能体现成其他向量的线性组合,那么这组向量被称之为线性无关。要想使矩阵可逆,首先必须矩阵是一个方阵(square),即 m=n,其次,所有的列向量都是线性无关的。一个列向量线性相关的方阵被称为 奇异的(singular)。
1.4 范数
需要权衡一个向量的巨细,在机械学习中,我们使用称为范数(norm)的函数来权衡向量巨细,形式上, Lp
范数如下[5]:
||x||p=(∑i|xi|p)1p,其中p∈R,p≥1
范数是将向量映射到非负值的函数。直观上来说,向量 x的范数就是权衡从原点到 x的距离。更严酷 来说,范数知足 下列性子 的函数:
f(x)=0⟹x=0f(x+y)≤f(x)+f(y)∀α∈R,f(αx)=|α|f(x)
当 p=2时, L2被称作欧几里得范数(Euclidean norm)。它体现从原点出发到向量x确定的点的欧几里得距离。L2范数常被用来权衡向量的巨细,由于 它便于求导盘算(如对向量中每个元素的导数只取决于对应的元素,可是 它也有缺陷,即它在原点周围 增添 得十分缓慢),可以简朴用点积xTx来盘算。
当p=1时,称为L1范数,是向量元素绝对值之和;
当p=0时,上面的界说没有包罗,称为0范数,界说为向量非零元素的数目
max范数(max norm):这个范数体现向量中具有最大幅度得元素的绝对值,用L∞
范数体现,形式为:
||x||∞=max|xi|
两个向量的点积(dot product)也可以用范数来体现。详细 地
x⊤y=||x||2||y||2cosθ
矩阵的范数(matrix norm)详细 请参考[6],最常用的就是 Frobenius norm
||A||F=(∑i∑j|aij|2)1/2
1.5 特殊类型的矩阵和向量
对角矩阵 (diagonal matrix) 只在主对角线上含有非零元素,其它位置都是零。矩阵D是对角矩阵,当且仅当 ∀i≠j,Di,j=0,用 diag(v)体现一个对角元素由向量v中元素给定的对角矩。对称(symmetric) 矩阵是恣意 转置和自己相等的矩阵: A=A⊤
.
单元向量(unit vector) 是具有单元范数(unit norm) 的向量:||x||2=1
正交矩阵(orthonormal matrix) 是指行向量是尺度正交的,列向量是尺度正交的方阵:
若是 x⊤y=0
,那么向量 x和向量 y相互正交(orthogonal)。若是 两个向量都有非零范数,那么体现这两个向量之间的夹角是90度。在Rn 中,至多有n个范数非零向量相互正交。若是 这些向量不仅相互正交,而且范数都为1那么我们称它们是尺度正交(orthonormal) 。
A⊤A=AA⊤=I,即A−1=A⊤
以是 正交矩阵受到关注是由于 求逆盘算价钱小。
1.6 特征剖析
许多数学工具可以通过将它们剖析成多个组成部门,或者找到它们的一些属性而被更好地明确 ,这些属性是通用的,而不是由我们选择体现它们的方式引起的。就像我们可以通过剖析质因数来发现一些关于整数的真实性子 ,我们也可以通过剖析矩阵来获取一些矩阵体现成数组元素时不显着 的函数性子 。
特征剖析(eigendecomposition) 是使用最广的矩阵剖析之一,即我们将矩阵剖析成一组特征向量和特征值。方阵A的特征向量(eigenvector)是指与A相乘后相当于对该向量举行 缩放的非零向量v:
Av=λv
标量λ被称为这个特征向量对应的特征值(eigenvalue);若是 v是A的特征向量,那么任何放缩后的向量sv,s∈R,s≠0
也是A的特征向量而且其与v
有相同的特征值。以是 我们通常只思量 单元特征向量。
假设矩阵A有n个线性无关的特征向量{v1,v2,...,vn}
,对应的特征值是{λ1,λ2,...,λn}
,我们将特征向量连成一个矩阵,使得每一列是一个特征向量:
V={v1,v2,...,vn}
类似地,特征值连成一个向量:
λ=[λ1,λ2,...,λn]⊤
因此A
的特征剖析(eigen-decomposition)可以记作
A=Vdiag(λ)V−1
上面我们构建详细 特定的特征值和特征向量,能够使我们在目的 偏向上延伸空间。我们也经常希望将矩阵剖析(decompose) 成特征值和特征向量。这样可以资助我们剖析 矩阵的特定性子 ,就像质因数剖析有助于我们明确 整数。
并不是所有的方阵都可以被对角化,这里主要思量 对称矩阵(A=AT
)的特征剖析。若是 一个对称矩阵的特征值都不相同,则其响应 的所有特征向量正交
VVT=VTV=I
A=VΛVT=[v1,v2,⋯,vn]⎡⎣⎢⎢λ1⋱λn⎤⎦⎥⎥⎡⎣⎢⎢⎢⎢⎢vT1vT2⋮vTn⎤⎦⎥⎥⎥⎥⎥=∑i=1nλivivTi
其中V是A的特征向量组成的正交矩阵,Λ是对角矩阵。由于 V是正交矩阵,以是 可以将A看作是沿偏向vi
延展λi
倍的空间。如下图所示:
这里写图片形貌
1.7 矩阵的迹
矩阵的迹界说是矩阵对角元素的和:
Tr(A)=∑iAi,i
标量的迹是它自己:a=Tr(a)。迹运算由于 许多缘故原由 而受到关注。若不使用求和符号,有些矩阵运算很难形貌 ,而通过矩阵乘法和迹运算符号,可以举行 清晰 地体现。例如,迹运算提供了另一种形貌 矩阵Frobenius 范数的方式:
||A||F=Tr(AA⊤)−−−−−−−−√
用迹运算体现式,使我们可以用许多有用的性子 来使用 体现式。例如迹运算在转置下是稳固 的:
Tr(A)=Tr(A⊤)
矩阵乘积的迹可以按顺序替换 矩阵的位置:
Tr(ABC)=Tr(BCA)=Tr(CAB)
1.8 二次型(Quadratic Form)
给定矩阵A∈Rm×n
,函数
xTAx=∑∑xixjaij
被称为二次型。若是 对于所有x∈Rn,有xTAx≥0,则为半正定矩阵,此时λ(A)≥0.若是 对于所有x∈Rn,有xTAx0,则为正定矩阵,此时λ(A)0.
机械人学习或解决问题