梯度下降与一元线性回归

1.梯度下降

1.1基本概念

梯度下降法(gradient descent),又名最速下降法(steepest descent)是求解无约束最优化问题最常用的方法,它是一种迭代方法,每一步主要的操作是求解目标函数的梯度向量,将当前位置的负梯度方向作为搜索方向(因为在该方向上目标函数下降最快,这也是最速下降法名称的由来)。

方向导数:方向导数是在函数定义域的点对某一方向求导得到的导数。

梯度:梯度是一个向量,函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
公式:在这里插入图片描述

1.2梯度下降法的计算步骤

1.首先给参数设定一个较小的正数值,即随机初始参数,确定学习率(构造损失函数,选择起始点)
2.求当前位置处的各个偏导数(计算偏导)
3.按照公式更新参数(按学习率前进)
4.重复第2步和第3步直到满足终止条件(循环迭代,找到最低点)

1.3经典例题

在这里插入图片描述

1.4常用梯度下降算法

1.4.1批量梯度下降(BGD)

BGD需要计算整个训练集的梯度。即:
在这里插入图片描述
其中η为学习率,用来控制更新的“力度或步长”。

优点:对于凸目标函数可以保证全局最优,对于非凸目标函数只能保证一个局部最优。

缺点:速度慢;数据量大时不可行;无法在线优化(无法处理动态产生的新样本)。

1.4.2随机梯度下降(SGD)

SGD仅计算某个样本的梯度,即针对某一个训练样本 xi及其label yi更新参数。即:
在这里插入图片描述
逐步减小学习率,SGD表现得同BGD很相似,最后都可以有不错的收敛。

优点:速度快;可以在线优化(可以处理动态产生的新样本);一定的随机性导致有几率跳出局部最优(随机性来自于用一个样本的梯度去代替整体样本的梯度)。

缺点:随机性可能导致收敛复杂化,即使到达最优点仍然会进行过度优化,因此SGD的优化过程相比BGD充满动荡。

1.4.3小批量梯度下降(MBGD)

MBGD是批量梯度下降法和随机梯度下降法的折衷,也就是对于m个样本,我们采用x个样子来迭代,1<x<m。一般可以取x=10,当然根据样本的数据,可以调整这个x的值。即:
在这里插入图片描述
优点;克服上面两种方法的缺点,又同时兼顾两种方法的优点。

在实际使用中:

1)一般情况下,优先采用小批量梯度下降法,在很多情况下SGD默认指代小批量梯度下降法;

2)若数据量小,可直接采用批量梯度下降法;

3)若数据量非常大,或者需要在线优化,可考虑使用随机梯度下降法。

2.一元线性回归

2.1基本概念

回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析;如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

一元线性回归其实就是从一堆训练集中去算出一条直线,使数据集到直线之间的距离差最小。

最简单的模型如图所示:
在这里插入图片描述
下列2个模型都是线性回归模型,即便右图中的线看起来并不像直线。
在这里插入图片描述

2.2原理引入

唯一特征X,共有m = 500个数据数量,Y是实际结果,要从中找到一条直线,使数据集到直线之间的距离差最小,如下图所示:
在这里插入图片描述
在这里插入图片描述
损失函数(代价函数):
在这里插入图片描述

2.3公式推导

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_58529413/article/details/123122382