机器学习就是需找一种函数f(x)并进行优化, 且这种函数能够做预测、分类、生成等工作。
“如何找到函数f(x)”?可以看作是机器学习的“三板斧”:
- 第一步:定义一个函数集合(define a function set)
- 第二步:判断函数的好坏(goodness of a function)
- 第三步:选择最好的函数(pick the best one)
关于第三步:梯度下降是目前机器学习、深度学习解决最优化问题的算法中,最核心、应用最广的方法。
为什么需要梯度下降算法
我们找到使损失函数尽可能小的未知模型参数。“梯度算法”对大多数模型都适用。
梯度下降(Gradient Descent, GD)不是一个机器学习算法,而是一种基于搜索的最优化方法。
梯度下降(Gradient Descent, GD)优化算法,其作用是用来对原始模型的损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。
梯度下降抓住了参数与损失值之间的导数,也就是能够计算梯度(gradient),通过导数告诉我们此时此刻某参数应该朝什么方向,以怎样的速度运动,能安全高效降低损失值,朝最小损失值靠拢。
什么是梯度
多元函数的导数(derivative)就是梯度(gradient),分别对每个变量进行微分,然后用逗号分割开,梯度是用括号包括起来,梯度其实一个向量。
梯度指向误差值增加最快的方向,导数为0(梯度为0向量)的点,就是优化问题的解。
梯度下降的问题
梯度下降算法是一种思想,没有严格的定义。从理论上,它只能保证达到局部最低点,而非全局最低点。
网友评论