Pseudo Theory of Everything

データサイエンス初心者物理学徒の奮闘記

わしの思うリッジ回帰(L2正則化)と正則化法。

 

1 はじめに

最近、我々+数名でスパースモデリングという分野を勉強しています。詳細はまた別の記事にて紹介するにして、今回はスパースモデリングの前段階に当たる リッジ回帰(ridge regresion) に脚光を当てます1
読者には釈迦に説法かもしれませんが、リッジ回帰は L2 正則化とも呼ばれ機械学習の中でも非常にスタンダードな概念の一つになっています。しかし専門的に正則化法を扱ってみて、案外知らなかったことを知れたのでまとめました。
まず、リッジ回帰での損失関数は以下のような式で記述されます。

\begin{align} E = (y - X \vec{w})^2 + \alpha \vec{w}^T \vec{w} \end{align}

上記の損失を最小化するように係数の重みベクトル \(\vec{w}\) を推定します。解析的には \(\vec{w}\) について微分をしたものが \(0\) となる係数の重みベクトルを見つける最適化問題です。通常の正則化法を用いない回帰の場合は \(\alpha = 0\) の損失を考えることになります。通常の回帰問題から見ると、右辺の第2項は罰則項と呼ばれる項にあたります。上記の最適化問題の結果、

\begin{align} \vec{\hat{w}} = (X^T X + \alpha I)^{-1} X^T \vec{y} \end{align}

がリッジ回帰の解として得られます。ここまでは多くの技術ブログや本に載っています。しかし、「過学習が防げるようになります」等の大義名分のもと、「やってみた」になるわけですが、「いやいや、何で罰則項入れただけで過学習が抑えられるん?そもそも何で罰則項にこの形で重み自身を追加されるん?」って思っていました。

本編ではそれにお答えしましょう。以下のことが分かるようになります。

  • リッジ回帰の罰則項は、なぜあの形で導入されるのか
  • 汎化性能を上げるためとの理解があるが、それは本当なのか
  • 何で 正則化 と呼ばれるのか

上記の事柄を理解するために下記について順を追って説明していきます。

  1. 線形回帰モデルのおさらい
  2. リッジ回帰の自然な導出
  3. 正則化たる所以

「線形回帰モデルは流石に知っているよ!!」という方は次章にて一般的なことしか書かれていないので、飛ばしてもらっても問題ないと思います。ぜひ「リッジ回帰くらい知っているよ!!」という方にも、線形回帰モデルの章以降は読んでもらいたいです。ググってもあまり出てこないし、しっかり理解している方はそこまで多く無いのではないかと思っています。
(「正則化法」でググって最初のページに出てくるようになりたいなー……。)

続きを読む

グラフの中心でAIを叫んだノード(なおAIは出ない) 〜あるいはnode2vecに至るグラフ理論〜

 

1 イントロダクション

本記事を読む前に、本章を読んでください。書いていくごとに、とにかくボリュームが多くなりました。
本章では「グラフとは何か?」と「本記事で扱うこと・扱わないこと」をまとめています。非常にボリューミーなので、自身の必要な知識・不要な知識を取捨選択して読んでいただくことをお勧めします。

1.1 そもそもグラフ理論とは

まず第一に、 グラフ理論は図示とは全く別のもの です。
恥ずかしながら、ある勉強会でグラフ理論のタイトルで話す登壇者の方がいて「より良い図示の方法をまとめたトークかなにかかな。」と思っていました(無事、話を聞いて「あぁ、そっちね。」となりました)。
本ブログの著者ふたりとも物理出身の門外漢故広い心で見守ってくれればと思います。

グラフ理論とは相互に関係し合うネットワークを数学的に扱う一学問です。

下記のようなシンプルなグラフネットワークの例を考えます。例えばECサイトにおいてユーザーが商品ページを閲覧します。その際の商品をノードに、ページ遷移をエッジとしてグラフを構築します。

f:id:pseudo-theory-of-everything:20190703212114p:plain
Figure 1: グラフの例

例えば、上記グラフで商品 \(u_2\) を閲覧したユーザーは、商品 \(u_1,\ u_3,\ u_7\) に遷移するエッジ(学習データとしてのユーザーの閲覧履歴)が存在します。集計ベースの共起確率に基づく商品レコメンドでは、商品 \(u_2\) を見ているユーザーには商品 \(u_1,\ u_3,\ u_7\) ばかりがオススメされることになります。ですが、グラフ理論に基づきネットワークを考慮すると商品 \(u_1,\ u_7\) を見ているユーザーは共通して商品 \(u_8\) を閲覧しているので、商品 \(u_8\) も 見えないエッジ としてレコメンドすることができるようになるわけです。

このような集計ベースではできないニュアンスが表現できるグラフ理論に可能性を感じ勉強を始めた次第です。

次章にて数学的なグラフの扱いについて解説します。続く章では、グラフの機械学習を用いたアプローチを紹介します。

続きを読む