机器学习:感知机、线性回归和Logistic回归(待续~)

从感知机到线性回归,从线性回归到Logistic回归

1、感知机

感知机的直观解释为,使用超平面将特征空间中的一组实例分割开来。定义该超平面为:WTx+b=0W^Tx+b=0WTx+b=0。数据标签取值:yi{+1,1}y_i\in\{+1,-1\}yi​∈{+1,−1}。


1.1、模型

该模型决策函数为:
(1)f(x)=sign(WTx+b)f(x)=sign(W^Tx+b)\tag1f(x)=sign(WTx+b)(1)
f(x)&gt;0f(x)&gt;0f(x)>0 预测为正例,f(x)&lt;0f(x)&lt;0f(x)<0 预测为负例。


1.2、学习策略

对于模型误分类的样本:
(2)yi(WTx+b)&gt;0-y_i(W^Tx+b)&gt;0\tag2−yi​(WTx+b)>0(2)
误分类样本到分类超平面的距离为:
(3)yi(WTxi+b)W-\frac{y_i(W^Tx_i+b)}{||W||}\tag3−∣∣W∣∣yi​(WTxi​+b)​(3)
其中,W||W||∣∣W∣∣ 为超平面法向量的 L2L_2L2​ 范数。因此,不妨将其设为 111。

给定训练数据集 T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}T={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},在模型上发生误分类的样本子集为 MMM,则所有误分类样本到分类超平面的距离和为:
(4)L(W,b)=xiMyi(WTx+b)L(W,b)=-\sum\limits_{x_i\in M}y_i(W^Tx+b)\tag4L(W,b)=−xi​∈M∑​yi​(WTx+b)(4)


1.3、学习算法

显然,优化过程中,我们选择使 L(W,b)L(W,b)L(W,b) 最小的模型作为最终模型。即选择 (W,b)(W,b)(W,b) 使得
Lmin(W,b)=xiMyi(WTx+b)L_{min}(W,b)=-\sum\limits_{x_i\in M}y_i(W^Tx+b)Lmin​(W,b)=−xi​∈M∑​yi​(WTx+b)
已知损失函数 L(W,b)L(W,b)L(W,b) 的梯度为:
(5)WL(W,b)=xiMyixibL(W,b)=xiMyi \begin{aligned} \nabla_WL(W,b)&amp;=-\sum\limits_{x_i\in M}y_ix_i\\ \nabla_bL(W,b)&amp;=-\sum\limits_{x_i\in M}y_i \end{aligned} \tag5∇W​L(W,b)∇b​L(W,b)​=−xi​∈M∑​yi​xi​=−xi​∈M∑​yi​​(5)
选择随机梯度下降(SGDSGDSGD)的优化方法,每次从误分类集合 MMM 中选择一个样本 (xi,yi)(x_i,y_i)(xi​,yi​),更新 W,bW,bW,b 如下:
(6)WW+ηyixibb+ηyi \begin{aligned} W&amp;\leftarrow W+\eta y_ix_i\\ b&amp;\leftarrow b+\eta y_i\tag6 \end{aligned} Wb​←W+ηyi​xi​←b+ηyi​​(6)
综上,算法学习过程表示如下:

输入:数据集 TTT,学习率 η(0&lt;η1)\eta(0&lt;\eta\le1)η(0<η≤1)
1. 选取初始 W0,b0W_0,b_0W0​,b0​
2. 在训练集中选取 (xi,yi)(x_i,y_i)(xi​,yi​)
3. 如果 yi(WTx+b)0y_i(W^Tx+b)\le0yi​(WTx+b)≤0:
WW+ηyixibb+ηyi\begin{aligned}W&amp;\leftarrow W+\eta y_ix_i\\b&amp;\leftarrow b+\eta y_i\end{aligned}Wb​←W+ηyi​xi​←b+ηyi​​
4. 不满足条件 3 则转到步骤 2

以上算法可以直观地解释为:当样本发生误分类时,调整 W,bW,bW,b 使分类超平面向误分类样本一侧移动,从而减小误分类样本与分类超平面之间的距离,直至超平面将该样本正确分类为止。


1.4、PLA 对偶形式

通过观察式 (6)(6)(6) 可知:每个误分类样本下,WWW 每次更新的步长相同,当 W,bW,bW,b 均以 000 初始化时,可以得出:
(7)W=i=1nniηyixib=i=1nniηyi\begin{aligned} W&amp;=\sum\limits_{i=1}^{n}n_i\eta y_ix_i\\ b&amp;=\sum\limits_{i=1}^{n}n_i\eta y_i \end{aligned}\tag7Wb​=i=1∑n​ni​ηyi​xi​=i=1∑n​ni​ηyi​​(7)
αi=niη\alpha_i=n_i\etaαi​=ni​η,可得:
(8)W=i=1nαiyixib=i=1nαiyi\begin{aligned} W&amp;=\sum\limits_{i=1}^{n}\alpha_i y_ix_i\\ b&amp;=\sum\limits_{i=1}^{n}\alpha_i y_i \end{aligned}\tag8Wb​=i=1∑n​αi​yi​xi​=i=1∑n​αi​yi​​(8)
故对偶算法为:

输入:数据集 TTT,学习率 η(0&lt;η1)\eta(0&lt;\eta\le1)η(0<η≤1)
1. α0,b0\alpha\leftarrow0, b\leftarrow0α←0,b←0
2. 在训练集中选取 (xi,yi)(x_i,y_i)(xi​,yi​)
3. 如果 yi(j=1nαjyjxjxi+b)0y_i(\sum\limits_{j=1}^{n}\alpha_jy_jx_jx_i+b)\le0yi​(j=1∑n​αj​yj​xj​xi​+b)≤0:
αiαi+ηbb+ηyi\begin{aligned}\alpha_i&amp;\leftarrow \alpha_i+\eta\\b&amp;\leftarrow b+\eta y_i\end{aligned}αi​b​←αi​+η←b+ηyi​​
4. 不满足条件 3 则转到步骤 2 直到样本 xix_ixi​ 正确分类


注意

  1. 该算法是一个 NP 难问题,实际应用中很难保证样本集是线性可分的,不满足线性可分的前提条件,PLAPLAPLA 算法不收敛。
  2. 满足线性可分的条件时,该算法必收敛,相关证明参考《统计学习方法—李航》
  3. 为了加快算法收敛,实际应用中通常使用线性回归的解(LRLRLR 具有解析解)来初始化模型。

2、线性回归

2.1、模型

2.2、学习策略

2.3、学习算法

3、Logistic回归

3.1、模型

3.2、学习策略

3.3、学习算法

上一篇:[代码]如何在选择画面中显示图片


下一篇:奇异值分解(SVD)原理与在降维中的应用