2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 机器学习深度学习 常用算法推导

机器学习深度学习 常用算法推导

时间:2020-02-09 04:04:50

相关推荐

机器学习深度学习 常用算法推导

基础

以下所有“向量”代表列向量每一个样本点xxx都是一个向量,多个样本组成矩阵X=[x0,x1,...,xn]X=[x_0, x_1,...,x_n]X=[x0​,x1​,...,xn​]

向量

向量的坐标代表向量在指定基下的投影:a=[e1,e2,e3]T[a1,a2,a3]a=[e_1,e_2,e_3]^T[a_1,a_2,a_3]a=[e1​,e2​,e3​]T[a1​,a2​,a3​]向量点积/内积/数量积:a⋅b=aTb=∑iCaibi=∣a∣∣b∣cosθa·b =a^Tb=\sum^C_ia_ib_i=|a||b|cos\thetaa⋅b=aTb=∑iC​ai​bi​=∣a∣∣b∣cosθ,θ\thetaθ为a,ba,ba,b夹角 内积代表一个向量在另一个向量上的投影 向量aaa的反对称矩阵AAA:a=[a1a2a3],A=a∧=[0−a3a2a30−a1−a2a10]a=\left[ \begin{array}{c} a_1 \\ a_2 \\ a_3\end{array}\right],A=a^\wedge=\left[ \begin{array}{c} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{array}\right]a=⎣⎡​a1​a2​a3​​⎦⎤​,A=a∧=⎣⎡​0a3​−a2​​−a3​0a1​​a2​−a1​0​⎦⎤​ 反对称矩阵满足:AT=−AA^T=-AAT=−A 向量外积: 外积是一个垂直于俩向量的向量,大小为∣a∣∣b∣sin(a,b)|a||b|sin(a,b)∣a∣∣b∣sin(a,b)

信息量

横坐标为概率ppp,则对应纵坐标信息量i=−logpi=-logpi=−logp,反映事件让人惊讶的程度(不确定性)

某个事件对应的信息量的期望

传统算法

线性回归

寻找一个权重www和偏置bbb,使得wTX+bw^TX+bwTX+b最接近目标值YYY。相当于拟合一条直线(或一个超平面),让所有样本在直线上的取值与真实值最接近。举个例子,二维情况下,www相当于斜率k∈Rk∈\mathbb{R}k∈R,bbb相当于截距。

输入:样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N,目标值(ground truth)Ygt∈R1×NY_{gt}∈\mathbb{R}^{1×N}Ygt​∈R1×N输出:权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1,偏置b∈Rb∈\mathbb{R}b∈R

推导

Y=wTX+b∈R1×NY=w^TX+b∈\mathbb{R}^{1×N}Y=wTX+b∈R1×N通过齐次形式把bbb整合进www,w=[wb]∈R(C+1)×1,X=[X1]∈R(C+1)×Nw=\left[ \begin{array}{c} w \\ b\end{array}\right]∈\mathbb{R}^{(C+1)×1},X=\left[ \begin{array}{c} X \\ 1\end{array}\right]∈\mathbb{R}^{(C+1)×N}w=[wb​]∈R(C+1)×1,X=[X1​]∈R(C+1)×NY=wTX∈R1×NY=w^TX∈\mathbb{R}^{1×N}Y=wTX∈R1×N这里可通过最小二乘获得最优参数的解析解Loss=∑(ygt−y)2=(Ygt−wTX)(Ygt−wTX)T∈R+Loss=\sum(y_{gt}-y)^2=(Y_{gt}-w^TX)(Y_{gt}-w^TX)^T∈\mathbb{R}^{+}Loss=∑(ygt​−y)2=(Ygt​−wTX)(Ygt​−wTX)T∈R+∂Loss∂w=2(wTX−Ygt)XT∈R(C+1)×1\frac{\partial Loss}{\partial w}=2(w^TX-Y_{gt})X^T∈\mathbb{R}^{(C+1)×1}∂w∂Loss​=2(wTX−Ygt​)XT∈R(C+1)×1令偏导为0002(wTX−Ygt)XT=02(w^TX-Y_{gt})X^T=02(wTX−Ygt​)XT=0wTXXT=YgtXTw^TXX^T=Y_{gt}X^TwTXXT=Ygt​XTw=(YgtXT(XXT)−1)Tw=(Y_{gt}X^T(XX^T)^{-1})^Tw=(Ygt​XT(XXT)−1)Tw=(XXT)−1XYgtTw=(XX^T)^{-1}XY_{gt}^Tw=(XXT)−1XYgtT​

