回归

1.线性回归(linear regression)

可以说是机器学习中最简单的模型了,用吴恩达机器学习课中的例子来说明。
这里写图片描述
这是一个关于房屋售价的问题,数据如下:
面积( m2 ) 价格(万元)
123 250
150 320
87 160
102 220
…. ….
这是训练数据,我们需要学习一个模型,当来一个新的数据(面积)时,可以预测出对应的房屋价格(如上图右边中的绿线)。其中最简单的模型就是线性模型(当变量(特征)是一维的时候是一条直线,是高维的时候是一个超平面)。
我们通常用 X=(x1,x2...xn)TRn×p 表示数据矩阵,其中 xiRp 表示一个p维的样本; y=(y1,y2...yn)TRn 表示数据的标签,这里只考虑每个样本只属于一类的情况。
线性回归模型是对于一个样本 xi ,其输出是其特征的线性组合:
f(xi)=pm=1wmxim+w0=wTxi
其中 w0 称为截距,或者bias。
线性回归的目标是用预测结果尽可能的拟合真实label,最常见的是使用平方损失函数作为loss function。
J(w)=1nni=1(yif(xi))2=1n||yXw||2
下图可以直观的看出线性回归的优化目标–图中线段距离(平方)的平均值,也是最小化到分割平面的距离之和。
这里写图片描述

如何求解w?可以使用最小二乘法,梯度下降法。
利用最小二乘法可以解出 w=(XTX)1XTy

但这也会有很多问题,其中一个主要问题是 XTX 不可逆时,目标函数最小化求导为零时方程有无穷个解,没有办法求出最优解,当p>n时一定会出现这种情况,这个时候就需要对w做一些限制,使得解空间变小,这就是regularization(正则化)。

正则化的目的:防止过拟合
正则化的本质:约束要优化的参数

ridge regression (岭回归)
在线性回归的基础上加上 l2norm 的约束,loss function是:
JR(w)=12||yXw||2+λ2||w||2
有解析解:
wR=(XTX+λI)1XTy
λ>0 是一个参数。加上了正则项后,对w的模做约束,为让loss function 最小,w的值会比较小,这很大程度上缓解了overfitting的问题;再然后就是上面求逆部分肯定可以解。
在实际应用中,通过调价 λ ,可以得到不同的回归模型。

Lasso回归(稀疏约束)
在线性回归的基础上加上 l1norm 的约束
在实际应用中,数据的维度中是存在噪声和冗余的,稀疏的解可以找到有用的维度并且减少冗余,提高回归预测的准确性和鲁棒性(减少了overfitting)。在压缩感知、稀疏编码等非常多的机器学习模型中到用到了稀疏约束。
稀疏约束最简单的形式是约束0范式,w的0范式是求w中非零元素的个数,但0范式是不连续的并且非凸,这是很不好求解的。1范式也可以达到稀疏的效果,是0范式的最优凸近似,并且1范式容易求解还是凸的,所以一般情况下稀疏约束都是用的1范式。
Lasso的目标函数:
JL(w)=12||yXw||2+λi|wi|

线性回归的优点:简单、易用
线性回归的缺点:拟合能力有限(只是输入到输出的线性变换)、目标值可以是(-∞,+∞),有的时候就不那么方便了。

2.逻辑回归(logistic regression)

逻辑回归可以说是最为常用的机器学习算法之一,最经典的场景就是计算广告中用于CTR预估,是很多广告系统的核心算法。
它是用来做分类的,经典的LR用于二分类。
假设函数: hθ(x)=g(θTx)=11+eθTx
g(z)=11+ez
这里 hθ(x) 表示样本x为第一类(对于的y=1)的概率,所以有:

P(y=1|x;θ)=hθ(x)

P(y=0|x;θ)=1hθ(x)

将两者结合起来:

P(y|x;θ)=hθ(x)y(1hθ(x))(1y)

L(θ)=mi=1P(y(i)|x(i);θ)

对其取对数:

l(θ)=logL(θ)=i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))

我们要求的是: maxθl(θ)

采用梯度上升的方法

l(θ)θj=mi=1(y(i)hθ(x(i))1y(i)1hθ(x(i)))hθ(x(i))θj

=mi=1(y(i)g(θTx(i))1y(i)1g(θTx(i)))g(θTx(i))(1g(θTx(i)))x(i)j

=mi=1(y(i)g(θTx(i)))x(i)j

θ:=θ+αmi=1(y(i)g(θTx(i)))x(i)j

3.Softmax Regression

多分类问题,LR是Softmax的一个特例。
这里写图片描述
如果有多类,可以采用多个二分类,也可以采用softmax。该如何选择?一般来说可以根据类别是否互斥来决定:如果互相之间有重合(或者本身在语义上并不相关,比如一张图片“是否是风景照片”和“是否有人“),那么就可以用k个LR;如何类别之间是互斥的,就可以采用softmax。
当有k个类别的时候,样本 x(i) 属于第j类的概率为:
p(y(i)=j|x(i);w)=ewTjx(i)kl=1ewTlx(i)
类似逻辑回归,其似然函数为:
Ni=1kj=1(ewTjx(i)kl=1ewTlx(i))1{y(i)=1}
目标函数是:
minwJ(w)=1NNi=1kj=1[1{y(i)=1}logewTjx(i)kl=1ewTlx(i)]
求出目标函数对于参数的梯度,对于每一个输出目标j,其对于参数 wj 的梯度为:
wjL(w)=J(w)wj=1NNi=1xi(1{y(i)=j}p(y(i)=j|x(i);w))
对于每一个 wj ,j=1,2,…,k,采用更新:
wj=wjαwjL(w)
也可以在目标函数后面加上正则项。

参考资料:
[1]http://blog.csdn.net/xbinworld/article/details/43919445
[2]http://blog.csdn.net/wsj998689aa/article/details/39547771
[3]http://blog.csdn.net/zouxy09/article/details/24971995

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值