什么是方向导数呢?单从这个问题表面,我们可以看到两个方面:
- 方向导数与某个量的方向有关
- 方向导数和导数有关
首先确定一个向量e,在最底部,即二维平面在x轴上,三维在xOy平面上。
在二维坐标系中,e只有一个方向,即沿着x轴,在三维坐标系中,e的方向由其和x轴和y轴之间的夹角确定,所以e的方向有无穷多个,在每个方向上,都可以像在二维坐标系上定义导数一样定义导数,就好比在这个方向上建立了一个二维坐标系,方向导数中的方向就是e的方向。
而梯度的方向就是方向导数最大的方向,梯度的值就是其方向导数的绝对值。梯度是沿着增长最快的方向定义的,所以有时候说利用梯度下降法寻找函数最小值,就是沿着逆梯度方向不断取值,求值,直到所求值的误差满足要求后即可停止迭代。但是有时候若函数有多个极小值,梯度下降法很容易陷入局部最小值而不是全局最小值。遗传算法通过大量初始数据同时计算,在一定程度上避免了求解陷入局部最小值之中,很大程度上提高了求解全局最小值的概率。
(后面一部分属于即兴发挥,若有错误,请及时指出,不胜感激!)