第一部分 应用数学与机器学习基础
第2章 线性代数
一些概念工科线性代数教材中有提及,不作详细解释
个别概念
标量、向量、矩阵,单位矩阵、逆矩阵
张量(tensor):一个数组中的元素分布在若干维坐标的规则网格中。记作$A$ (多维数组?高纬度矩阵?)
广播(broadcasting):不同维度张量相加 (python的广播机制)
线性组合、线性相关、奇异矩阵
范数:衡量向量大小。
- $L_1$范数:0/非0差异,经常作为表示非零元素数目的替代函数;
- 最大范数:向量中具有最大幅值的元素的绝对值;
- Frobenius范数:衡量矩阵大小;
- 点积可以用范数表示
对角矩阵、对称矩阵
单位向量是具有单位范数的向量,即$ ||x||_2=1 $
正交:如果$x^Ty=0$,那么向量x和y互相正交
- 标准正交:向量不但互相正交,并且范数都为1
- 正交矩阵:行向量和列向量分别是标准正交的方阵,则$A^{-1}=A^T$
特征分解:
其中$Q$是$A$的特征向量组成的正交矩阵,$\Lambda$ 是对角矩阵。
- 实对称矩阵的特征分解可以用于优化二次方程$f(x)=x^TAx$,其中限制$ ||x||_2=1 $,当$x$等于$A$的某个特征向量时,f将返回对应的特征值,在限制条件下,函数$f(x)$的最大值是最大特征值,最小值是最小特征值。(在后面实例中会用到)
奇异值分解(SVD):
其中A为m ∗ n的矩阵(未必为方阵),U为m ∗ m的正交矩阵,D为m ∗ n的矩阵,V是一个n ∗ n的正交矩阵。
- 每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。
SVD最有用的一个性质是拓展矩阵求逆到非方矩阵上。
迹运算:返回矩阵对角元素的和,即$Tr(A)=\sumiA{i,i}$。
- 描述Frobenius范数:$||A||_F=\sqrt{Tr(AA^T)}$
- 性质:
- $Tr(A)=Tr(A^T)$
- $Tr(ABC)=Tr(CAB)=Tr(BCA)$
- $a=Tr(a)$
行列式
实例:主成分分析
主成分分析(PCA)是一种统计过程,它使用正交变换将一组可能相关变量(实体,每个实体具有不同的数值)的观察值转换为一组称为主成分的线性不相关变量的值。
理解:主要基于多变量内部具有一定的相关性,我们想要减少运算量,于是用较少的变量代替原来的变量,并尽可能地保留信息
实际上主成分分析有好几种推导,下面介绍一下本书采用的方法(最小平方误差)。
假设在$R^n$空间里有m个点,对其进行编码。则每一个$x^{(i)}\in R^n$,会有对应的$c^{(i)}\in R^l$,如果l比n小,那就减少了运算量。从n个特征降维到l个特征。找到编码函数$f(x)=c$和解码函数$x\approx g(f(X))$。
设$g(c)=Dc$,其中$D\in R^{nl}$是定义编码的矩阵。为了让D有唯一解,限制D中的所有列向量都有单位范数。为了让新的特征不具有相关性,限制D的列向量互相正交。正交向量线性无关。*
为了得到最优编码$c^$,*最小化原始输入向量$x$和重构向量$g(c)$之间的距离,用$L_2$范数(的平方)衡量他们之间的距离。即:
进行向量微积分计算
所以得到
我们的优化目标则成为找到D,因此让误差矩阵最小,即Frobenius范数最小,在前提$D^TD=I_l$(正交性质)
结论:矩阵D由前l个最大的特征值对应的特征向量组成。
注:PCA推导有更详细的博客在此,还有基于最大方差的推导,等学完概率论后再来看看。
第3章 概率与信息论
下周复习完概率论再来看