从导数到梯度下降--apple的学习笔记

前言

  一年前就自学过,并且参加过机器学习的培训课。由于现在开始专注学习计算机视觉算法,所以需要复习下数学基础。

  这次学习等于是第二轮系统学习了。我的目的只是兴趣爱好,顺便给我的职场留一条后路或者成为加分项。多学习点技能也没什么不好的。特别是AI时代了。所以我的要求并不是快,也不是要背诵公式,我要的是从理解角度去记忆,并且要应用。否则学到的知识是没有用的。

1.导数的含义

  • 1 从一元函数来讲,它是切线的斜率公式,是速度。
  • 2 “以直代曲”的角度来讲,一元函数是切线,二元函数是切平面。通过导数即为泰勒公式。
  • 3 从向量变换角度来讲,它是线性变换。是个矩阵。

重点:
  导数是变化率。说到率就会想到除法,没错就是自变量的变化率。无穷小的时候f'(x)就是在x点切线的斜率。也可以写为f'(x)=,这就更加形象的说明了导数是因变量对自变量的变化率。
  若一元函数F(x)是曲线,二阶导数是一阶导数的变化率,体现了曲线的凹凸性,代表了拐点。三阶导数是二阶导数的变化率,预测了某点之后的趋势是继续凹还是会变凸。这样就可以通过导数来绘制曲线了。
  还有一个比较形象的一阶导数为瞬时速度,二阶导数为加速度(即速度的变化率),三阶导数为类似于刹车的舒适体验感(即加速度的变化率)。

2.偏导数的含义

  对于一元函数来说,偏导数就是导数。对于二元函数来说,偏导数包括对x的导数(此时y为常数,不看做变量参数),同理包括对y的导数。如下为处的偏导数公式

偏导数有个形象的感觉,如下图。二元函数其实是在三维空间的,如下图只是概念性的加速理解。三维空间可以通过x,y的参数方程添加限制,使F(x,y)变成F(x,y),x(t),y(t)三个方程,最终将t带入x和y变换为F(t)方程。

1.png

3.方向导数的含义

  方向导数是基于偏导数来的。方向导数的意思对于多元函数在某一个方向上的导数(偏导数是方向导数的特例,偏导数仅针对方向x和方向y)。对于某个方向的偏导数,其实可以将此方向用向量法拆分为x和y的分量。
点沿与x轴成夹角的一条直线移动,这个移动方向可以看作是一个矢量
公式如下:

方向导数(向量)是原向量在某个方向上的投影的变化率

重点:方向导数就是偏导数合成向量与方向向量的内积。

4. 梯度的含义

  梯度是一个向量,它是带方向的。标量场中某一点上的梯度指向标量场增长最快的方向。再描述的具体些就是在空间中的某点,有很多方向,所以方向导数标量的最大值就是梯度值。而梯度的方向就是让其值最大的方向。

原因是内积同角度的值最大。

5. 梯度下降公式的含义

  重点来了,我前面1-4小结的长篇大论就是为了铺垫梯度下降是即梯度的反方向,则变量率从最大到变化率为反方向的最大,及为下降的最快的方向。
一阶梯度下降的公式也是从一阶泰勒展开式推导的,最终的公式为,通过不断迭代求,当之前的值和当前值小于0.00001后循环终止,求得函数的最小值。

"局部下降最快的方向就是梯度的负方向"是我这次一开始没有看懂的,而一年前死记硬背的。所以今天写了这个笔记。

你可能感兴趣的:(从导数到梯度下降--apple的学习笔记)