【机器学习】线性回归之梯度下降、多元线性回归概述

线性回归是一种监督学习方法. 
对每个样本来说: 

Hypothesis:

即:

其中,h_\theta(x) 为预测值,x_i 为样本的第i个特征,且x_0 = 1; \theta_i 为该特征下的权重,bias偏差b=\theta_0。线性回归就是要在已有的样本特征和标签下学习特征权重,从而在待测样本中应用学习好的特征权重,得到待测样本的标签。 

定义损失函数:

我们的目的是找到最优的 \theta 来最小化 J(\theta)  , 使用梯度下降方法:

对每一个样本来说: 

Batch Gradient Descent:

 

其中i表示第i个样本。上式为第i个样本第j个特征的梯度求解然后平均。 

因此:

其中\alpha为学习速率。

对于\alpha的一些使用建议可以参考下图。


接下来,我们来了解几种求解最优参数的方法。

批量梯度下降(batch gradient descent(BGD)):

不断迭代下式直到收敛{

}

由上式可知,每一次迭代都要遍历所有样本,因此,当样本量很大时,批量梯度下降法迭代时间会很长。

随机梯度下降(stochastic gradient descent(SGD)): 

不断迭代下式直到收敛{ 
for i = 1 to m,{ 

}

由上式可知,随机梯度下降法每一次迭代只使用一个训练样本,因此可以大大缩小迭代时间。

SGD每一个epoch也需要计算样本量大小的数量的梯度(1...m)。SGD与BGD的主要区别在于,SGD一个epoch下来计算了m次梯度同时也更新了m次\theta,而BGD一个epoch下来虽然也同样计算了m次梯度,但它只更新了一次\theta。导致最后收敛是BGD所需要计算的样本梯度次数远远大于SGD。

Mini-batch gradient descent

具体是指:在每一次迭代中,随机选取若干个训练样本(比如50个),使用上述梯度下降方法进行参数优化,多次迭代直到收敛。该方法的速度比BGD快,比SGD慢;精度比BGD低,比SGD高。

特征归一化(Features Scaling)

上图中的两幅图解释了为什么需要做特征归一化。这里以二维情形来举例说明。如果x_1,x_2的分布相差很大的话,会造成左图的情形,损失函数就会很瘦长像一个椭圆一样,这样梯度下降的时候就会来回震荡,效果很差。而如果归一化之后,损失函数就会像一个圆一样,这样梯度下降就会好很多。

至于为什么损失函数在椭圆的时候梯度下降效果不好。可以这么理解,尺度小的一方可能早早达到了最优解附近,但由于尺度大的变量还在缓慢优化中,尺度小的只能来回震荡,此时又会对尺度大的变量产生影响。还有一个原因就是尺度大的变量“路”比较远,更新的慢!

通常的做法是将它们缩放到一定到尺寸,如-1到1,这个数字并不是特别重要,如-3到3或者-1/3到1/3也是可以到。

另一种普遍到做法是进行标准化,将数据标准化到0-1正态分布。也可以不除以标准差,因为标准差到计算往往也比较费时,可以直接用样本的数值范围来代替。我们叫做Mean normalization

 

线性回归的在线学习算法采用的就是SGD的梯度下降方式。

多元线性回归

在机器学习算法中,基于针对数据的非线性函数的线性模型是非常常见的,这种方法即可以像线性模型一样高效的运算,同时使得模型可以适用于更为广泛的数据上,多元线性回归就是这类算法中最为简单的一个。

关于多元线性回归的应用,这里举个非常简单的例子:一般的线性回归,模型既是参数w的线性函数,同时也是输入变量x的线性函数,对于一个二维的数据而言,模型的数学表达式如下:

如果想要拟合一个抛物面,而不是拟合一个平面的话,那么就需计算输入变量x二次项的线性组合,则模型更新为下面这个形式:

注意:这里需要说明的是,更新后的模型,虽然是输入变量x的二次函数,但是,由于它仍然是参数w的一次线性函数,所以它仍然是一个线性模型。为了说明这个问题,可以假设有一个新的变量z=[x_{1},x_{2},x_{1}x_{2},x_{1}^2,x_{2}^2],那么就可以将上面的模型重写为下面的这个形式:

用向量z替换向量x的过程,相当于一个特征变换或者叫做特征生成的过程,它将输入特征的维度提高,但模型仍然是一个线性模型。

 

关于线性模型与非线性模型写过一篇文章线性模型非线性模型,感知机与神经网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值