在解决下面这种类型问题时:
minθ0,θ1J(θ0,θ1)
Gradient Descent Algorithm所指的算法是
temp0 :=
θ0−α∂J(θ0,θ1)∂θ0
temp1 :=
θ1−α∂J(θ0,θ1)∂θ1
θ0
:=temp0
θ1
:=temp1
具体来说就是,所有的变量是在同一时刻更新的。更新的大小由
α∂J(θ0,θ1)∂θi
来控制,即
α
和
∂J(θ0,θ1)∂θi
共同决定。关于Gradient Descent Algorithm,有一个很重要的特点:在进行数值搜索的时候,下个点相对于当前点的方向,总是函数减小最快的方向。这里用到了一个数学原理,即
对于多维的标量函数,沿梯度方向的方向导数达到最大值.
同理,如果想要寻找目标函数的最大值,把相应的减号替换为加号即可。
temp0 :=
θ0+α∂J(θ0,θ1)∂θ0
temp1 :=
θ1+α∂J(θ0,θ1)∂θ1
θ0
:=temp0
θ1
:=temp1
当每一个变量单独的即时更新时,算法表述为
temp0 :=
θ0−α∂J(θ0,θ1)∂θ0
θ0
:=temp0
temp1 :=
θ1−α∂J(θ0,θ1)∂θ1
θ1
:=temp1
这种算法虽看上去和Gradient Descent Algorithm相类似,并且在有些情况下也能找到目标函数的最小值,但是此算法并不被称为Gradient Descent Algorithm,且与Gradient Descent Algorithm有一定区别。