机器学习白板推导课程的线性模型部分笔记整理如下:
https://www.bilibili.com/video/BV1aE411o7qd?p=22&spm_id_from=pageDriver
数据集与线性回归假设:
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } \mathcal{D}=\{(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_N)\} D={(x1,y1),(x2,y2),⋯,(xN,yN)}
X = ( x 1 , x 2 , ⋯ , x N ) T , Y = ( y 1 , y 2 , ⋯ , y N ) T X=(x_1,x_2,\cdots,x_N)^T,Y=(y_1,y_2,\cdots,y_N)^T X=(x1,x2,⋯,xN)T,Y=(y1,y2,⋯,yN)T
f ( w ) = w T x f(w)=w^Tx f(w)=wTx
采用平方误差定义损失函数:
L ( w ) = ∑ i = 1 N ∣ ∣ w T x i − y i ∣ ∣ 2 2 L(w)=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2 L(w)=i=1∑N∣∣wTxi−yi∣∣22
展开:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ L(w)&=(w^Tx_1-…
最小化L(w):
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \hat{w}=\matho…
在几何上考虑,误差应该和X张成的空间垂直:
X T ⋅ ( Y − X β ) = 0 ⟶ β = ( X T X ) − 1 X T Y X^T\cdot(Y-X\beta)=0\longrightarrow\beta=(X^TX)^{-1}X^TY XT⋅(Y−Xβ)=0⟶β=(XTX)−1XTY
结果与最小二乘法相同。
噪声为高斯分布的MLE与最小二乘法估计得到的结果一样
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ L(w)=\log p(Y|…
与最小二乘法的结果相同。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \hat{w}=\matho…
线性回归 —(激活函数f(w_Tx+b)、降维)—>线性分类
实际应用中,样本容量很可能不远大于维度维数,很容易造成过拟合,解决方案有:
Regularized LSE(L2正则化的最小二乘估计)《==》 MAP(noise为高斯分布,先验概率取高斯分布)
Regularized LSE(L1正则化的最小二乘估计)《==》 MAP(noise为高斯分布,先验概率取Laplace分布)
L1正则化可以引起稀疏解。由于L1项求导在0附近的左右到数都不是0,因此更容易取得0解。
相当于:
a r g m i n w L ( w ) s . t . ∣ ∣ w ∣ ∣ 1 < C \mathop{argmin}\limits_wL(w)\\ s.t. ||w||_1\lt C wargminL(w)s.t.∣∣w∣∣1<C
另一方面看,平方误差损失函数在w空间是一个椭圆,椭圆与||w||_1=C的切点更容易相切在坐标轴上。
这个正则化参数和MAP结果不谋而合,L2范数正则化不仅可以是模型选择w较小的参数,也避免了不可逆的问题。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \hat{w}=\matho…
思想:错误驱动
s i g n ( a ) = { + 1 , a ≥ 0 − 1 , a < 0 sign(a)=\left\{\begin{matrix}+1,a\ge0\\-1,a\lt0\end{matrix}\right. sign(a)={+1,a≥0−1,a<0
由此可以将线性回归的结果映射到二分类的结果上。
定义损失函数为错误分类数目,比较直观的方式是使用指示函数,但指示函数不可导。
L ( w ) = ∑ x i ∈ D w r o n g − y i w T x i L(w)=\sum\limits_{x_i\in\mathcal{D}_{wrong}}-y_iw^Tx_i L(w)=xi∈Dwrong∑−yiwTxi
∂ ∂ w L ( w ) = ∑ x i ∈ D w r o n g − y i x i \frac{\partial}{\partial w}L(w)=\sum\limits_{x_i\in\mathcal{D}_{wrong}}-y_ix_i ∂w∂L(w)=xi∈Dwrong∑−yixi
w t + 1 ← w t + λ y i x i w^{t+1}\leftarrow w^{t}+\lambda y_ix_i wt+1←wt+λyixi
是可以达到收敛的,同时使用单个观测更新也可以在一定程度上增加不确定度,从而减轻陷入局部最小的可能。在更大规模的数据上,常常采用的是小批量随机梯度下降法。
思想:类内小(紧凑),类间大(分散)
z = w T ⋅ x ( = ∣ w ∣ ⋅ ∣ x ∣ cos θ ) z=w^T\cdot x(=|w|\cdot|x|\cos\theta) z=wT⋅x(=∣w∣⋅∣x∣cosθ)
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ C_1:Var_z[C_1]…
因此,类内距离可以记作
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ Var_z[C_1]+Var…
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ (\overline{z_{…
将两个值相除得到我们的损失函数,并最大化该函数:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \hat{w}=\matho…
我们对w的绝对值没有要求,只对其方向有要求,因此只要一个方程就可以求解:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ &\frac{\partia…
从而得到w的方向,最后归一化求得单位w的值。
有时我们只要得到一个类别的概率,则需要一种能输出[0,1]区间值的函数。考虑二分类模型。
利用贝叶斯定理改写为Logistic Sigmoid函数:
p ( C 1 ∣ x ) = p ( x ∣ C 1 ) p ( C 1 ) p ( x ∣ C 1 ) p ( C 1 ) + p ( x ∣ C 2 ) p ( C 2 ) p(C_1|x)=\frac{p(x|C_1)p(C_1)}{p(x|C_1)p(C_1)+p(x|C_2)p(C_2)} p(C1∣x)=p(x∣C1)p(C1)+p(x∣C2)p(C2)p(x∣C1)p(C1)
另
a = ln p ( x ∣ C 1 ) p ( C 1 ) p ( x ∣ C 2 ) p ( C 2 ) a=\ln\frac{p(x|C_1)p(C_1)}{p(x|C_2)p(C_2)} a=lnp(x∣C2)p(C2)p(x∣C1)p(C1)
得到Logistic Sigmoid函数:
p ( C 1 ∣ x ) = 1 1 + exp ( − a ) p(C_1|x)=\frac{1}{1+\exp(-a)} p(C1∣x)=1+exp(−a)1
Logistic Regression的模型假设:
a = w T x a=w^Tx a=wTx
对于依次观测,获得分类y的概率为:
p ( y ∣ x ) = p 1 y p 0 1 − y p(y|x)=p_1^yp_0^{1-y} p(y∣x)=p1yp01−y
对于N次独立全同的观测MLE:
w ^ = a r g m a x w J ( w ) = a r g m a x w ∑ i = 1 N ( y i log p 1 + ( 1 − y i ) log p 0 ) \hat{w}=\mathop{argmax}_wJ(w)=\mathop{argmax}_w\sum\limits_{i=1}^N(y_i\log p_1+(1-y_i)\log p_0) w^=argmaxwJ(w)=argmaxwi=1∑N(yilogp1+(1−yi)logp0)
该表达式时交叉熵的相反数*N。
由
p 1 ′ = ( 1 1 + exp ( − a ) ) ′ = p 1 ( 1 − p 1 ) p_1'=(\frac{1}{1+\exp(-a)})'=p_1(1-p_1) p1′=(1+exp(−a)1)′=p1(1−p1)
对该函数求导:
J ′ ( w ) = ∑ i = 1 N y i ( 1 − p 1 ) x i − p 1 x i + y i p 1 x i = ∑ i = 1 N ( y i − p 1 ) x i J'(w)=\sum\limits_{i=1}^Ny_i(1-p_1)x_i-p_1x_i+y_ip_1x_i=\sum\limits_{i=1}^N(y_i-p_1)x_i J′(w)=i=1∑Nyi(1−p1)xi−p1xi+yip1xi=i=1∑N(yi−p1)xi
由于概率值非线性,无法直接求解。实际训练时,和感知机类似,使用不同大小的批量随机梯度上升来获得极大值。最终得到0和1对应的概率,哪个概率大则判定为哪一类。
判断哪一类的概率大,而无需求出具体值。对于二分类,我们采用的假设:
1. y ∼ B e r n o u l l i ( ϕ ) 2. x ∣ y = 1 ∼ N ( μ 1 , Σ ) 3. x ∣ y = 0 ∼ N ( μ 0 , Σ ) 1.\ \ \ y\sim Bernoulli(\phi)\\ \ \ \ \ 2.\ \ \ x|y=1\sim\mathcal{N}(\mu_1,\Sigma)\\ \ \ \ \ 3.\ \ \ x|y=0\sim\mathcal{N}(\mu_0,\Sigma) 1. y∼Bernoulli(ϕ) 2. x∣y=1∼N(μ1,Σ) 3. x∣y=0∼N(μ0,Σ)
则独立全同的数据集最大后验概率可以表示为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \mathop{argmax…
对φ、μ1、μ2、Σ进行求解:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲\sum\limits_{i=…
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲\hat{\mu_1}&=\m…
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \sum\limits_{i…
由在标量上加入迹可以交换矩阵顺序,对于包含绝对值和迹的表达式的导数,我们有:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \frac{\partial…
S1、S2分别为类协方差矩阵,因此:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲[\sum\limits_{i…
最终求得:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲N\Sigma^{-1}-N_…
我们利用最大后验概率方法求得了所有参数,根据模型得到联合分布,也就是得到了推断的条件分布。
高斯判别分析时对数据集分布进行假设(高斯分布),同时引入伯努利分布作为类先验,从而利用最大后验求得假设中的参数。
而朴素贝叶斯对数据的属性之间作出假设,不同维度之间条件独立,以便简化运算,假设如下:
$$
p(x|y)=\prod\limits_{i=1}^pp(x_i|y)\
$$
等价于
x i ⊥ x j ∣ y , ∀ i ≠ j x_i\perp x_j|y,\forall\ i\ne j xi⊥xj∣y,∀ i=j
利用贝叶斯定理,单词观测:
p ( y ∣ x ) = p ( x ∣ y ) p ( y ) p ( x ) = ∏ i = 1 p p ( x i ∣ y ) p ( y ) p ( x ) p(y|x)=\frac{p(x|y)p(y)}{p(x)}=\frac{\prod\limits_{i=1}^pp(x_i|y)p(y)}{p(x)} p(y∣x)=p(x)p(x∣y)p(y)=p(x)i=1∏pp(xi∣y)p(y)
对单个维度的条件概率和类先验进一步假设:
p ( x i ∣ y ) = N ( μ i , σ i 2 ) p(x_i|y)=\mathcal{N}(\mu_i,\sigma_i^2) p(xi∣y)=N(μi,σi2)
p ( x i = i ∣ y ) = θ i , ∑ i = 1 K θ i = 1 p(x_i=i|y)=\theta_i,\sum\limits_{i=1}^K\theta_i=1 p(xi=i∣y)=θi,i=1∑Kθi=1
p ( y ) = ϕ y ( 1 − ϕ ) 1 − y p(y)=\phi^y(1-\phi)^{1-y} p(y)=ϕy(1−ϕ)1−y
参数的估计可以使用常用的MLE在数据集上进行估计,由于假设中各个维度之间条件独立,因此无需考虑的情况下,计算数据量大大减少。估计完参数后,带入贝叶斯定理即可得到类别的后验分布。
分类任务分为两类,分别为 直接输出类别 和 输出分类概率
直接输出分类类别(硬输出)
输出分类的概率(软输出)