引き続き
を見ながら、
の対応を見出そうとしているが、どうも一致しない。pythonのソース側が対応していると言っているのがFriedman
とあるので、それを参照したが、実装はFortran...(Rは呼び出しインターフェースだけ。。。)
- GLASSOの中身 で enet_coordinate_descent関数 を呼んでおり、数値最適化はLASSO(ElasticNetで片方の係数を0にしたもの)に任されている。
どうやら元論文の実装(LASSO最適化を行う)をそのまま落とし込んだようで、ソフトしきい値作用素は一切出てこない。。。 githubで探してみても同様の実装が多数。
いや、各 \(\beta_{i}\) の最適化は座標降下法だから、むしろそれが正しいのか。
いずれにしても簡単そうに見えるから実装してみるか。アルゴリズムを紙にまとめてみた。やってみよう。