概要
多クラスロジスティック回帰の続きです。尤度関数から交差エントロピー誤差関数を定義し、その勾配を求めました。ニュートン法を用いて解を数値計算することが目的ですので、今回はさらに微分してヘッセ行列を求めます。
ヘッセ行列を導出
多クラスロジスティック回帰より、交差エントロピー誤差をとして、
でした。式(1)をで微分したものを
と書けば、ロジスティック回帰における交差エントロピー誤差のヘッセ行列の追記で書いたように、
です。合成関数の微分より、
です。この計算はロジスティック回帰における交差エントロピー誤差のヘッセ行列の追記でも書いたのですが、考え方が合っているのか自信がない。さらに参考書やネット上の解説では、式(5)の*1と
が逆になっていて、どうやったらそういう計算になるのか?ギブアップ。詳しい方いましたら助けてください。ただ、
は
では
ですし、
では
なので、値自体は等しいのですが。
ということで、ここは相当悩んだ挙げ句解決できなかったのですが、値はどっちにしても等しいということで先に進むことにしました。
さて、勾配は式(1)をまで並べた
でした。この成分を
で微分したものが
となりますので、求めるヘッセ行列は
となります。
2クラスの場合と同様に、
とすれば、
です。ヘッセ行列が求められましたので、ニュートン法によって多クラスロジスティック回帰の解を求めることができるようになりました。
これを用いた実験結果はこちらです。 www.iwanttobeacat.com
*1:書いた数年後、何に引っかかっていたのか忘れてしまったのでいったん削除