机器学习西瓜书吃瓜笔记之(一)深入理解线性模型与logistics回归

本文介绍了机器学习的基本问题,如回归与分类的区别,以及线性模型(包括最小二乘法)和广义线性模型(如对数线性和对数几率回归)的概念和应用。通过实例演示了如何利用这些模型进行预测,并强调了广义线性模型的非线性建模能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

入门概念

  • 机器学习两大基本问题(预期的输出是离散还是连续):
  • 回归问题:用多个变量拟合出一个连续值
  • 分类问题:用多个变量拟合出一个离散值
  • 机器学习三大理论(确定研究手段):
  • 传统监督学习(血糖预测、有无糖尿病预测)
  • 深度学习(自然语言处理、计算机视觉、端到端无人驾驶)
  • 强化学习(玩赛车、机器人开门)

(写在最前:以下推导过程加入了个人理解,对原有公式有做修改,如有疑问或发现错误请提出,非常感谢)

线性模型

优势

  1. 形式简单,可引入层级结构或高维映射升级成非线性模型
  2. 可解释性强,w直观表达了各属性在预测中的重要性

实现

试图学到:
f ( x i ) = w T x i + b f(x_i)=w^Tx_i+b f(xi)=wTxi+b
使得:
f ( x i ) ≃ y i f(x_i)\simeq y_i f(xi)yi

关键就是如何衡量 f ( x ) f(x) f(x) y y y的区别。使用不同的方法可以得到不同的效果。
一般使用均方误差。此时需要求最小化误差下 w w w b b b的值。

x ^ i = [ x i 1 ] \hat x_i = \begin{bmatrix} x_i\\ 1 \end{bmatrix} x^i=[xi1],即为每个样本的属性维度末尾添上1。

直观理解,当把 w w w b b b合成 w ^ \hat{w} w^时,这个1参与 w ^ \hat{w} w^最后一个参数的计算,起到原本 b b b的作用

设数据集
X ( D + 1 ) × ( N ) = [ x 1 x 2 . . . x n ] X_{(D+1)×(N)}= \begin{bmatrix} x_1 & x_2 & ...& x_n \end{bmatrix} X(D+1)×(N)=[x1x2...xn](下标为维度,D为属性数,N为样本数,下同)

设标签集
Y ( 1 ) × ( N ) = [ y 1 y 2 . . . y n ] Y_{(1)×(N)}= \begin{bmatrix} y_1 & y_2 & ...& y_n \end{bmatrix} Y(1)×(N)=[y1y2...yn]

设参数
w ^ ( D + 1 ) × ( 1 ) = ( w b ) \hat{w}_{(D+1)×(1)}=\binom{w}{b} w^(D+1)×(1)=(bw),求解 w ^ \hat{w} w^方法即最小二乘参数估计法

arg ⁡ min ⁡ w ^ ∥ Y − w ^ T X ∥ 2 \mathop{\arg\min}\limits_{\hat{w}}\left \| Y-\hat{w}^TX\right \|_2 w^argminYw^TX2

误差的大小用欧式距离 E w ^ E_{\hat{w}} Ew^表示:
E w ^ = ∥ Y − w ^ T X ∥ 2 = ( Y − w ^ T X ) ( Y − w ^ T X ) T \begin{aligned} E_{\hat{w}} &=\left \| Y-\hat{w}^TX\right \|_2 \\ &=(Y-\hat{w}^TX)(Y-\hat{w}^TX)^T \end{aligned} Ew^=Yw^TX2=(Yw^TX)(Yw^TX)T
对误差求偏导,以找到误差 E w ^ E_{\hat{w}} Ew^极值点:
∂ E w ^ ∂ w = 2 ( w ^ T X − Y ) X T \frac{\partial E_{\hat{w}}}{\partial w}=2(\hat{w}^TX-Y)X^T wEw^=2(w^TXY)XT

之后令 ∂ E w ^ ∂ w = 0 \frac{\partial E_{\hat{w}}}{\partial w}=0 wEw^=0,便可求得 w ^ \hat{w} w^的闭式最优解。

广义线性模型

设模型输出为 z z z
z = w T x + b z=w^Tx+b z=wTx+b
当加上单调可微函数 g ( ⋅ ) g(·) g(),令:
y = g − 1 ( z ) y=g^{-1}(z) y=g1(z)
便成为广义线性模型, g ( ⋅ ) g(·) g()称为联系函数。当 g ( ⋅ ) = l n ( ⋅ ) g(·)=ln(·) g()=ln()时,得到对数线性回归
l n ( y ) = z ln(y)=z ln(y)=z
此时输出标记的对数作为逼近的目标,对数函数把目标值 y y y和回归模型的输出值 z z z联系起来,升级成了非线性模型

对数几率回归

若要解决的是二分类问题,需要构建二分类模型时,只需要找一个单调可微函数把标记 y y y和回归模型的输出值 z z z联系起来就可以了。

