はじめに
機械学習(ディープラーニング含む)に触れたことがある人であれば、正則化という言葉を一度は耳にしたことがあるでしょう。英語ではregularizationと言います。
一般的には、機械学習において過学習を防ぐための手法であると説明されています。さらに、損失関数を含んだ数式とともに、L1正則化やL2正則化などの正則化の具体的手法についても紹介されていることが多いです。ただ、そもそも過学習についてや、正則化を使うとなぜ過学習を防ぐことができるのかについて、イメージとともに分かりやすく説明されているものをあまり見たことがありません。
この記事では、機械学習における正則化の意味をイメージとともに分かりやすく説明します。あくまでも正則化の意味のイメージを掴むための記事なので、数式はあえて書きません。
過学習とは?
正則化の説明の前に、過学習について説明します。
例として、部屋の広さからマンション価格を推定する問題を考えます。マンション価格には部屋の広さ以外にも場所、駅までの距離、築年数なども影響しますが、考えやすいように説明変数を部屋の広さ一つにしています。
そして、学習データが6件あり、グラフにプロットすると次のようになったとします。横軸が部屋の広さ、縦軸がマンション価格です。
ここで、正則化を使わずに線形回帰分析などでマンション価格を推定すると、回帰式は次のような形になり得ます。
ただ、この回帰式の形状は明らかにおかしいです。例えば、部屋の広さが狭い場合にマンション価格が極端に安くなっており、また、部屋の広さが広い方が値段が安くなっている箇所があります。
なぜ、回帰式がこのような形になったかと言うと、学習データに引きずられすぎているからです。言い換えると、学習データを過学習しているということです。つまり、過学習とは学習データを過剰に学習した結果、汎化能力に欠ける状態になっていることを意味します。
正則化を使うとどうなる?
正則化をうまく使うと、前記の回帰式の形状は次のようになります。「うまく」と書いたのは、正則化の中で使うパラメータを適切に設定する必要があるからです。
この回帰式の形は直感と一致する結果になっています。これより、正則化を使うことで過学習を防ぐことができたと言えるでしょう。
正則化について詳しくは説明しませんが、回帰式が複雑な形状になった場合にペナルティを設けることで、回帰式をなるべくシンプルな形状に保つというテクニックの一つだと考えて下さい。
最後に
本記事では、機械学習における正則化の意味をイメージとともに分かりやすく説明しました。正則化の具体的手法や数式を確認したい場合は、応用数理学会に掲載された過学習と正則化というチュートリアル論文をご覧下さい。正則化の具体的手法や数式が分かりやすく説明されています。