梯度下降法

如何最小化Costs

y = w1x1 + w2x2 + ... + wnxn + b

注意,在计算损失时,w是未知数;而x和y是已知的点。

只有一个x的时候,损失函数是一个抛物线。值最小的时候是导数为0.

当有2个x的时候,找最小值变得困难(抛物面)。维度更多则更困难。不能像一维的时候得到解析解(通过数据公式的方式计算出结果)。无法一步到位,需要使用迭代的方式,来找出最好的结果。

什么是梯度

等高线 - 每条线连接的是同样的高度

怎么找到往哪个方向走效果最好?要引入偏导数的概念。 偏导数:有两个或多个变量时,分别看每个变量对函数的影响(将其它变量看作常数) - 变化率。

每个等高线切线的垂直方向,也是梯度在该点上的取值,也是该点偏导的取值。

往哪个方向走一步效果最好:梯度相反的方向

什么时候停止

  1. 走了多少步,比如设定100步限制
  2. 观察两步之间的距离,如果已经很小了则可以停下来

注意,梯步下降不能保证找到全局最优点,只是局部最优点。但往往可以帮助找到足够好的最优点。

Andrew Ng's 的课程写的更清楚些,公式可以直接拿来用

Change log

  • 2017.10.25 创建
  • 2017.10.28 增加内容

results matching ""

    No results matching ""