勾配法

提供: Internet Web School

UNIQ6888e355703e92e8-MathJax-2-QINU2 による版
(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)

一次アルゴリズム

UNIQ5f7afd5a490cf1e-MathJax-56-QINU を例にとる.UNIQ5f7afd5a490cf1e-MathJax-57-QINUを列ベクトルと行列

UNIQ5f7afd5a490cf1e-MathJax-58-QINU

を使って表現すると

UNIQ5f7afd5a490cf1e-MathJax-59-QINU

から UNIQ5f7afd5a490cf1e-MathJax-60-QINU と書ける.


ここで,UNIQ5f7afd5a490cf1e-MathJax-61-QINUのUNIQ5f7afd5a490cf1e-MathJax-62-QINUについての偏微分係数はそれぞれ,

UNIQ5f7afd5a490cf1e-MathJax-63-QINU

である。これらを要素にもつ列ベクトルは, UNIQ5f7afd5a490cf1e-MathJax-64-QINUのUNIQ5f7afd5a490cf1e-MathJax-65-QINUについて の微分であり,

UNIQ5f7afd5a490cf1e-MathJax-66-QINU

である。

また,UNIQ5f7afd5a490cf1e-MathJax-67-QINUの2階微分は

UNIQ5f7afd5a490cf1e-MathJax-68-QINU である。

UNIQ5f7afd5a490cf1e-MathJax-69-QINU とすると

UNIQ5f7afd5a490cf1e-MathJax-70-QINU

である.


これを一般化する.関数UNIQ5f7afd5a490cf1e-MathJax-71-QINUが解析的な関数なら,

UNIQ5f7afd5a490cf1e-MathJax-72-QINU

となる.UNIQ5f7afd5a490cf1e-MathJax-73-QINUは3次以上の高位の項である。

勾配を使う計算法

UNIQ5f7afd5a490cf1e-MathJax-74-QINUを最小化するため先ず,

初期点   UNIQ5f7afd5a490cf1e-MathJax-75-QINU を与えて,UNIQ5f7afd5a490cf1e-MathJax-76-QINUを求め,次に,

UNIQ5f7afd5a490cf1e-MathJax-77-QINUでのUNIQ5f7afd5a490cf1e-MathJax-78-QINUの微分,

UNIQ5f7afd5a490cf1e-MathJax-79-QINU

を求め,これと微小な正数UNIQ5f7afd5a490cf1e-MathJax-80-QINUを使って,

UNIQ5f7afd5a490cf1e-MathJax-81-QINU

として,UNIQ5f7afd5a490cf1e-MathJax-82-QINUを計算すると,

UNIQ5f7afd5a490cf1e-MathJax-83-QINU

ここで,任意のベクトル UNIQ5f7afd5a490cf1e-MathJax-84-QINU について

UNIQ5f7afd5a490cf1e-MathJax-85-QINU であるからUNIQ5f7afd5a490cf1e-MathJax-86-QINUである。

同様に,

UNIQ5f7afd5a490cf1e-MathJax-87-QINU

UNIQ5f7afd5a490cf1e-MathJax-88-QINU

である。

UNIQ5f7afd5a490cf1e-MathJax-89-QINUが十分小さければ, UNIQ5f7afd5a490cf1e-MathJax-90-QINU として, UNIQ5f7afd5a490cf1e-MathJax-91-QINU となる.

UNIQ5f7afd5a490cf1e-MathJax-92-QINU を新たな初期点としてこれを繰り返すことができる.このような方法を勾配法と呼ばれる.


特に,毎回の繰り返しで,

UNIQ5f7afd5a490cf1e-MathJax-93-QINU

となるように,UNIQ5f7afd5a490cf1e-MathJax-94-QINUを選ぶ繰り返し計算法を最急降下法と呼ぶ.

UNIQ5f7afd5a490cf1e-MathJax-95-QINU

を繰り返しながら

UNIQ5f7afd5a490cf1e-MathJax-96-QINU

を生成し, UNIQ5f7afd5a490cf1e-MathJax-97-QINU

とする計算法は,一次アルゴリズムと呼ばれている.

2次アルゴリズム

UNIQ5f7afd5a490cf1e-MathJax-98-QINU

を使って,高速なアルゴリズムを造る.

UNIQ5f7afd5a490cf1e-MathJax-99-QINU

とおき,上の式の右辺を書き換える.

UNIQ5f7afd5a490cf1e-MathJax-100-QINU

これはUNIQ5f7afd5a490cf1e-MathJax-101-QINUについての2次式である。この式がUNIQ5f7afd5a490cf1e-MathJax-102-QINUについて,極小になるための 条件は,極値条件(UNIQ5f7afd5a490cf1e-MathJax-103-QINUについての微分がUNIQ5f7afd5a490cf1e-MathJax-104-QINUベクトル)

UNIQ5f7afd5a490cf1e-MathJax-105-QINU

である。これから,行列 UNIQ5f7afd5a490cf1e-MathJax-106-QINU が正則(逆行列をもつ)とすれば,

UNIQ5f7afd5a490cf1e-MathJax-107-QINU

が得られる.

UNIQ5f7afd5a490cf1e-MathJax-108-QINU を繰り返すアルゴリズムはニュートン法と呼ばれる.

個人用ツール