回归问题

摘要

线性回归解决预测问题,细分为一般线性回归、多项式回归、广义线性回归的递进关系,Logistic和Softmax回归解决分类问题,Logistic回归解决二分类,Softmax解决多分类问题。

1、线性回归

一般在线性回归中人们都会举房价预测的例子,

h_\theta(x)=\theta_0 + \theta_1 x_1 + \theta_2x_2...+ \theta_n x_n=\sum_{i=0}^n(\theta_i) x_i]=\theta^T x

式子中x1表示房屋面积,x2表示卧室数量,而房价与这两个变量直接相关,所以我们假设关系如上图所示,我们的目的是找到合适的cita,使得对每个输入x,都能得到一个y,越接近实际值越好,这里我们定义接近程度的指标,使之越小越好,即目标函数:

J(\theta)=\frac{1}{2}\sum_{i=1}^n(h_\theta(x^{i})-y^{i})^2=\frac{1}{2}(X\theta-y)^T(X\theta-y)

此时的目的是求出\theta使得J(\theta)最小,即误差最小,即拟合实际最好的参数。这里求cita的方法有最小二乘和梯度下降,梯度下降参见: 优化算法总结
,最小二乘就是直接算:

\theta = (X^TX)^{-1}X^Ty

当X^T*X不可逆时,加入扰动:

\theta =(X^TX + \lambda I)^{-1}X^Ty

梯度下降算法就是不断的更新cita使得J越来越小,直到找到最优解或者局部最优解:

\theta = \theta - \alpha \cdot \frac{\partial J(\theta)}{\partial \theta}

当我们在设计模型时,为了提高准确率可能会加入其它变量,比如房屋价格的例子中除了面积和我是外,加入了是否为学区房、房屋年龄等变量,此时模型会变得复杂,有可能造成在训练集上可能拟合的很好,但是在测试集上效果不好的情况,也就是过拟合。
防止过拟合的方法可以在目标函数中加入正则项,更加详细的说明参见:正则
L1正则(Lasso回归):

argmin J(\theta)=\frac{1}{2}\sum_{i=1}^m (y_i - \omega^Tx_i)^2 + \lambda||\omega||_1

L2正则(岭回归):

argmin J(\theta)=\frac{1}{2}\sum_{i=1}^m (y_i - \omega^Tx_i)^2 + \lambda||\omega||_2^2

Lasso回归可以使得特征的参数变小,甚至为0,因此有特征选择的能力,泛化能力强,求解复杂。
Ridge回归不舍弃特征的同时缩小参数,使得模型相对稳定,求解直接求导=0即可。

加入正则化的变化

这里加入正则的目的是使得参数趋越小越好,参数越小越平滑,当输入有变化时输出的变化不会太大变化,避免了一些噪声、异常数据的影响。同时\gamma的值越大,在训练集上得到的值error越大,在测试集上随着\gamma的增大,会更看中正则的值而弱化error的影响,所以在测试error会降低,但是当\gamma增大到一定程度时,error将会增大。

2、多项式回归和广义线性回归

多项式回归:

将模型特征如果变为多次的,例如关于特征x_1, x_2的模型

h_\theta(x_1, x_2)=\theta_0 + \theta_1x_1 + \theta_2x_2 + \theta_3x_1^2 + \theta_4x_2^2 + \theta_5x_1x_2

由映(x_1, x_2)映射得到5元特征(1, x_2, x_2, x_1^2, x_2^2, x_1x_2),则原式可写成:

h_\theta(x_1, x_2)=\theta_0 + \theta_1x_1 + \theta_2x_2 + \theta_3x_3 + \theta_4x_4 + \theta_5x_5

重新把不是线性回归变成了线性回归。

广义线性回归:

多项式回归是对特征的推广,广义线性回归是对y的推广,比如lny = X\thetalnyX满足线性关系,一般化的广义线性回归:Y=g^{-1}(X\theta)

3、Logistic回归和softmax回归

线性回归模型的y是连续的,如果y是离散的,此时若再给y一个函数转换g,使得g(y)的值在某个区间上是类别A,某个区间上是类别B,则就有了分类的概念,即得到了分类模型,在softmax回归分类模型中,我们引入的g是sigmoid函数,大于0.5的分类为1,小于0.5的分类为0。
sigmoid函数的形式:

g^{'}(z)=\frac{1}{1+e^{-z}},令z=\theta x,则h_\theta(x)=\frac{1}{1+e^{-\theta x}}

二元逻辑回归的损失函数

y的取值只能是0和1,即:

P(y=1|x, \theta)=h_\theta(x)=\frac{e^x}{1+e^x} (式1)

P(y=0|x, \theta)=1-h_\theta(x)=\frac{1}{1+e^x} (式2)

二者结合得到y的概率分布表达式:

P(y|x, \theta) = h_\theta(x)^y (1-h_\theta(x))^{1-y}

同时我们可以看到,将式子1定义为事件发生的概率p,则事件发生的几率为log\frac{p}{1-p},整理得:
log\frac{P(y=1|x)}{P(y=0|x)}=w\cdot x,即输出y=1的对数几率是输入x的线性表示模型。

用极大似然参数估计

取对数似然得到:

L(\theta) = \prod_{i=1}^N(h(x)^y \cdot (1-h(x))^y)

再取反就转化成了目标函数的优化问题,用梯度下降法或者拟牛顿法求解最小值。

softmax回归

未完待续...

4、回归的总结

线性回归是f对输出变量y的拟合,逻辑回归是对为1的样本的概率的拟合

线性回归与逻辑回归的区别

拟合函数与预测函数的关系,是将拟合函数做一个逻辑回归的转换,转换后是的y的值属于(0, 1)

5、概率的角度解释逻辑回归

6、逻辑回归与SVM的关系

7、一些小问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容