轻松入门梯度下降算法(Gradient Descent)
概念
梯度下降算法是将代价函数(cost function)J最小化的一种算法, 它被广泛的应用于机器学习领域中的众多领域。
假设有一个代价函数J(θ0, θ1),也许这是一个线性回归的代价函数,也许是一些其他函数,要使其最小化就需要用一个算法最小化函数J(θ0, θ1) 。
梯度下降算法可应用于多种多样的函数求解,为便于理解,以两个参数为例(当然显示处理数据中往往是多维的),如下图所示:
通俗理解:不妨将上图假设为山群,我们的目标是找到山的最低点,假定我们站在某个初始点上,我们要做的便是环顾360°,选择一条路往下走,不断地重复这个步骤,每走一段路径便环顾更新,以此类推,无疑我们会找到一个局部的最低点——贪心算法。
算法理解
算法流程:重复执行下式直到收敛(即到最低点,导数均为正),其中j代表特征索引参数(以0,1为例)。