算法学习--梯度下降
本文为自己在查看一些书和网上的链接后整理所得,非商业性质。 感谢各位前辈的无私分享,若有侵权,请在文章后留言,会尽快删除。 参考链接:https://www.jianshu.com/p/c7e642877b0e 参考链接原文中有详细的介绍,此文中大多数内容摘录自参考链接,但主要目的是作为自己回顾梯度下降知识的笔记,关注的为思路并非具体实现。 梯度下降的场景假设 梯度下降法的基本思想可以类比为一个走向山谷的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致 可视度很低 。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着山的高度下降的地方走,同理,如果我们的目标是上山,也就是爬到山顶,那么此时应该是朝着最陡峭的方向往上走。然后 每走一段距离 ,都反复采用同一个方法,最后就能成功的抵达山谷。 假设这座山最陡峭的地方是无法通过肉眼立马观察出来的,而是需要一个复杂的工具来测量,同时,这个人此时正好拥有测量出最陡峭方向的能力。所以,此人每走一段距离,都需要一段时间来测量所在位置最陡峭的方向,这是比较耗时的。那么为了在太阳下山之前到达山底,就要尽可能的减少测量方向的次数