3. 机器学习中为什么需要梯度下降_机器学习基础(1)——线性回归

76c9bd9db962ed5cd7233017f0c5e9d3.png

1 什么是线性回归

线性回归算是机器学习中最基础的一个内容。虽然说基础,但是其背后蕴含的数学原理还是值得细细揣摩的。我们首先来看一下什么是线性回归。

给定一组数据集

,其中
,我们可以理解为特征,y假设为一维的。以房价预测为例,x就是一些影响房子价格的因素,比如面积,位置等,y就表示这套房子的价格。

线性回归的目的就是根据这个数据集,寻找一个最优的线性模型去构建x与y的关系。线性模型的数学形式为

。其中
为参数。更进一步的,假设
,我们可以将线性模型写成线性代数的形式。

其中

2 线性回归的求解——梯度下降法

梯度下降是机器学习中一种重要的方法,采用不断迭代更新参数的方法,模型的输出与目标更加接近。在使用梯度下降法之前,我们需要为线性回归模型构造合适的损失函数。

在线性回归问题中,我们使用最常见的均方误差做为损失函数。表达形式为:

梯度下降的思想就是不断迭代更新

,使得损失函数的值尽可能的达到最小,如果对于一个数量为m的训练集合,梯度下降方法就是使得代价函数达到最小。

很好理解,损失函数是针对于单个样本来定义的。代价函数则是在整个训练集上(或者更准确的说是在一个训练批次上)定义的。代价函数确定之后,下面开始实施梯度下降算法。根据数学知识,我们知道,函数在沿着梯度方向增长最快,我们的目标是想要代价函数取得最小,所以一种直观的想法,就是让

沿着负梯度的方向不断更新,使代价函数不断趋近于最小值。直观的可以如下图理解:

50d100257b4c62617fd4f762b2af4b3a.png

梯度下降算法如下所示:

Repeat until convergence
{
(for every j)

}
其中导数项计算如下:

3 线性回归的概率解释

在刚开始接触线性回归的同学来说,可能有这么一个疑问:为什么损失函数要定义成误差平方的1/2。为什么不使用误差绝对值,或者3次方,4次方?从直观上来说,定义成误差的平方有两个好处:

(1)相比于更高次方的形式,均方误差的形式求导更加方便,导数为一次方形式

(2)相比于绝对值的形式,平方形式对于较大的偏差可以施加更大的惩罚,使得误差更快速的下降。

以上两点是对损失函数的一种直观解释,下面我们将从概率统计的角度进行解释。

线性模型对某一样本的预测值和真值之间,往往存在一个误差

。这个误差来源于一些未被考虑进去的特征或者随机的噪音。通常,我们认为这个误差服从均值为0,方差为
的高斯分布,

这样就可以推出:

表示的是在给定样本
的条件下
的分布,其中参数
是未知的。我们需要估计出
的值。在这里我们使用极大似然估计法进行参数估计。构建出似然函数。

极大似然估计法是取使似然函数最大的

值为结果。将上式展开:

上式的第一项是常数,因此只要令第二项最小,则似然函数取得最大。而第二项恰好就是我们在上面定义的代价函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值