機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

勾配ベクトル方向に点を動かす

(\bar{x},\bar{y})から(\Delta x,\Delta y)動かしたときのf(x,y)の増加量は
f(\bar{x}+\Delta x,\bar{y}+\Delta y)-f(\bar{x},\bar{y})です。

テイラーの定理より

\begin{eqnarray}
f(\bar{x}+\Delta x,\bar{y}+\Delta y)=f(x,y)+\frac{\partial}{\partial x}f(\bar{x},\bar{y})\Delta x+\frac{\partial}{\partial y}f(\bar{x},\bar{y})\Delta y+\cdots\tag{1}
\end{eqnarray}

となります。

\Delta x,\Delta yの2次以上の項を無視すると、

\begin{eqnarray}
f(\bar{x}+\Delta x,\bar{y}+\Delta y)=f(x,y)+\frac{\partial}{\partial x}f(\bar{x},\bar{y})\Delta x+\frac{\partial}{\partial y}f(\bar{x},\bar{y})\Delta y\tag{2}
\end{eqnarray}

となります。

ここで、以下のようにおきます。

\begin{eqnarray}
&&\nabla\bar{f}=\left(\frac{\partial}{\partial x}f(\bar{x},\bar{y}),\frac{\partial}{\partial y}f(\bar{x},\bar{y})\right)^\top\tag{3}\\
&&\Delta{\bf x}=(\Delta x,\Delta y)^\top\tag{4}
\end{eqnarray}

(2),(3),(4)より

\begin{eqnarray}
f(\bar{x}+\Delta x,\bar{y}+\Delta y)-f(x,y)&=&\frac{\partial}{\partial x}f(\bar{x},\bar{y})\Delta x+\frac{\partial}{\partial y}f(\bar{x},\bar{y})\Delta y\\
&=&\nabla\bar{f}^\top\Delta{\bf x}\\
&=&||\nabla\bar{f}||\cdot||\Delta{\bf x}||\cos\theta\tag{5}
\end{eqnarray}

||\nabla\bar{f}||\cdot||\Delta{\bf x}||\cos\theta\cos\theta=1の時に最大となり、
\cos\theta=-1の時に最小となります。

よって、勾配ベクトルと同じ方向へ点を動かすと関数値は最も増加することが分かります。
ただし、変化量は微小です。

参考文献

これなら分かる最適化数学

偉人の名言

f:id:olj611:20210408210211p:plain:w300
未来は今日始まる。明日始まるのではない。
ヨハネ・パウロ二世

動画

この動画は記事を書く大分前に作成したものなので、本記事とは内容が異なる可能性があります。

目次へ戻る