google prediction apiを使う前に知っておきたい統計のはなし

18
Satoshi Tada 2014/4/6 GDG DevFest Japan 2014 Spring

Upload: pinmarcht-tada

Post on 24-May-2015

908 views

Category:

Data & Analytics


4 download

DESCRIPTION

2014/4/6 GDG DevFest 2014 Spring でのスライドです。「統計解析+機械学習+Prediction API 入門」というたかぎさんと合わせてのセッションの一部(前半)です。

TRANSCRIPT

Page 1: Google Prediction APIを使う前に知っておきたい統計のはなし

Satoshi Tada

2014/4/6 GDG DevFest Japan 2014 Spring

Page 2: Google Prediction APIを使う前に知っておきたい統計のはなし

たださとし

G+ : +たださとし

Tw : @pinmarch_t

Page 3: Google Prediction APIを使う前に知っておきたい統計のはなし

「Google Prediction APIを使えば機械学習でデータ

の予測してくれるらしいね、機械学習っていうくらいだから統計の知識なくても使えそうで便利だね!」

Page 4: Google Prediction APIを使う前に知っておきたい統計のはなし

「Google Prediction APIを使えば機械学習でデータ

の予測してくれるらしいね、機械学習っていうくらいだから統計の知識なくても使えそうで便利だね!」

(いやあ、統計は知ってた方がいいよ…)

Page 5: Google Prediction APIを使う前に知っておきたい統計のはなし

統計学について

機械学習について

(時間もないので)

ほぼ「数式を使わずに!」ご紹介

Page 6: Google Prediction APIを使う前に知っておきたい統計のはなし

歴史上「統計学」は大きく3つに分類ができる

記述統計学

推計統計学

ベイズ統計学

ベイズ統計学のみ「主観確率」という概念を持つ (主観確率客観確率)

ベイズ主義に対して頻度主義

Page 7: Google Prediction APIを使う前に知っておきたい統計のはなし

記述統計学(19~20世紀) ◦ 生物統計学が源流

◦ 収集した情報の基本統計量(平均・分散・標準偏差 etc.)

◦ 回帰、最小二乗法

◦ 確率論、確率分布(正規分布の概念)

推計統計学(20世紀前半~) ◦ 統計学的仮説検定法の出現

◦ 標本集団の情報から母集団の状態を推定

◦ 頻度主義 (Nを大きくしていけばある確率に落ち着く)

Page 8: Google Prediction APIを使う前に知っておきたい統計のはなし

ベイズ統計学(20世紀中ごろ~) ◦ 「母集団を前提としない」確率の計算

◦ ベイズの定理自体は18世紀に存在 (トーマス・ベイズ)

◦ 事後確率(条件付き確率)は事前確率から計算ができる

◦ ベイジアンフィルタに応用されている

機械学習との関連性

事前確率(分布) 事後確率(分布)

事象(観測データ)

Page 9: Google Prediction APIを使う前に知っておきたい統計のはなし

生物統計学

数理統計学 記述統計学 推計統計学

確率論

社会統計学

人口統計 (18世紀ごろ~)

(19世紀~)

ベイズ統計学 ベイズ理論

(20世紀~)

正規分布 誤差

推定 仮説検定

回帰

(16世紀ごろ~)

(アドルフ・ケトレー)

(フランシスコ・ゴルトン カール・ピアソン)

(フローレンス・ ナイチンゲール)

(ロナルド・フィッシャー エゴン・ピアソン, イェジ・ネイマン)

(フェーズ・パスカル ピエール・ド・ フェルマー)

(ピエール= シモン・ラプラス)

(カール・フリードリヒ・ ガウス)

(17世紀ごろ~)

(ブルーノ・デ・フィネッティ レオナルド・ジミー・サヴェッジ)

Page 10: Google Prediction APIを使う前に知っておきたい統計のはなし

機械学習ってなに ◦ センサやデータベースなどからある程度の数のサンプルデータ集合を入力して解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出し、アルゴリズムを発展させる。なおデータ集合を解析するので統計学との関連が深い。 (Wikipediaより)

訓練(training)を行う ◦ 訓練結果は必ずしもデータセットとはならない

(モデル式であれば、関数で表せられる)

◦ 訓練と実践(実動環境)が同一である必要はない

「抽出」をした結果を解釈するのは「(主に)人間」!

Page 11: Google Prediction APIを使う前に知っておきたい統計のはなし

機械学習には教師あり、教師なし学習がある

教師あり学習、教師なし学習 ◦ 違いは、手本となるデータの有無 ◦ 教師あり

回帰による予測

分類器による分類 etc.

◦ 教師なし 主成分分析による特徴抽出

クラスタリングによる分類 etc.

Page 12: Google Prediction APIを使う前に知っておきたい統計のはなし

教師なし ◦ 「前例」となるデータがないとき ◦ 単純にグループ分けをしたいとき

そこから何かを見出したい(人間が) 例1) (主成分分析→)クラスタリング→系統樹の作成 (生物系)

見出した何かを機械的に処理 例2) 主成分分析→パターン認識

教師あり ◦ 「次のデータ」について判定したいとき

モデルに当てはめて機械的に処理 例1) 回帰直線、SVM、ニューラルネットワークなど判別分析

例2) パターン認識

Page 13: Google Prediction APIを使う前に知っておきたい統計のはなし

例: 迷惑メールの判定 = ベイジアンフィルタの1つ プログラマのための数学勉強会 第18回(中村晃一氏) より

http://nineties.github.io/math-seminar/18.html

Page 14: Google Prediction APIを使う前に知っておきたい統計のはなし

「事前の確率が明らか」 ◦ 過去の全データ中の”通常”の割合(確率)

◦ 「連絡」が含まれるときの”通常”の割合(確率) etc.

「起こった現象」を「次の事前確率」として更新できる

例) 京都で20日晴れが続いた時の“明日が晴れの確率” ◦ 頻度主義で推定すると、「晴れ100%」となるが…

Page 15: Google Prediction APIを使う前に知っておきたい統計のはなし

「事前の確率が明らか」 ◦ 過去の全データ中の”通常”の割合(確率)

◦ 「連絡」が含まれるときの”通常”の割合(確率) etc.

「起こった現象」を「次の事前確率」として更新できる

例) 京都で20日晴れが続いた時の“明日が晴れの確率”

?%

?% ?%

常識的に考えて、「100%はないでしょ」 例えば、過去1000日の天気から

Page 16: Google Prediction APIを使う前に知っておきたい統計のはなし

ベイジアンネットワーク

隠れマルコフモデル(HMM) ◦ 確率過程の1つ、状態遷移を確率で表現できる

◦ 音声認識(波形処理)・ゲノム解析(テキストマイニング)で活躍

◦ 動的”ベイジアンネットワーク”の1つ

Page 17: Google Prediction APIを使う前に知っておきたい統計のはなし

記述統計学・推計統計学とベイズ統計学 ◦ 頻度主義 vs. ベイズ主義 という考え方の違い

機械学習 ◦ 教師ありと教師なしの学習

ベイズ統計学(ベイズ推定)を使った機械学習 ◦ スパムフィルタ ◦ 音声認識 ◦ テキストマイニング ◦ 異常(値)検知

Page 18: Google Prediction APIを使う前に知っておきたい統計のはなし

関東でたまに(月1回程度)もくもく会しています ◦ テーマは特に定めていません

◦ 「スリッパ」Facebookページ (https://www.facebook.com/slipperworld)