基础
以下所有“向量”代表列向量每一个样本点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=∑iCaibi=∣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=⎣⎡a1a2a3⎦⎤,A=a∧=⎣⎡0a3−a2−a30a1a2−a10⎦⎤ 反对称矩阵满足: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=YgtXTw=(YgtXT(XXT)−1)Tw=(Y_{gt}X^T(XX^T)^{-1})^Tw=(YgtXT(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 maxw,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∏iNPi),Pi={Yi1−YiXi是正样本Xi是负样本 等价于最小化信息量之和:Loss=∑iN−logPiLoss=\sum_i^N-logP_iLoss=∑iN−logPiSVM
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,...,xnSVM要求正负样本中距离超平面最近的样本到超平面的距离最大,即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,x2wTx1+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∣∣wd=∣(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∣∣wd=∣(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+如果觉得《机器学习深度学习 常用算法推导》对你有帮助,请点赞、收藏,并留下你的观点哦!