梯度下降

在机器学习里,我们常把学习的目标归结为最小化一个“误差函数”。为此,一个常用的方法叫做梯度下降法。下降跟上升一回事,我们且以爬山论之。

假设在一片一望无际的土地上,我们要找一个最高的点。怎么找呢?随机选取一个起始点,然后,每次沿着最陡的方向往上走一小步。慢慢地,自然就会走到最高点。

是不是一定可行呢?未必。假如你不小心走到了一个小山坡的顶峰。这时你往四周看,都是水平的,于是你没有机会再往上爬。但在遥远的地方,可能有一个大山峰,远远地嘲笑着你。数学上,小山峰称为局部最高点。大山峰(假设是最高那个大山峰)就是整体最高点。梯度下降法可以帮你走到局部最高点,却无法保证那是整体最高。

美国是一个成熟的社会,也存在许多问题。如果选出一个希拉里这样的总统,可能会在不少问题上和稀泥。这样美国依然伟大,但也可能进步缓慢。就好像在小山峰上停滞不前。现在好了,上了Donald Trump,一下子从小山峰往外飞出10万8千里,然后从那重新爬。运气好,爬上大山峰,运气不好,爬上一个比原来还矮的。运气再差点,这一飞掉到谷底(理论上谷底跟山峰一样,四面皆水平,是爬不上来的),然后一蹶不振。

话又说回来,有没有办法选择个好的初始点呢?答案是并不容易。稍微动点脑子的做法,是随机多选几个初始点。运气不差的话,总有一个走到大山峰。然而机器学习里参数的空间不是2维,而是动不动就100万维。计算量是指数增长的。有些高级的办法可以有帮助,在此不表(因为我还不懂。。)。

有人可能问,这都是假定我们对整块土地一无所知。如果我们稍微有点关于土地的知识,知道大山峰大概在哪里,会不会有点帮助?这是个很好的想法,遗憾是我也不懂。不过,这倒是看出机器学习跟美国总统的相似之处:大家都有一个连自己都不懂的蓝图,并声称按照一定方法可以迈向最优。至于成不成其实并不重要。

因为多试几次总是会成的。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: