NTU Li Hongyi Machine Learning 2020研究ノート(2):回帰とオーバーフィッティング

序文


        回帰モデルの出力値は数値です。株価予測、PM2.5予測、自動運転でのステアリングホイール角度予測、ポケモンの進化後のCP値予測は、すべてそのアプリケーションの例です。コースの先生は、いつものポケモンをデモンストレーションとして使っています。特定の範囲内では、モデルの複雑さを増すとモデルのパフォーマンスが向上しますが、この範囲を超えると過剰適合になります。正則化により、過剰適合の可能性を減らすことができます。


線形回帰


        この回帰の目的は、関数を見つけることです。進化の前にポケモンの属性値(タイプ、重量、CP値など)を入力し、進化したCP値をより正確に予測できます(PPT先生から引用した画像)

                                                      

  • 線形モデル

        線形モデル、つまり関数は線形であり、統一式は次のとおりです。ここで、xは入力、つまりその特徴、wは重み、bはバイアスです。

                                                                                          

        すべての入力xが行列Xにスタックされる場合、すべてのwおよびYは列ベクトルWおよびYにスタックされます。次に、Xの各行の先頭に値1の要素を追加し、要素によってWを拡張すると、上記の式は次のようになります。

                                                                                                  

        ループを行列乗算で置き換えると、効率が向上します。入力が1つしかない場合、線形モデルは、よく知られている単項線形関数の一般式です。つまり、y = b + w   x cpです。これで10個のトレーニングデータがあり、画像はここから取得されます

                                                            

  • 損失関数

        損失関数は関数の関数であり、パラメーターの品質を測定するために使用されます。ここでは、二乗平均平方根誤差に似た関数L(w、b)を使用して、すべての予測された出力と正解の差の二乗の合計を表す線形回帰関数を最適化します。0.5を掛けると、導関数の後に2がオフセットされます。

                                                                     

        行列式: 

                                                                                        

  •  モデルトレーニング-最適な機能を見つける

        目標:損失関数を最小化する

        方法:勾配降下

        条件:Loss可微分

        1次元の状況での損失関数の図を次の図に示します(教師のPPTから引用)直感的には、位置(w0)で下がらなければならないという感覚です。w0での勾配(これは1次元の接線勾配でもあります)が負の場合は、wを増やすと損失が減少することを意味します。勾配が正の場合は、wを減らすと損失を減らすことができます。wの変化の方向が勾配値であることがわかります。逆なので、勾配降下式は勾配を減算します。

                                          

        勾配降下式:パラメーターを更新するためのステップサイズは、学習率と現在の勾配によって決定されます。nはn番目の反復を表します。

                                                                              

                                                                          

        L(w、b)式を取り込んだ後、次の結果が得られます。

                                                           

                                                           

        行列式:xの行数は差の数と等しいため、転置後にのみ乗算できます。

                                                                      

  • ローカルミニマル

            数学的な知識、微分可能な関数に基づいて、導関数がゼロである点は極値点であり、極値は局所的な概念です。勾配降下法を使用して損失関数を最小化すると、極小点に落ちる可能性があります。勾配がゼロであるため、パラメーターはそこに留まり、飛び出すにはいくつかの特別な方法が必要です。ただし、線形回帰の損失関数には極小値がないため、勾配降下法で検出されるのは大域的最小値です。(写真はコースPPTから引用)

       

  •  結果と予測

            トレーニング後、トレーニングセットのエラーは31.9、テストセットのエラーは35.0です。(写真はコースPPTから引用)

                 


オーバーフィッティング


        トレーニングセットのパフォーマンスは良好ですが、テストセットまたはアプリケーションのパフォーマンスの低下は、過剰適合のパフォーマンスです。過剰適合は、パラメーターが多すぎるか、データが少なすぎることが原因である可能性があります。直感的には、モデルが複雑すぎてトレーニングセットが小さすぎると、モデルはトレーニングセットを「記憶」し、「質問タイプを設定」するだけです。これは推論できません。つまり、汎化能力では不十分です。上記の場合、モデルパラメータを適切に増やすとより良い結果が得られますが、パラメータが多すぎるとオーバーフィットが発生します。次の図(コースPPTから引用)に示すように、1、2、3、4、5モデルをそれぞれ使用して上記のケースに基づいており、トレーニング後、テストセットでのパフォーマンス。パラメータが最初に増加するにつれて、テストセットでのモデルのパフォーマンスは向上しますが、モデルがより複雑になるにつれて、パフォーマンスはますます悪化します。モデルはできるだけ複雑ではありません。トレーニングセットのサイズに応じて適切なモデルを選択する必要があります。もちろん、正規化とドロップアウトにより、モデルの過剰適合の可能性を減らすことができます。

                      

                   


L2正則化(L2正則化)


        L2正則化は、wを罰し、損失関数に正規項を追加し、Lを最小化するときに、誤差とwの両方を考慮し、誤差を減らしながらwを少し減らすことです。wが小さい関数は滑らかで、入力の変化に対する感度が低くなります。適切なλを選択すると、モデルの汎化能力が向上します。

        注:バイアスは関数の滑らかさに影響しないため、正則化には関与しません。

                                                        


 参考資料 


         https://www.bilibili.com/video/BV1JE411g7XF?p=3

公開された28元の記事 ウォン称賛34 ビュー20000 +

おすすめ

転載: blog.csdn.net/sinat_35907936/article/details/105075712