逻辑回归

逻辑回归是分类算法,相当于全连接加sigmoidsigmoidsigmoid激活的单层神经网络。

输入:样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N,每个样本对应的类别输出:权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1,偏置b∈Rb∈\mathbb{R}b∈R

推导

给出样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N过一层全连接+sigmoidsigmoidsigmoid得到输出:Y=sigmoid(wTX+b)∈(0,1)1×NY=sigmoid(w^TX+b)∈(0,1)^{1×N}Y=sigmoid(wTX+b)∈(0,1)1×N sigmoid(x)=11+e−xsigmoid(x)=\frac{1}{1+e^{-x}}sigmoid(x)=1+e−x1​ 将YYY作为属于正样本的概率,则1−Y1-Y1−Y为负样本概率利用极大似然估计(MLE)构造目标函数,使得所有样本对应类别出现的联合概率最大 arg max⁡w,b(log∏iNPi),Pi={YiXi是正样本1−YiXi是负样本\underset {w,b}{\operatorname {arg\,max} }(log\prod_i^N P_i),P_i=\begin{cases}Y_i & X_i是正样本\\1-Y_i &X_i是负样本\end{cases}w,bargmax​(log∏iN​Pi​),Pi​={Yi​1−Yi​​Xi​是正样本Xi​是负样本​ 等价于最小化信息量之和:Loss=∑iN−logPiLoss=\sum_i^N-logP_iLoss=∑iN​−logPi​

SVM

SVM希望找到一个超平面用于划分样本,使得各类别距离超平面最近的样本点xix_ixi​距离超平面最远。

输入:样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N,每个样本对应的类别输出:超平面权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1,超平面偏置b∈Rb∈\mathbb{R}b∈R

定理

超平面:wTx+b=0w^Tx+b=0wTx+b=0超平面法向量:www点到超平面距离:d=∣wTx+b∣∣∣w∣∣d=\frac{|w^Tx+b|}{||w||}d=∣∣w∣∣∣wTx+b∣​平行超平面间距离:d=∣b1−b2∣∣∣w∣∣d=\frac{|b_1-b_2|}{||w||}d=∣∣w∣∣∣b1​−b2​∣​

原理

给出样本矩阵X∈RC×NX∈\mathbb{R}^{C×N}X∈RC×N求所有样本XXX到超平面的距离D=∣wTX+b∣∣∣w∣∣∈R1×ND=\frac{|w^TX+b|}{||w||}∈\mathbb{R}^{1×N}D=∣∣w∣∣∣wTX+b∣​∈R1×N找到nnn个样本中距离超平面最近的点x1,x2,...,xnx_1,x_2,...,x_nx1​,x2​,...,xn​SVM要求正负样本中距离超平面最近的样本到超平面的距离最大,即maxw,b∣wTxi+b∣∣∣w∣∣,0<i≤nmax_{w,b}\frac{|w^Tx_i+b|}{||w||},0<i≤nmaxw,b​∣∣w∣∣∣wTxi​+b∣​,0<i≤n令∣wTxi+b∣=1|w^Tx_i+b|=1∣wTxi​+b∣=1,优化目标变为maxw,b1∣∣w∣∣,s.t.∣wTxi+b∣>=1,0<i≤nmax_{w,b}\frac{1}{||w||},s.t.|w^Tx_i+b|>=1,0<i≤nmaxw,b​∣∣w∣∣1​,s.t.∣wTxi​+b∣>=1,0<i≤n对于二分类问题,等效于合页损失加正则项:Loss=max(0,1−y(wTx+b))+λ∣∣w∣∣2,y∈±1Loss=max(0, 1-y(w^Tx+b))+\lambda||w||^2,y∈±1Loss=max(0,1−y(wTx+b))+λ∣∣w∣∣2,y∈±1对于多分类问题,相当于做多个二分类

深度学习

通用概念/公式

最小二乘法

构造MSE损失,令导数为0求极值

极大似然估计

选取候选参数中使得所有样本被正确分类的概率最大的参数

超平面

二维下直线表达式:ax+by+c=0ax+by+c=0ax+by+c=0多维超平面表达式:ax+by+cz+...+d=0ax+by+cz+...+d=0ax+by+cz+...+d=0写作矩阵形式:wTx+b=0w^Tx+b=0wTx+b=0 x∈RC×1x∈\mathbb{R}^{C×1}x∈RC×1代表超平面上的任意样本点超平面权重w∈RC×1w∈\mathbb{R}^{C×1}w∈RC×1同二维下的[a,b]T[a,b]^T[a,b]T超平面偏置b∈Rb∈\mathbb{R}b∈R同二维e下的ccc

超平面法向量

给出超平面:wTx+b=0w^Tx+b=0wTx+b=0超平面的法向量垂直于该超平面上的任意向量设超平面上任意俩点x1,x2x_1,x_2x1​,x2​wTx1+b=0,wTx2+b=0w^Tx_1+b=0, w^Tx_2+b=0wTx1​+b=0,wTx2​+b=0wT(x1−x2)=0w^T(x_1-x_2)=0wT(x1​−x2​)=0www垂直于超平面上任意向量

点到超平面距离

给出超平面:wTx+b=0w^Tx+b=0wTx+b=0,超平面上任意一点xxx,任意一点ppp超平面法向量:wwwppp到超平面的距离d∈Rd∈\mathbb{R}d∈R为向量p−xp-xp−x对超平面单位法向量的投影长度(即点积的绝对值)单位法向量:w∣∣w∣∣\frac{w}{||w||}∣∣w∣∣w​d=∣(w∣∣w∣∣)T(p−x)∣d=|(\frac{w}{||w||})^T(p-x)|d=∣(∣∣w∣∣w​)T(p−x)∣d=∣wT(p−x)∣∣∣w∣∣d=\frac{|w^T(p-x)|}{||w||}d=∣∣w∣∣∣wT(p−x)∣​d=∣wTp−wTx∣∣∣w∣∣d=\frac{|w^Tp-w^Tx|}{||w||}d=∣∣w∣∣∣wTp−wTx∣​d=∣wTp+b∣∣∣w∣∣d=\frac{|w^Tp+b|}{||w||}d=∣∣w∣∣∣wTp+b∣​则对任意一点xxx,到超平面距离为d=∣wTx+b∣∣∣w∣∣∈R+d=\frac{|w^Tx+b|}{||w||}∈\mathbb{R}^+d=∣∣w∣∣∣wTx+b∣​∈R+

平行超平面间距离

给出超平面:wTx1+b1=0w^Tx_1+b_1=0wTx1​+b1​=0,和与其平行的超平面wTx2+b2=0w^Tx_2+b_2=0wTx2​+b2​=0超平面法向量:www超平面间的距离d∈Rd∈\mathbb{R}d∈R为向量x1−x2x_1-x_2x1​−x2​对超平面单位法向量的投影长度(即点积的绝对值),此处x1,x2x_1,x_2x1​,x2​分别为俩个超平面上的任意一点,俩个超平面法向量相同单位法向量:w∣∣w∣∣\frac{w}{||w||}∣∣w∣∣w​d=∣(w∣∣w∣∣)T(x1−x2)∣d=|(\frac{w}{||w||})^T(x_1-x_2)|d=∣(∣∣w∣∣w​)T(x1​−x2​)∣d=∣wT(x1−x2)∣∣∣w∣∣d=\frac{|w^T(x_1-x_2)|}{||w||}d=∣∣w∣∣∣wT(x1​−x2​)∣​d=∣wTx1−wTx2∣∣∣w∣∣d=\frac{|w^Tx_1-w^Tx_2|}{||w||}d=∣∣w∣∣∣wTx1​−wTx2​∣​d=∣−b1+b2∣∣∣w∣∣d=\frac{|-b_1+b_2|}{||w||}d=∣∣w∣∣∣−b1​+b2​∣​d=∣b1−b2∣∣∣w∣∣d=\frac{|b_1-b_2|}{||w||}d=∣∣w∣∣∣b1​−b2​∣​平行超平面间距离为d=∣b1−b2∣∣∣w∣∣∈R+d=\frac{|b_1-b_2|}{||w||}∈\mathbb{R}^+d=∣∣w∣∣∣b1​−b2​∣​∈R+

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。