マーケティング等々に関する勉強・解説ブログ。数式は使わずイメージで説明出来るよう心掛けていますが、時々暴走します。ディープラーニングTweet今日は、バイアスバリアンス分解の話をしようと思います。descentスポンサーリンクはじめに「バイアスバリアンス分解」と言う言葉を聞いて、皆さんは何を思い浮かべるでしょうか。古典的な統計学だけを勉強した人であれば、パラメータの推定量に関するMSEの分解を思い浮かべるかもしれません。機械学習から勉強した人であれば、トレーニングデータで評価した予測値と予測変数(目的変数)とのMSEを思い浮かべることでしょう。実は、後者のことを一般にバイアスバリアンス分解と呼び、前者はMSEをバイアスとバリアンスに分解できるだけの話で特に名前は与えられていない(と思われる)のですが、当然、両方MSEですし、やってることは同じなので、両方勉強している人であれば、そんなもの分けて議論することがナンセンスだともなることでしょう。躓きポイントじゃないかな〜と私は考えています。そこで今回の記事では、まずはじめに古典的な統計学で語られるところのMSEの分解とその理解について説明した上で、それとのモチベーションの違いに触れながら機械学習で語られるところのバイアスバリアンス分解について説明しようと思います。descentの話にも触れようと思います。古典的な統計学におけるMSEの分解パラメータの推定まずはじめに、古典的な統計学の目的を確認しておきましょう。統計学では、あるデータXの性質を'分布'という観点から考察したいというモチベーションから出発します。ここであるデータXの性質とは「期待値や分散の値」だけでなく、「Xに影響を与える変数は何か」なども含みます。データXの分布(当然この分布は仮定する)のパラメータを推定し、それを解釈、利用することでXの性質を述べたり、その述べた性質が妥当か検証したり、パラメータの値を使って予測したりといったことを行いたいわけです。仮定した分布のパラメータの値を、持っているデータを使ってうまく当てたいわけです。よって決まる分布を仮定します。何とか誤差が小さくなるようにパラメータの値を推定したい!と言う話になってきます。そこで、次のような評価方法Lを考えることになります。このLは神様しか知らない真の値と推定に用いる値との二乗誤差です。言うわけで古典的な統計学でMSEを用いる基本的なモチベーションとしては、あるデータXの性質をパラメータに置き換えて述べたいしかし、パラメータの値はわからないのでうまい推定量で推定したいうまい推定量とは何かを検討するにあたり、MSEで評価したいということになります。MSEの分解さて、MSEですが、推定量のバイアスと分散に分解することができます。推定したい真の値と、推定量の期待値の差です。それを示していきましょう。ここで、最後の項は期待値をとるとゼロになりますね。Xの期待値を考えていることに注目してください。よって、1項目はバイアスの二乗ですね。2項目は推定量の分散です。してMSEをバイアスと分散に分解することができました。ここまで見れば、例えば不偏推定量(バイアスが0の推定量)を考えるモチベーションもわかるかと思います。MSEを小さくしたいが、MSEは正確には分散とバイアスの二つの要因から成る。バイアスが0の推定量のクラスであればとにかく分散を小さくすることだけに注力すればいいので、考えやすいですね。モチベーション次第では、若干バイアスが生じてもそれ以上に分散を小さくできるような推定量があれば、不偏である必要もないですね。そんなことを考えることができるわけです。一般に機械学習と言われる手法では、上記の話とはモチベーションが少しだけ違います。パラメータには重きを置きません。目的変数を予測(分類)したい!!とにかく正確に予測したい!!というモチベーションで話が進みます。いやいや、先ほどの統計学の説明でも予測はモチベーションの一つとしてあったじゃないかというのは当然の指摘ですが、先ほどの古典的な統計学のモチベーションのメインはとにかくパラメータにあります。その成果を使って予測を行うこともあるというだけです。古典的な統計学の文脈で良しとされる手法は、予測変数のMSEを出来うる限り小さくしているわけではないのです。機械学習でよしとされる手法は、パラメータのMSEを最小化しているわけではないのです。若干ミスリードの感があるので補足しておくと、これは、統計学は予測に興味がないといっている訳ではありません。統計学は予測に"も"興味はあるが、他のことにも興味があるため、パラメータ目線で話を進めることが多かったというだけです。そのため機械学習を予測に特化した統計学として解釈することも当然可能です。機械学習の話に戻ります。データXを使ってデータYの値を予測したいといった状況を考えることにしましょう。いうYを予測するための関数(予測器)を考えて、新しいXが与えられた時の'未知のY'を予測したいというのが機械学習のモチベーションです。予測したいYに対応するXを区別していることに注意してください。持っているデータは、答えであるYがもう分かっているのだから、わざわざ予測する必要なんてありません。わからないものを予測してこその予測器です。組をテストデータと呼びます。実はテストデータの二乗誤差を0にする方法は簡単で、パラメータの次元を増やす(モデルを複雑にする)ことで誤差0の理想のモデル(!?)が完成します。これには問題があってこのようにテストデータに対する誤差最小化モデルは、新しいデータに対する予測性能がありません。これは当然で、テストデータの二乗誤差を最小化するモデルを作っただけで、新しいデータに対する二乗誤差最小化モデルを考えていないからです。このようなテストデータにだけ過剰にフィットしている状況をオーバーフィットと呼んだりします。こんな図とともに説明されます。*1点線がテストデータで、横軸のcomplexityは複雑度ですが、とりあえずパラメータの次元だと思ってください。縦軸もRiskですが、今回の話で言うところの二乗誤差だと思ってもらえれば問題ないです。実線が新しいデータで見たものです。複雑度が増すと一定のラインを超えると、Riskが猛烈な勢いで増えています。すればオーバーフィッティングを回避できるのかというと、評価の基準をテストデータに関する二乗誤差ではなく、新しいデータに関する二乗誤差にしてやれば良い訳です。バイアスバリアンス分解それでは、MSEを考えましょう。予測器を作るにあたって用いるテストデータセットをDとして次のように書くことにします。このテストデータセットDを用いて作った予測器gを次のように書くことにします。作るにあたって得られたテストデータDの値を用いている(つまり、Dを条件付けたもとで得ている)ことを明示的に示すために、このような書き方をしています。テストデータとは区別して、データXが与えられた時に生じるであろう値Yをg(x)を使って予測したいので、次のような誤差Lを持って評価すれば良いことがわかりますね。ここで、Yは確率変数です。そのため、期待値をとって次のように考えてやる必要があります。xを条件づけた時のyの期待値を求めていることを表します。積分の形に直すと次のようなことを言っているのと同じです。実はもう一つ確率変数があります。Yを予測するにあたって、Xは固定なのですが、データセットDは固定していません。固定した訳じゃないのです。よって、こいつの期待値も取る必要がありますね。これが機械学習で考えているところのMSEです。式は一緒でも、考えているモチベーションが若干異なるため、このような形になる訳ですね。手順は先ほどと同様です。若干複雑ですが、中身をしっかりみてください。右の項はYの値によらずバイアスの二乗の形であることがわかりますね。続きの計算を行いましょう。右側の項をさらに分解しましょう。分解方法は今までの手順と同じです。機械学習モデルにおいては、しばしばこの式の第三項目をバイアスと呼んだりします。第二項目はバリアンス、そして第一項目はトレーニングデータセットと無関係なデータの分散です。この第一項目についてはトレーニングデータではどうしようもないので、いじれません。よって、予測においてはトレーニングデータとモデルを使っていじることが可能な第二、第三項が重要になります。まとめ結局、やっていることも、評価方法も同じであるということが分かっていただけたと思います。分析において評価したいものが違っていて、それは手法の背後にあるモチベーションからこそなのです。最新の統計学)におけるバイアスバリアンス分解なのです。descent先ほど、オーバーフィッティングで次のような図を確認しました。2018]によって確認されました。*2実は、もっとモデルの複雑度を増やすとまたRiskが減少し始めるらしい。descentと呼んだりします。これは、古典的な統計学の手法では、そもそもこの先がわかると言う状況がなかったので知られていなかったのですが、例えばニューラルネットワークなどを考えるとこのような状況が発生します。この仕組みはまだ完全に判明していないので、理屈を説明することが出来ないのですが、これは今注目を浴びているトピックで、テストデータでRMSEの谷を見るだけではどうやらダメらしいということで研究が進んでいる最中だったりします。07:00機械学習のバイアスバリアンス分解を古典的な統計学から丁寧に解説するTweet関連記事2019-08-04単純パーセプトロンとマージンに関するまとめ今日は単純パーセプトロンの話をします。実際の現場で役に立っ...2019-05-15統計検定1級対策解説~情報量基準編~今回はAICです。記事が続いていますね。統計検定の範...2018-11-20階層ベイズモデルとは~国ごとの犯罪件数のデータからグループ差を考えるモデル※すみません。専門にする大学院生がかいてます。経済学部出身の文系です。時々趣味や日々の生活についても書きます。専門以外のことに関しては、単なる自分のアウトプットのため、不正確な記述があります。勉強友達・勉強ブロガー友達等々も募集中なので、気軽にコメントとかしてください~。読者になるプライバシーポリシープライバシーポリシーお問い合わせお問い合わせフォーム注目記事スポンサーリンクオススメ記事www.bananarian.netはてなブログをはじめよう!bananarianさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。