最適化
この目的関数の最適化はL1ノルムがあり、解析的に解くのが難しい為、座標降下法を使って解きます。
座標降下法とは一般に、
あるの関数を最小化(最大化)したいときに、
を満たすでを更新し、
を満たすでを更新し、という風に繰り返していく方法です。
まず、の更新式を求めます。
をについてまとめます。
(2)をで微分してとおきます。
次に、の更新式を求めます。一旦、とします。この時、です。
をについてまとめます。
(4)のはです。
(4)をで微分してとおきます。
(5)はのときなので、として書き直すと
となります。
同様にのとき、とおくと
となります。
はを、はを前提として計算されたものなので、
ならば、に更新し、ならば、に更新します。
またとの両方を満たさないときはは更新しません。
まとめると、以下のようになります。
なら
なら
それ以外ならは更新しない。
収束条件
収束条件はこの記事では、単純にのL1ノルムを次元数で割ったものの変化量を見て
それがある値以下になるまで繰り返します。