学习 刘建平博客园 梯度下降(Gradient Descent)小结 - 刘建平Pinard - 博客园 笔记
一、Gradient Descent
用途: 求解机器学习算法的模型参数,即解无约束优化问题。另一种方法是最小二乘法
1.梯度
定义: 对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来
例子:函数f(x,y), 分别对x,y求偏导数,求得的梯度向量是(∂f/∂x, ∂f/∂y)T,简称grad f(x,y)或者▽f(x,y)
函数f(x,y,z), 分别对x,y,z求偏导数,求得的梯度向量是(∂f/∂x, ∂f/∂y,∂f/∂z)T (T是右上标)
意义:函数变化增加最快的地方
2.梯度下降与梯度上升
梯度下降法——最小化损失函数
梯度上升法——最大化损失函数
3. 梯度下降法算法详解
3.1 梯度下降的直观解释
梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。
如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。
3.2 梯度下降的相关概念
1. 步长(Learning rate):步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。
2. 特征(feature):指的是样本中输入部分,比如2个单特征的样本(x(0),y(0)),(x(1),y(1)),则第一个样本特征为x(0)x(0),第一个样本输出为y(0)y(0)。
3. 假设函数(hypothesis function):在监督学习中,为了拟合输入样本,而使用的假设函数,记为hθ(x)。比如对于单个特征的m个样本(x(i),y(i))(i=1,2,...m)(x(i),y(i))(i=1,2,...m),可以采用拟合函数如下:
hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x
4. 损失函数(loss function):为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。在线性回归中,损失函数通常为样本输出和假设函数的差取平方。比如对于m个样本(xi,yi)(i=1,2,...m)(xi,yi)(i=1,2,...m),采用线性回归,损失函数为:
m
J(θ0,θ1)=∑(hθ(xi)−yi)2
i=1
3.3 梯度下降的详细算法
梯度下降法的算法游两种表示:代数法和矩阵法(也称向量法)
3.3.1 梯度下降法的代数方式描述
1.先决条件:确认优化模型的假设函数和损失函数
比如对于线性回归,假设函数表示为 (假设有j个样本,每个样本有n个特征值)
hθ(x1,x2,...xn)=θ0+θ1x1+...+θnxn
其中θi (i = 0,1,2... n)为模型参数,xi(i = 0,1,2... n)为每个样本的n个特征值。
简化公式:新加一个特征值——x0=1
n
hθ(x0,x1,...xn)=∑ θixi
i=0
损失函数:(假设有j个样本,每个样本有n个特征值)
m