2018年03月19日

統計学が最強の学問である[数学編]

本日は西内 啓 氏の
統計学が最強の学問である[数学編]
です。
統計学が最強の学問である[数学編]――データ分析と機械学習のための新しい教科書

本書は著者の大ヒットシリーズ統計学が最強の学問である
の数学編になります。

まず、本書では統計学だけではなく、
機械学習の基礎となる数学をテーマとしています。
これは、機械学習と統計学の基礎となる数学は
よく似ているということにあります。

本書の読者は統計学による推定に興味がある
と思われますので、機械学習にも関心があることでしょう。
そういう意味でお得な一冊と言えます。

全体として500ページを超えている大作ですが、
それは計算過程を詳細に追い、
また文章で丁寧に解説しているところにあります。

逆に言えば、冗長とも言えますので、
ある程度理解できている部分については
ざっと読み流すくらいの感覚で良いでしょう。

本書では交換法則、結合法則などの中学生レベルの話から、
線形代数、ベクトルの偏微分など大学レベルまで扱います。
ですが、目的が統計、機械学習に絞られているため
効率的に必要な数学を学ぶことができます。


個人的には、
ニューラルネットワークは単に「変な関数のよい近似方法」
という部分が特に役立ちました。


機械学習や統計学を業務に利用する人は
とりあえず手元に置いておきたい一冊です。
数学でわからないことが出てきたときに
辞書的に使える一冊になるでしょう。




彼らがなぜ算数は得意で暗算も速いのに、
いつの間にか数学に苦手意識を持つようになったのでしょうか?
おそらく、この「抽象化」というプロセスのどこかで、
置いてけぼりにされたからではないかというのが
私の考えです。


高校までに習う命題の証明方法には、
大きく分けて次の4つの考え方があります。
1)証明したい命題と「同値」な命題が真であることを示す
2)証明したい命題を「包含」する命題が真であることを示す
3)証明したい命題の「対偶」が真であることを示す
4)証明したい命題が「偽」だとすると矛盾が生じることを示す


ロジスティック関数はこうした問題に対処するために、
「とんでもないマイナスの値からとんでもないプラスの値まで」
という回帰分析で考える数を、
「最小値が0で最大値が1」というダミー変数や割合の形に
変換してやるものだと言うことができるでしょう。


なぜネイピア数を使った指数関数や対数関数が
統計学や機械学習でつかわれるのかと言えば
「微分しやすいから」


「線形代数の記法に慣れているかどうか」
あるいは別の言い方をすれば
「線形代数の記法に恐れを抱かないかどうか」
というところだけが大きな境目だと言ってよいでしょう。


相関係数とは、x、y それぞれの平均値からのズレを
ベクトルとしたときに、
これらのベクトルのなす角のcosである。


経験的な相関係数の目安として
「0.7以上なら相関が強い」という記述が
さまざまな統計学の入門書の中には書かれていますが、
これを角度で考えた場合に
どのような解釈が成立するでしょうか?
(中略)
「ベクトルのなす角度が45度以内」


逆行列の計算は人間には面倒で、
コンピューターがとても役に立つ領域です。


線形代数では慣例的に、座標などと区別するためなのか
出てくるベクトルをふつう列ベクトルとして定義します。


微分とは何か、という話ですが、
一言で表現するならば、
「点で捉えた傾きを求めること」です。


尤度自体ではなく尤度の対数である「対数尤度」を考える、
というのが尤度法による推定を考えるための
定石になっています。


「尤度とはパラメータの値に応じた現実のデータが得られる確率」
「この尤度が最大となるパラメーターの値が一番もっともらしい」
「微分することでいつ尤度が最大になるかわかる」


・ガウスは「観測値の平均が良い推測の方法となるのなら誤差はこういう確率密度で生じているはず」との仮定から、そのような性質を満たす確率密度関数の1つとして正規分布を導出した。
・eを底とする指数関数の形をとるのは確率密度関数の対数に対する微分方程式に由来している。
・2πがどうこうという係数がかかっているのは、極座標に変換して積分を求めたら合計が1になるという計算過程で「θをぐるっと一周させる」というところに由来している。


変数の数だけ
「偏微分した結果のどちらの0になるように」
という連立方程式を考える、というやり方なら
平方完成よりもずいぶん簡単に、
誤差の2乗和が最も小さくなるような
単回帰分析の切片と傾き
すなわち回帰係数を推定することができるわけです。


線形代数の書き方でベクトルの偏微分という
考え方を理解していれば、
どれだけ変数が増えたとしてもシンプルに
その数理的な意味を理解することができるわけです。


データ間がどのような関係になっているかというモデルを考え、
勾配に基づいた繰り返し計算でいちばんもっともらしい
パラメータを探す


「脳神経を模した」「ディープな」モデルであっても、
実はこの非線形というところがなければ
ただの重回帰分析と全く変わりないものになってしまいます。


かつて1950〜60年代頃に人工知能の分野において
ニューラルネットワークという手法が生み出され
注目を浴びたあと、一度下火になった背景には
「結局のところ形だけ神経細胞を模しても線形的にしか物事を捉えていないじゃないか」
という失望があったそうです。
その後再びニューラルネットワークが
注目を集めるようになったのは、
今日では活性化関数と呼ばれる
「非線形な部分」を取り入れたためです。


曲線の重ね合わせを十分に行えば、
どんな複雑な関数であっても近似できる、
というのがニューラルネットワークの素晴らしいところです。.


ニューラルネットワークは
「人間の脳を模した謎のテクノロジー」などではなく、
単に「変な関数のよい近似方法」だということが
わかっていただけたかと思います。


ニューラルネットワーク特有の
パラメーター推定方法として、
バックプロパゲーション(誤差逆伝播法)
というものが考え出されました。
「誤差が神経細胞を模したユニットの間を逆方向に伝播していく」
などと言われるとSF的でかっこよい響きがありますが、
これも何ら「謎のテクノロジー」などではありません。
出力に近い側の重み側から順に
誤差関数に対する勾配を求めると、
入力側の勾配の計算が楽になりますよ、
というだけの話です。


ベクトルをベクトルで偏微分すると行列になる


データの中から単純で人間の頭で理解しやすい
関係性を発見してくることが、
統計学の仕事であるといえるでしょう。


同じWebマーケティングの世界であっても、
どのユーザーに今あるうちのどの広告を見せれば
クリックされる確率が最大化されるのか、
といったことが知りたければ機械学習を使って
「人間に仕組みがわからなくてもよいのでうまく最適化する」べきです。
一方で、「そもそもどんな広告を企画すべきか」と
いうことを考えたいのであれば、
「自分たちにとって優良顧客とそうでない顧客の違いはどういったところにあるのか」
というところを、統計学を使って
シンプルに解き明かした方がいいでしょう。


RとPythonのどこが一番違うのかと言えば、
前者が統計学のコミュニティから生まれたもので、
後者がコンピューターサイエンティストのコミュニティ
から生まれだものだ、と説明できるかもしれません。







engineer_takafumi at 22:55│Comments(0) ★理系本の書評 |  ⇒ 数学

コメントする

名前
 
  絵文字