机器学习——线性回归与分类(包括部分公式推导)

机器学习白板推导课程的线性模型部分笔记整理如下:

https://www.bilibili.com/video/BV1aE411o7qd?p=22&spm_id_from=pageDriver

文章目录

    • 1 线性回归
      • 1.1 最小二乘法LSE
      • 1.2 极大似然估计MLE
      • 1.3 最大后验概率估计MAP
      • 1.4 线性回归的三大特点及其延申方法
    • 2 正则化
      • 2.1 LASSO(L1正则化)
      • 2.2 Ridge(L2正则化)
    • 3 线性分类
      • 3.1 硬输出
        • 3.1.1 感知机
        • 3.1.2 线性判别分析LDA
      • 3.2 软输出(概率)
        • 3.2.1 判别:Logistic Regression
        • 3.2.2 生成:GDA(Gaussian Discriminant Analysis)【数据连续】
        • 3.2.3 生成:朴素贝叶斯(Bayes)【数据离散】
    • 小结
      • 线性回归
      • 线性分类

1 线性回归

数据集与线性回归假设:
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

1.1 最小二乘法LSE

采用平方误差定义损失函数:
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=1NwTxiyi22
展开:
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(YXβ)=0β=(XTX)1XTY
结果与最小二乘法相同。

1.2 极大似然估计MLE

噪声为高斯分布的MLE与最小二乘法估计得到的结果一样

  • LSE(最小二乘估计) 《==》 MLE(极大似然估计,noise为高斯分布)

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ L(w)=\log p(Y|…

与最小二乘法的结果相同。

1.3 最大后验概率估计MAP

  • Regularized LSE(L2正则化的最小二乘估计)《==》 MAP(noise为高斯分布,先验概率取高斯分布)
  • Regularized LSE(L1正则化的最小二乘估计)《==》 MAP(noise为高斯分布,先验概率取Laplace分布)

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \hat{w}=\matho…

1.4 线性回归的三大特点及其延申方法

  • 线性
    • 属性非线性:特征转换(多项式回归)
    • 全局非线性:线性分类(激活函数-非线性)
    • 系数非线性:神经网络、感知机
  • 全局性
    • 局部:线性样条回归、决策树
  • 数据未加工
    • 数据加工:PCA、流形

线性回归 —(激活函数f(w_Tx+b)、降维)—>线性分类

2 正则化

实际应用中,样本容量很可能不远大于维度维数,很容易造成过拟合,解决方案有:

  1. 加数据
  2. 降维(PCA算法)
  3. 正则化
  • Regularized LSE(L2正则化的最小二乘估计)《==》 MAP(noise为高斯分布,先验概率取高斯分布)

  • Regularized LSE(L1正则化的最小二乘估计)《==》 MAP(noise为高斯分布,先验概率取Laplace分布)

2.1 LASSO(L1正则化)

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.w1<C
另一方面看,平方误差损失函数在w空间是一个椭圆,椭圆与||w||_1=C的切点更容易相切在坐标轴上。

2.2 Ridge(L2正则化)

这个正则化参数和MAP结果不谋而合,L2范数正则化不仅可以是模型选择w较小的参数,也避免了不可逆的问题。

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \hat{w}=\matho…

3 线性分类

3.1 硬输出

3.1.1 感知机

思想:错误驱动

  • 选取的激活函数:

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,a01,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)=xiDwrongyiwTxi

  • 使用随机梯度下降法(SGD),每次训练都需对w求偏导,并更新w:

∂ ∂ 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 wL(w)=xiDwrongyixi

w t + 1 ← w t + λ y i x i w^{t+1}\leftarrow w^{t}+\lambda y_ix_i wt+1wt+λyixi

​ 是可以达到收敛的,同时使用单个观测更新也可以在一定程度上增加不确定度,从而减轻陷入局部最小的可能。在更大规模的数据上,常常采用的是小批量随机梯度下降法。

3.1.2 线性判别分析LDA

思想:类内小(紧凑),类间大(分散)

  • 降维投影

z = w T ⋅ x ( = ∣ w ∣ ⋅ ∣ x ∣ cos ⁡ θ ) z=w^T\cdot x(=|w|\cdot|x|\cos\theta) z=wTx(=wxcosθ)

  • 计算协方差,表示每一类内的总体分布

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的值。

3.2 软输出(概率)

3.2.1 判别:Logistic Regression

有时我们只要得到一个类别的概率,则需要一种能输出[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(C1x)=p(xC1)p(C1)+p(xC2)p(C2)p(xC1)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(xC2)p(C2)p(xC1)p(C1)
得到Logistic Sigmoid函数:
p ( C 1 ∣ x ) = 1 1 + exp ⁡ ( − a ) p(C_1|x)=\frac{1}{1+\exp(-a)} p(C1x)=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(yx)=p1yp01y
对于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=1N(yilogp1+(1yi)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(1p1)
对该函数求导:
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=1Nyi(1p1)xip1xi+yip1xi=i=1N(yip1)xi
由于概率值非线性,无法直接求解。实际训练时,和感知机类似,使用不同大小的批量随机梯度上升来获得极大值。最终得到0和1对应的概率,哪个概率大则判定为哪一类。

3.2.2 生成:GDA(Gaussian Discriminant Analysis)【数据连续】

判断哪一类的概率大,而无需求出具体值。对于二分类,我们采用的假设:
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.   yBernoulli(ϕ)    2.   xy=1N(μ1,Σ)    3.   xy=0N(μ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=…

  • 对μ1/μ2进行求解

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_…
我们利用最大后验概率方法求得了所有参数,根据模型得到联合分布,也就是得到了推断的条件分布。

3.2.3 生成:朴素贝叶斯(Bayes)【数据离散】

高斯判别分析时对数据集分布进行假设(高斯分布),同时引入伯努利分布作为类先验,从而利用最大后验求得假设中的参数。

而朴素贝叶斯对数据的属性之间作出假设,不同维度之间条件独立,以便简化运算,假设如下:

$$
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 xixjy, 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(yx)=p(x)p(xy)p(y)=p(x)i=1pp(xiy)p(y)
对单个维度的条件概率和类先验进一步假设:

    1. 若x为连续变量:高斯分布

p ( x i ∣ y ) = N ( μ i , σ i 2 ) p(x_i|y)=\mathcal{N}(\mu_i,\sigma_i^2) p(xiy)=N(μi,σi2)

    1. 若x为离散变量:类别分布(Categorical)

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=iy)=θi,i=1Kθi=1

p ( y ) = ϕ y ( 1 − ϕ ) 1 − y p(y)=\phi^y(1-\phi)^{1-y} p(y)=ϕy(1ϕ)1y

参数的估计可以使用常用的MLE在数据集上进行估计,由于假设中各个维度之间条件独立,因此无需考虑的情况下,计算数据量大大减少。估计完参数后,带入贝叶斯定理即可得到类别的后验分布。

小结

线性回归

  • 线性回归不能很好的拟合数据
  • 整个样本空间都是线性的
  • 线性回归中使用了所有的样本,但对数据预先进行加工学习的效果可能更好(如PCA和流形学习)

线性分类

分类任务分为两类,分别为 直接输出类别输出分类概率

  • 直接输出分类类别(硬输出)

    • 感知机
    • LDA线性判别分析
  • 输出分类的概率(软输出)

    • Logistic Regression
    • 高斯判别分析
    • 贝叶斯分类

你可能感兴趣的:(机器学习,机器学习,正则化)