1次関数で学習 5次関数で学習 15次関数で学習 訓練データ以外の データに関しては 予測精度が低下 T aI b = + 5 4 ... T aI bI = + + 15 14 ... T aI bI = + + 100 99 ... T aI bI = + + I T I T I T I T 100次関数で学習 訓練データに 対する誤差が0
最小二乗法 線形結合の関数や カーネル法による関数 リッジ回帰 線形結合の関数や カーネル法による関数 サポート ベクタ回帰 線形結合の関数や カーネル法による関数 ガウス 過程回帰 線形結合の関数や カーネル法による関数 勾配ブース ティング (XGBoostなど) 複数の回帰木の アンサンブル学習 ˆ y y − 2 2 ˆ E = − + y y w ˆ y y − 予測 正則化項 2 ˆ E = − y y 訓練データ ˆ y y − ( ) 2 ˆ E h = − + y y w ε-不感誤差 ( ) 1 1 cov − − = + y K I 共分散行列 ˆ y y − 2乗誤差や絶対誤差など 2 ˆ E = − y y
(参考) アイシア=ソリッド, ディープラーニングの世界 https://www.youtube.com/watch?v=Mw4j4yPsFtg ポイント①:深くすること⇒単純な関数の繰り返しで複雑な関数を表現 ( ) 2 2 1 y f x x = = − ( ) ( ) ( ) 8 128 ... y f f f x x = = + ( ) ( ) ( )2 2 4 2 2 1 1 8 ... y f f x x x = = − − = + x y x y x y x1 x2 x3 y z1 z2 z3 z4 x z y f(x) g(z) Ex) 単純な関数も 繰り返すと複雑に! 単純な関数を繰り返しているだけ ( ) 1 1 2 3 , , z f x x x =
(参考) アイシア=ソリッド, ディープラーニングの世界 https://www.youtube.com/watch?v=Mw4j4yPsFtg ポイント②:線形と非線形の融合⇒パラメータの数を抑える工夫 x1 x2 x3 y z1 z2 z3 z4 x z y f(x) g(z) 単純な関数を繰り返しているだけ 1次関数の合成:1次関数にしかならない 2次関数の合成:パラメータ数爆発 ⇒1次関数+単純な非線形関数を適用 1次関数 非線形関数 (活性化関数) ( ) ( ) 1 1 2 3 1 1 2 2 3 3 , , z f x x x a x a x a x b = = + + + 活性化関数の例 ReLU (Rectified Linear Unit) x (x) ( ) ( ) ( ) 0 0 0 x x x x = 0
◆ 変分オートエンコーダ(VAE: Variational Autoencoder) 入出力の再構成誤差の他に 潜在変数が標準正規分布に従うよう 学習させる手法 ◆ 敵対的生成ネットワーク(GAN: Generative Adversarial Network) 本物そっくりのデータを生成する生成器と データの真偽を識別する識別機が 競争的に学習する生成モデル x x’ Encoder Decoder x x’ Encoder Decoder z 潜在変数 ( ) ~ 0, z I N x x’ Discriminator Generator z 潜在変数 0/1