機械学習基礎理論独習

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

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

等高線と勾配ベクトル

等高線

2変数関数f(x,y)を考えます。
xy平面上で関数値が一定の軌跡を等高線(f(x,y)=c)と呼びます。
例として、f(x,y)=x^2+y^2のグラフと等高線と以下に示します。

f:id:olj611:20210309212044p:plain:w600

等高線と勾配ベクトルは垂直

(\bar{x},\bar{y})での関数値をcとすると、点(\bar{x},\bar{y})f(x,y)=c上にある。
(\bar{x},\bar{y})の近くにあって、その等高線上にある点(\bar{x}+\Delta x,\bar{y}+\Delta y)を考えます。
この時、

\begin{eqnarray}
f(\bar{x}+\Delta x+\bar{y}+\Delta y)=c\tag{1}
\end{eqnarray}

です。(1)をテイラー展開します。

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

(2)の\cdots\Delta x,\Delta yの2次以上の項です。
\nabla f,\Delta{\bf x}を以下のようにおきます。

\begin{eqnarray}
&&\nabla 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}

(3)、(4)を(2)に代入します。

\begin{eqnarray}
\nabla f^\top\Delta{\bf x}+\cdots=0\tag{5}
\end{eqnarray}

\Delta{\bf x}が小さいほど\cdotsは急速に小さくなります。
よって、(5)より勾配\nabla fはその点を通る等高線に直交することが分かります。

このことを直感的に理解するために等高線と勾配ベクトルを図示します。
f:id:olj611:20210309212356p:plain:w300

参考文献

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

偉人の名言

f:id:olj611:20210309212307p:plain:w300
何事も達成するまで不可能に見えるものである
ネルソン・マンデラ

動画

ブログを書く前に作成した動画ですので、内容が異なる可能性があります。

目次へ戻る