单位阶跃函数虽然简单,但是不连续不可微。而对数几率函数很适合这个任务:
y = 1 1 + e − z = e z e z + 1 y=\frac{1}{1+e^{-z}}=\frac{e^z}{e^z+1} y=1+ez1=ez+1ez
根据上一章作变换:
l n y 1 − y = z ln\frac{y}{1-y}=z ln1yy=z
若将 y y y视为样本 x x x作为正例的可能性,则 1 − y 1-y 1y是其反例可能性,两者的比值 y 1 − y \frac{y}{1-y} 1yy称为几率 (odds),反映了 x x x作为正例的相对可能性,对几率取对数则得到对数几率 (log odds),而对应的模型称为对数几率回归 (即大名鼎鼎的logistics回归),有如下优势

  1. 他直接对分类可能性建模,无需假设数据分布(如何理解?)
  2. 能同时预测出类别和近似概率
  3. 对数几率是任意阶可导凸函数,有良好数学性质

求导
∂ y ( z ) ∂ z = ∂ 1 1 + e − z ∂ z = 1 1 + e − z ⋅ − e − z 1 + e − z = y ( z ) ⋅ ( 1 − y ( z ) ) \frac{\partial y(z)}{\partial z}=\frac{\partial \frac{1}{1+e^{-z}}}{\partial z}=\frac{1}{1+e^{-z}}·\frac{-e^{-z}}{1+e^{-z}}=y(z)·(1-y(z)) zy(z)=z1+ez1=1+ez11+ezez=y(z)(1y(z))

为了求出最优的模型,我们需要让每个样本属于其标记的概率越大越好。先把 y y y视为后验概率估计 p ( y = 1 ∣ x ) p\left(y=1\left|x\right.\right) p(y=1x),那么上述式子可以写成:
l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = z ln\frac{p\left(y=1\left|x\right.\right)}{p\left(y=0\left|x\right.\right)}=z lnp(y=0x)p(y=1x)=z
其中:
p y = 1 ( x ) = e z e z + 1 p_{y=1}(x)=\frac{e^z}{e^z+1} py=1(x)=ez+1ez
p y = 0 ( x ) = 1 e z + 1 p_{y=0}(x)=\frac{1}{e^z+1} py=0(x)=ez+11
于是可以通过极大似然法,在给定数据集 { ( x i , y i ) } i = 1 m \{(x_i,y_i)\}_{i=1}^m {(xi,yi)}i=1m的情况下,最大化对率回归模型的对数似然函数
ℓ ( w ^ ) = ∑ i = 1 m l n p y = y i ( x i ; w ^ ) = ∑ i = 1 m l n ( y i p y = 1 ( x i ; w ^ ) + ( 1 − y i ) p y = 0 ( x i ; w ^ ) ) = ∑ i = 1 m l n ( y i e w ^ X e w ^ X + 1 + ( 1 − y i ) 1 e w ^ X + 1 ) = ∑ i = 1 m ( l n ( y i e w ^ X − y + 1 ) − l n ( e w ^ X + 1 ) ) \begin{aligned} \ell(\hat{w}) &=\sum_{i=1}^{m}ln\left. p_{y=y_i}(x_i;\hat{w})\right.\\ &=\sum_{i=1}^{m}ln(y_ip_{y=1}(x_i;\hat{w})+(1-y_i)p_{y=0}(x_i;\hat{w}))\\ &=\sum_{i=1}^{m}ln(y_i\frac{e^{\hat{w}X}}{e^{\hat{w}X}+1}+(1-y_i)\frac{1}{e^{\hat{w}X}+1})\\ &=\sum_{i=1}^{m}(ln(y_ie^{\hat{w}X}-y+1)-ln(e^{\hat{w}X}+1))\\ \end{aligned} (w^)=i=1mlnpy=yi(xi;w^)=i=1mln(yipy=1(xi;w^)+(1yi)py=0(xi;w^))=i=1mln(yiew^X+1ew^X+(1yi)ew^X+11)=i=1m(ln(yiew^Xy+1)ln(ew^X+1))

似然函数的直观意义是刻画参数与数据的匹配程度,求极大似然的过程可以理解为寻找一个最合适理论去解释观测到的事件,在这里就是寻找一个最合适的 w ^ \hat{w} w^来尽可能让 y i ≃ f w ^ ( x i ) y_i\simeq f_{\hat{w}}(x_i) yifw^(xi)

若要最大化 ℓ ( w ^ ) \ell(\hat{w}) (w^),即相当于最小化
ℓ ( w ^ ) = ∑ i = 1 m ( − y i w ^ X + l n ( e w ^ X + 1 ) ) \ell(\hat{w}) = \sum_{i=1}^{m}(-y_i{\hat{w}X}+ln(e^{\hat{w}X}+1)) (w^)=i=1m(yiw^X+ln(ew^X+1))
此式是关于 w ^ \hat{w} w^的高阶可导凸函数,可用梯度下降法、牛顿法等求最优解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值