- 区間で二回微分可能
- (単調増加性)
- (下に凸)
- が解を持つ
と書けます。ではこの直線とx軸との交点、つまり
を見てみます。式を変形すると
となります。を仮定するとの時、右辺第2項は正なので
が成り立ちます。(逆も同様)さらに単調増加性より
です。式から分かることは関数の値を減少するように座標の移動しているんですね。これを図で見てみると となり、確かに求める解(赤色)に近づくように移動していることがわかります。これがニュートン法です。 ニュートン法についての説明を終えて余談に入ります。 機械学習では目的関数の最適化が目標になります。目的関数とはこの場合で言えばです。そしてこの場合の最適化とは最小化を意味します。(最大化よりも最小化を最適化という方が個人的に多いと思います)そこでどうやって最適化しようか、とみんな悩みます。その手法の一つが今回のニュートン法です。他にも最急降下法、新しいものではAdamなどがあります。どれが一番良い、ということはないので状況に応じて良いものを選びましょう。 また、上の方で直線の式を使いましたが一般的にはテイラー展開を使って話を進めることが多いです。テイラー展開は関数の多項式近似です。条件はありますが、ほとんどの関数はテイラー展開により多項式に変換できます。なので今回の場合だとをニュートン法で求めましたがテイラー展開によりもっと簡単に求めることができます。
これは周りのテイラー展開です。機械学習に限らず問題を考えるときに局所的、小さい範囲で考えることは多いと思います。テイラー展開は局所的に関数を見ることができるのでそういう時に便利だと思います。 余談はこれくらいにして次回はニュートン法の簡単な実装とテイラー展開について見てみたいと思います。 指摘&アドバイスお願いします。 引用画像: http://tutorial.math.lamar.edu/Classes/CalcI/NewtonsMethod.aspx