标签:机器学习
计算机进行计算时有几个问题:
- 用理论上等价的算法,在实际计算中会产生误差。如何保证数值稳定性?
- 数据量大难以计算?利用迭代算法
了解并运用一些数学知识有助于更好地进行机器学习。
正定矩阵
A是对称正定矩阵1,则
AT=A,vTAv>0(v≠0)
性质:
- 所有特征值大于0
- 存在满秩矩阵X, A=XXT
- 可作为高斯分布的协方差矩阵
而当 vTAv≥0 时,A为半正定矩阵,此时性质1,2,3均不成立,它只能作为退化的协方差矩阵。
Cholesky分解
对于对称正定矩阵,找到下三角矩阵L,满足
LLT=A
,之后有关A的运算用L来代替,如图即可唯一分解出L
L的性质为:对角元全大于0.
分解的复杂度为O( n3 )。
应用:
-
Ax=b
已知A,b求x
一般的求 A−1 复杂度较高,因此带入分解因子 LLTx=b ,换元如下
[1] : Lv=b ,
[2] : LTx=v
先求v,再求x,利用L是下三角矩阵的性质,复杂度为O( n2 ) - 求
log|A|
log|A|=2log|L|=2log∑ni=1li,i - 求
bTA−1b
令 bTA−1b=||v||2 ,代入 bT(LLT)−1b=||v||2 ,得 Lv=b ,只需O( n2 )求出v。 - 多元高斯分布换元
Σ=LLT,μ=La 稳定性更好,复杂度更小。
奇异值分解(SVD)
A=UΛVT∈Rm×n,其中UTU=I,VTV=I,Λ为对角矩阵,λi≥0
奇异值矩阵 Λ∈Rd×d,d=min(m,n)
性质:
- ATA=(UΛVT)TUΛVT=VΛ2VT
- A对称时,U=VD,D为对称矩阵, di∈{1,−1}
- 若A正定,SVD就成为特征分解
- 复杂度为O( n3 )
- 比Cholesky分解慢,但是准确
应用:
- 主成分分析(PCA),用于降维
- 线性近似
- 规范化(Laplace)
网上有一篇博客讲得很好,奇异值分解(SVD)原理详解及推导。
共轭梯度算法(Conjugate Gradient Algorithm, CG)
共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。
用于找到局部最小值,每次朝着变化梯度最大的方向走,直到变化为0,即到了最小值。
若非零向量u,v满足 uTAv=0(A为对称矩阵) ,则u,v是关于A正交的,也称共轭。
如下列问题:
对于正定矩阵A,求出最优参数
X∗=argmin{q(x)=12xTAx−bTx}
首先求导
g(x)=∇q(x)=Ax−b
- 初始位置为 x0
- 遍历k个方向,令 gk−1=g(xk−1) ,以及以前的方向来确认 dk ,即下一步的方向,再偏移到该方向使 xk=xk−1+αkdk ,走多远由 αk 决定, αk=argmin(q(xk))
- 重复步骤2直到q是最小值。
步骤里要解决的问题有:
-
dk
的取向?
要使得下降最快,应该朝着最陡的方向(Steepest Descent),即 dk=−gk−1 。比SD更好的办法是新的梯度总是正交于旧的方向。由此可以得到gk+1=A(xk+αk+1dk+1)−b=gk+αk+1Adk+1 (Δ)0=gTk+1dk=gTkdk+αk+1dTk+1Adk再归纳得到,当A为对称矩阵时dTjAdk=0(j≠k)即 dj,dk 共轭。
一直走到某个位置 xk,s.t.gTkdk=0 . -
αk的取值?
为了方便计算引入 dk+1=−gk+βkdk
由 gTkdk=0 ,并将 gk 展开,可得gTk−1dk+αkdTkAdk=0 (∗)则αk=−gTk−1dkdTkAdk=−gTk−1(−gk−1+βk−1dk−1)dTkAdk=||gk−1||2dTkAdk (∗∗)由 dTk+1Adk=0 ,并将 dk+1 展开,得(−gk+βkdk)TAdk=0则βk=gTkAdkdTkAdk=(∗)gTk(αkAdk)−gTk−1dk=(∗∗)gTk(αkAdk)||gk−1||2=(Δ)gTk(gk−gk−1)||gk−1||2=||gk||2||gk−1||2
向量微积分
函数:
df(x)=f(x+(dx))−f(x)=(∇f(x))T(dx)+O(||dx||2)
d(XY)=(dX)Y+X(dY)
矩阵:
d(X−1)=−X−1(dX)X−1
d(log|X|)=trX−1(dX)
d|X|=d(elog|X|)=|X|(d log|X|)
对于向量、矩阵求导,只要找到对应的自变量和应变量的位置即可降维求导。
- 在双线性代数中,正定矩阵的性质类似复数中的正实数。与正定矩阵相对应的线性算子是对称正定双线性形式(复域中则对应埃尔米特正定双线性形式)。 ↩