MyEnigmaスマートフォン用の表示で見るMyEnigmaとあるエンジニアのブログです。Ridge正則化を解くサンプルコードについて紹介したいと思います。過学習を防ぐためのモデル回帰法の一つです。Wikipedia正則化についてとLassoとRidge。過学習が防げる場合があります。これはモデルパラメータがモデルの複雑さを表している場合、モデルの複雑さを減らすように回帰が行われるようになるためです。上記の式ではモデルパラメータの絶対値の和を最小化していますが、この正則化の方法をLasso正則化と呼び、モデルパラメータの二乗値の和を最小化する場合は、Ridge正則化と呼びます。最適化手法を使って解く必要があります。myenigma.hatenablog.comJuliaによるLasso正則化とRidge正則化最適化サンプルコード下記が、Juliaの最適化ライブラリであるJuMPを使ったLassoとRidge正則化サンプルコードです。myenigma.hatenablog.commyenigma.hatenablog.com下記のコードでは、sin関数をベースにした元データを5次関数で最小二乗法フィッティングしています。通常の最小二乗法と、Lasso正則化、Ridge正則化の3つ手法でフィッティングした結果を比較しました。今回の最適化では非線形最適化ライブラリであるIpoptを使いました。getvalue(ys)endmain1()上記のコードは下記のリポジトリでも公開しています。github.com上記のコードを実行すると下記のような結果が得られます。元データの偏りに引っ張られることが少なくなっていることがわかります。Supportersもしこの記事が参考になり、ブログをサポートしたいと思われた方は、こちらからよろしくお願いします。はてなブログProとあるエンジニアのブログです。Page月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。