Advanced Machine Learning 第四节 线性回归

简介

线性回归是在统计学以及机器学习中应用最为广泛的模型之一,线性回归常用于预测连续型的随机变量。如果在线性模型中加入核算法或者feature transformation,可以模拟非线性的模型。

线性回归

线性回归模型可以表示成一下形式:

最终的需要预测y的取值,based on 输入向量X,以及系数。

通过将输入向量进行变换,可以使线性模型扩展到非线性:

里面的函数是base function,比较常用的基函数有多项式函数:

线性回归的最大似然

要用概率来表示机器学习的理论常用最大似然法,接下来咱们看看线性回归的最大似然理论:

这里表示的意义是,咱们要找到这样的一个向量theta:这个theta使得咱们手中的数据产生的概率最大。

假设数据集中的每一对Xi,yi是idd(独立同分布,independent identically distributed),那么上式可以写成:

多个独立事件同时发生的概率等于他们各自概率相乘,为了方便后面的优化工作,咱们使用负的log likelihood,目的从找到使概率最大的theta值,变成了找到使negative log likelihood最小的theta值。

加入高斯模型假设,可以得到线性回归的loss function:

其中RSS是平方差和函数sum of squared errors, 常见的SSE/N就是均方差mean squared error:

最终咱们看到max likelihood转化为了最小二乘法,对于一维的x的预测情况如下图所示:

max likelihood的导数

用向量的乘法来表示平方差和如下所示:


它的梯度如下所示:


最终得到了最小二乘法的normal equation:


最小二乘的几何意义

最小二乘的更为详细的推导线性代数讲的细,其几何意义在于:将y映射至由X span的向量空间,找到residual最少的那个映射向量。


如上图,x1和x2 span了一个平面,我们做最小二乘的目的是将y映射至这个平面,红线就是residual,使residual最小的办法就是residual与X span的平面垂直。所以预测的y值就是真实的y值在X平面上的投影。

凸性

最小二乘所优化的loss function是凸函数,如果说set S是凸的,对于S中的任意两点Theta具有以下性质:


这个公式表示的意义是S中的任意两点的连线也在S这个set中。如下图,左边就是一个凸集,而右图不是。


凸函数具有以下性质:for any θ, θ‘ ∈ S, and for any 0 ≤ λ ≤ 1:


凸函数示例如左图:


凸函数对于优化来说是很好的一件事,它表明了有global minimum存在,让优化工作充满了希望。凸函数常常呈碗状,它的二次导数必须在任意点都是整数。

Ridge regression

普通线性回归常常存在overfitting的问题,例如如果X中的两个向量相关度较高,那么最终我们得到的他们的系数可能都会很大,仅凭直觉就知道这样的模型generalization不会太好。所以引入了Ridge regression的概念,目的是将现行回归的参数本身也加入优化的loss function,目的是控制整个模型的复杂度,使得它的generalization更好。这里我们从最大后验概率(MAP)出发,去推导Ridge regression。

首先假设参数W的先验概率服从高斯分布:

最终MAP变成了MLL加上最大先验:


前半部分很熟悉了,下半部分是咱们认为的W的先验概率。最终推导出:


可以发现loss function比之前多了后半部分,相当于把参数W本身也加入了优化队列,最后的效果是保证得到的模型既可以很好的解释训练数据,也能在测试数据上会有良好的表现。

当然Ridge regression也有normal equation:


这里多了一个参数:λ,它用来控制惩罚W的大小,学术名词weight decay,也叫parameter shrinkage,惩罚越多,模型的variance越小。这也叫做regularization。

以上介绍的是惩罚项为二次项的情况,更为一般的情况如下:

当q=1时,称为lasso regression,它的性质是:当Lamda足够大的时候,系数W中的某些项可以为0,它常用语某些稀疏的模型。正则化的另外一个理解是:把原先的优化问题转化成了一个有限制条件的优化问题,限制条件是:

我们可以看看不同的系数q所表示的限制条件在图形化上的解释:

下图很好的解释了lasso的稀疏性,参照于Ridge。

大数据的正则化

正则化在工业中是非常常用的,特别是数据量比较小的时候,但是另外一种方法也十分常用:加入更多的数据量:直觉表示加入的数据量越多,咱们能够学习的越好。

测试数据集上的错误常分为两类:数据集本身不可避免的错误:noise floor,另外一种是与选择的模型相关的:structural error。研究表明只要数据量足够多,简单的模型也能够发挥很好的作用,但是我们必须掌握一些复杂的模型,因为有用的数据始终是珍贵的。不过现在是大数据时代, 大数据基础上的简单算法比小数据基础上的复杂算法或许更加有效。

Bias and variance Decomposition

上一节提到了算法的两种错误,第一种是不可避免的错误,第二种是由于模型本身引入的结构性错误,下面咱们推导一下这两种错误:

第一部分是结构性错误,h是真实的模型,y是我们构造的模型,这部分表示的是构造的模型与真实模型之间的差异。第二部分是真实模型预测的值与实际值之间的偏差,这是不可避免的,是数据本身带来的错误。所以机器学习算法的目的是要减小第一部分的差值。

然后第一部分结构性错误还可以再分:可以分为bias和variance。

所以最终的期望错误可以分为以下几类:

机器学习的目标是减小错误,最后一部分noise无法避免,剩下的就是在bias和variance之间权衡了。所以才会第一节讲到的模型选择,选择在测试数据集上表现好的模型,达到好的trade off on bias and variance。

在线学习

之前我们所做的都是batch learning,即把所有的训练数据直接导入算法,生成结果,或者是进行batch gradient decent,现在咱们来看看我们每次用一小部分数据来训练模型的情况,这种情况适用于数据量比较大的情况,同时它的训练时间也会比较快。这种学习算法叫做stochastic gradient descent,也叫作sequential gradient descent。以下是随机梯度下降的公式,W沿着梯度方向下降一定系数的程度。η是一个学习程度的参数,越小代表每次学习的越少,这样波动越小。

En是loss function,前面加上三角符号代表了它的梯度。在实际应用中,η常常选择一个动态的值,我们可以在训练刚开始是使用较大的η,随着数据量的增张,η越来越小,方便最后结果的收敛。



References:

MLAPP

PRML






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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值