本文已参与「新人创作礼」活动,一起开启掘金创作之路。
传统的机器学习方法或多或少都有线性回归模型的影子:
- 线性模型往往不能很好地拟合数据,因此有三种方案克服这一劣势:
a. 对特征的维数进行变换,例如多项式回归模型就是在线性特征的基础上加入高次项。
b. 在线性方程后面加入一个非线性变换,即引入一个非线性的激活函数,典型的有线性分类模型如感知机。
c. 对于一致的线性系数,我们进行多次变换,这样同一个特征不仅仅被单个系数影响,例如多层感知机(深度前馈网络)。
线性回归在整个样本空间都是线性的,我们修改这个限制,在不同区域引入不同的线性或非线性,例如线性样条回归和决策树模型。
线性回归中使用了所有的样本,但是对数据预先进行加工学习的效果可能更好(所谓的维数灾难,高维度数据更难学习),例如 PCA 算法和流形学习。
作者:tsyw
$$
\left{\begin{aligned}&频率派\rightarrow 统计机器学习\rightarrow \begin{gathered}线性回归\
f(\omega,b)=\omega^{T}x+b\
x \in \mathbb{R}^{p}\end{gathered}\left{\begin{aligned}&线性\nrightarrow \left{\begin{aligned}&属性非线性:特征转换(多项式回归)\&全局非线性:线性分类(激活函数是非线性的,如感知机)\&系数非线性:神经网络\end{aligned}\right.\&全局性 \nrightarrow 线性样条回归,决策树\&数据未加工 \nrightarrow PCA,流形\end{aligned}\right.\&贝叶斯派\rightarrow 概率图模型\end{aligned}\right.
$$
$$
线性回归 \overset{激活函数}{\underset{降维}{\Rightarrow }}线性分类\left{\begin{aligned}&硬输出,y \in \left{0,1\right}\left{\begin{aligned}&线性判别分析\&感知机\end{aligned}\right.\&软输出,p(y=1)=p/1-p\left{\begin{aligned}&生成式:高斯判别分析\&判别式:逻辑回归\end{aligned}\right.\end{aligned}\right.
$$
感知机模型为
$$
f(x)=sign(\omega^{T}x),x \in \mathbb{R}^{p},\omega \in \mathbb{R}^{p}
$$
其中激活函数为
$$
sign(a)=\left{\begin{aligned}&+1&a \geq 0\&-1&a <0\end{aligned}\right.
$$
通过激活函数$sign$就可以把线性回归的结果映射到两个分类结果上了
如果定义随时函数为错误分类的数目,即
$$
L(\omega)=\sum\limits_{i=1}^{N}I \left{y_{i}\omega^{T}x_{i}<0\right}
$$
显然该函数是不可导的,因此定义
$$
L(\omega)=\sum\limits_{x_{i}\in D}^{}-y_{i}\omega^{T}x_{i}
$$
其中$D$为错误分类的集合,每次更新$\omega$采用梯度下降的算法,上式对$\omega$的梯度为
$$
\nabla_{\omega}L=\sum\limits_{x_{i}\in D}^{}-y_{i}x_{i}
$$