首先我们简单过一下数学上的概念,以及梯度下降可以解决什么问题。
一元函数导数,可以很容易求得函数线在某一点的导数,在保证函数连续可导的情况下,我们很容易算出来极值。
二元函数求导,步骤有一些复杂,这里不再详细赘述,有兴趣的读者可以自行百度多元函数求高阶导的方法,相关知识点还有多元函数泰勒公式,总之类似于一元函数,我们是可以很简单地求出这个空间曲面的极值的。(二元函数是空间曲面,你管它叫空间中的几何体也行,反正它也算是几何体吧)
三元以及更多元维度求导,我们都可以按照这个思路走下去,总之就是可以求出来,虽然人算着非常复杂,但是这东西丢给计算机计算,速度简直不要太快。
那么既然多元函数求导这么简单,机器学习大部分时间就是在找一个多项式,我们为什么不直接多元函数求导把这个多项式找出来呢?
你看,我们也说了,我们就是在让机器去找出这个多项式,而我们所有求导行为都是建立在这个多项式已经知道的情况下才能做出的行为。
用游戏类比,当你得知了这个多项式,你就相当于开了全图的战争迷雾,所有敌人,陷阱,大小资源都在你眼中一览无疑,相当于开外挂了,那多爽啊。
可是机器学习这个游戏就是需要你找出来这么一个多项式,就是需要你去开战争迷雾,需要你亦步亦趋地向前探索,总之就是不能开全图挂。(作弊哒咩)
所以我个人理解就是如此,我们想作弊,想要直接知道问题的正确答案,但是不得行,需要梯度下降这样的方法一点点试探才行。