回归
1.线性回归(linear regression)
可以说是机器学习中最简单的模型了,用吴恩达机器学习课中的例子来说明。
这是一个关于房屋售价的问题,数据如下:
面积(
123 250
150 320
87 160
102 220
…. ….
这是训练数据,我们需要学习一个模型,当来一个新的数据(面积)时,可以预测出对应的房屋价格(如上图右边中的绿线)。其中最简单的模型就是线性模型(当变量(特征)是一维的时候是一条直线,是高维的时候是一个超平面)。
我们通常用
线性回归模型是对于一个样本
其中
线性回归的目标是用预测结果尽可能的拟合真实label,最常见的是使用平方损失函数作为loss function。
下图可以直观的看出线性回归的优化目标–图中线段距离(平方)的平均值,也是最小化到分割平面的距离之和。
如何求解w?可以使用最小二乘法,梯度下降法。
利用最小二乘法可以解出
但这也会有很多问题,其中一个主要问题是
正则化的目的:防止过拟合
正则化的本质:约束要优化的参数
ridge regression (岭回归)
在线性回归的基础上加上
有解析解:
在实际应用中,通过调价
Lasso回归(稀疏约束)
在线性回归的基础上加上
在实际应用中,数据的维度中是存在噪声和冗余的,稀疏的解可以找到有用的维度并且减少冗余,提高回归预测的准确性和鲁棒性(减少了overfitting)。在压缩感知、稀疏编码等非常多的机器学习模型中到用到了稀疏约束。
稀疏约束最简单的形式是约束0范式,w的0范式是求w中非零元素的个数,但0范式是不连续的并且非凸,这是很不好求解的。1范式也可以达到稀疏的效果,是0范式的最优凸近似,并且1范式容易求解还是凸的,所以一般情况下稀疏约束都是用的1范式。
Lasso的目标函数:
线性回归的优点:简单、易用
线性回归的缺点:拟合能力有限(只是输入到输出的线性变换)、目标值可以是(-∞,+∞),有的时候就不那么方便了。
2.逻辑回归(logistic regression)
逻辑回归可以说是最为常用的机器学习算法之一,最经典的场景就是计算广告中用于CTR预估,是很多广告系统的核心算法。
它是用来做分类的,经典的LR用于二分类。
假设函数:
这里
将两者结合起来:
令
对其取对数:
我们要求的是:
采用梯度上升的方法
3.Softmax Regression
多分类问题,LR是Softmax的一个特例。
如果有多类,可以采用多个二分类,也可以采用softmax。该如何选择?一般来说可以根据类别是否互斥来决定:如果互相之间有重合(或者本身在语义上并不相关,比如一张图片“是否是风景照片”和“是否有人“),那么就可以用k个LR;如何类别之间是互斥的,就可以采用softmax。
当有k个类别的时候,样本
类似逻辑回归,其似然函数为:
目标函数是:
求出目标函数对于参数的梯度,对于每一个输出目标j,其对于参数
对于每一个
也可以在目标函数后面加上正则项。
参考资料:
[1]http://blog.****.net/xbinworld/article/details/43919445
[2]http://blog.****.net/wsj998689aa/article/details/39547771
[3]http://blog.****.net/zouxy09/article/details/24971995