一般化線形モデル(GLM)とニューラルネットって一緒やんね (1)

ちょっと乱暴な気もしますが、一般線形化モデル(GLM)とニューラルネットの多層パーセプトロンってやってること一緒なんですよね。
バラバラっと散らばったデータの中に、納得感ある線をバチっとひいちゃうわけで。
両方の分野をやる方も多いかと思いますが、一気に理解しちゃった方が楽かなと。


で統計モデリングと識別関数のそれぞれで、
・線形モデル(LM)で、どんなデータの中でも直線でびゅんと線を引くのはいかがなもんか。
 →一般化(GLM化)することで、非線形な線もひけるようにしよう。
 ※もちろん一般化には応答変数の分布を正規分布から拡張する意味もあります
・単純パーセプトロンは線形判別可能(直線で境界が引ける)なデータしか分類できない。
 →隠れ層(中間層)作って複雑な識別関数で分類しよう。
って感じの拡張をしました。




統計モデリングの観点から:一般化線形モデル(GLM)

線形モデル(LinearModel)や一般線形化モデル(Generalized Linear Model)については、
こちらに統計解勉強会の資料をまとめて下さっていて、かなりわかりやすいのです。

統計勉強会の資料~二日目 一般化線形モデル編~ | 統計基礎 | Logics of Blue


で、線形モデル、単回帰や重回帰モデルを一般的に書き表すと、

{ \displaystyle
y_i = \alpha + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_3 … + \beta_i x_i + \varepsilon_i
}

行列で書き表すと、




\begin{equation}

\left(
    \begin{array}{c}
      y_1 \\
      y_2 \\
・  \\
・  \\
      y_n
    \end{array} 

\right)

=

\left(

 \begin{array}{ccc}
      1 & x_{11} & x_{12} \\
      1 & x_{12} & x_{22} \\
 ・ &  ・ & ・ \\
  ・ &  ・ & ・ \\
      1 & x_{n1} & x_{n2}
    \end{array}
\right)

\left(
   \begin{array}{c}
     \alpha \\
     \beta_1 \\
     ・ \\
      ・ \\
     \beta_n 
    \end{array}
\right)

+

\left(
   \begin{array}{c}
     \varepsilon_1 \\
     \varepsilon_2 \\
     ・ \\
      ・ \\
     \varepsilon_n 
    \end{array}
\right)


\end{equation}


さらに


y = B X + \epsilon

とも書けます。
今回は話を単純にするために説明変量数を2とした、


y = \beta_1 x_1 + \beta_2 x_2 = BX

について考えます。

次に上記式から直線かつ正規分布のみを想定するという制約を外すために、
回帰式左辺にリンク関数を使います。
ベルヌーイ分布を想定してロジットリンク関数を使うと、



\log \frac{y}{1-y} = \beta_1 x_1 + \beta_2 x_2


左辺がリンク関数、右辺が線形予測子ですね。
この式を逆関数で変換すると、



  y = \frac{1}{1+exp(-(\beta_1 x_1 + \beta_2 x_2))} = \frac{1}{1+exp(-BX)}
(1)


を得ることができます。

統計モデリングではこの後、尤度関数などを用いてパラメータ\beta_1 , \beta_2 を推定してモデルを作り上げる=データの中に線を引きます。

長くなってきましたので、続きは次回記事で。