ラビットチャレンジ_機械学習2
・非線形回帰モデル
・教師あり学習の1つで、予測問題を解く際に使用する。
・線形回帰との違いは、モデルのxがφ(x)に変わったもの
⇒φ(x):基底関数とよぶ。例:sin(x) cos(x) logx ガウス型基底など
※xがφ(x)に変化しても学習するパラメーターωは線形
・未学習:学習データに対して、十分小さな誤差が得られないモデル
対策:モデルの改良が必要
・過学習:小さな誤差は得られたが、テスト集合誤差との差が大きいモデル
対策:学習データの数を増やす←困難
不要な基底関数を削除して表現力を抑止←困難
正則化法を利用して表現力を抑止←★よく使う
・正則化法:モデルの複雑さに伴って、その値が大きくなる
正則化項(罰則化項)を課した関数を最小化する方法
正則化項の役割
・無し:最小二乗法
・L1ノルムを利用:Ridge推定量
・L2ノルムを利用:Lasso推定量 ←パラメータが0になりやすい
※L1ノルム:マンハッタン距離 L2ノルム:ユークリッド距離
・汎化性能
・訓練誤差とテスト誤差には基本的に同じ関数を使用する
・テストデータの分け方
・ホールドアウト法:学習用とテスト用の2つに分ける
⇒大量にデータがない場合は、NG
・交差検証法:学習用とテスト用に分割し、全パターンで精度を計測
全パターンの平均をCV値と呼ぶ(汎化性能)
⇒大量のデータが準備できない場合に使用する(基本こっちを使用)
・ハイパーパラメーターの決め方
・グリッドサーチ:全てのチューニングパラメーターの組み合わせで
評価値を算出する
※ニューラルネットでは「ベイズ最適化」を利用している
演習
データ:z = 1-48*x+218*x**2-315*x**3+145*x**4
⇒上記の式にノイズを加えたもの
このデータに対して線形回帰を行った場合
結果:スコア0.243とモデルとしてよくないことが分かる
このデータに対して非線形回帰(ガウスカーネルモデル)を行った場合
結果:スコア0.863と線形回帰と比較しまあまあ予測できるモデルに改善
できたことが分かる
この記事が気に入ったらサポートをしてみませんか?