データ解析 - watanabe- ·...
TRANSCRIPT
データ解析
渡辺澄夫
第1回 モデルは真ではない
1 科目履修上の注意
この講義は選択科目です。
学部3年生以上のかたを想定しています。
数学と計算機科学が好きであることが履修のための条件です。
この科目を履修するために必要な前提知識 1
必須 集合と位相 線形代数 微分積分 確率論 数理統計学
自己チェック
○ コンパクト集合とは何ですか。○ 行列の固有値を求めるアルゴリズムを述べてください。○ 積分の変数変換でヤコービ行列式がなぜ必要ですか。○ 確率変数の定義を述べ、その意味を説明してください。○ 最尤推定量の定義を述べ、具体例をあげてください。
学部3年生以上の学力が必要になります。
これらの科目を履修したのと同等以上の学力が必要です。
この科目を履修するために必要な計算機技術 2
必須 計算機プログラムを使って確率系のシミュレーションを行えること
言語は例えば C, java, R, Python, matlab, …
自己チェック
q(x|a,σ2) を平均が a で分散が σ2 の正規分布の確率密度関数を表すものとする。確率密度関数
p(x) = (1/3) q(x|0,12) + (2/3) q(x|1,22)
に従う確率変数を発生するプログラムを作れ。
履修しようかどうか 検討中のみなさまに
世界には
「数学や計算機科学を学ばなくてもデータ解析はできます」
という意見もたくさんあります。しかしながら、この講義は、【数学や計算機科学の上で可能になるデータ解析】を学ぶためのものです。
☆ この講義は必修科目ではありません。☆ 情報理工学院、数理・計算科学系で開講されています。
数学や計算機科学が好きでない人は、本当にこの講義を履修したいのかどうか をもう一度よく考えてみてください。
2 データと人間
データと人間
データ
データと人間がある。
コンピュータやネットワークの発展のおかげで膨大なデータが得られるようになった。
人間は、何を目標にして何を行なうのだろうか。
人間さん
データ モデル 人間
データ
データそのものをよく見ることは大切だ。
統計モデル 人間さん
しかしデータを見ているだけではわからないことや気づかないこともある(注)。
そこで人間は統計モデルを作る。 統計モデルが必要だ。
(注) この講義では学びませんが、G.Chaitin が次のことを示しています。「例えばハードディスク上にある固定されたメモリが確率分布から生成されていないとしても、チューリングマシンを用いて情報圧縮するならば符号長を最小とする方法は確率分布を用いたものと漸近的に等価になる」。
データ解析とは何ですか
実世界 データ
モデルは実世界を知るために作られる。人間は実世界を直接に知ることはできないので、データとモデルを通して実世界を推測することになる。その作業のことを「データ解析」という。
今日、データの膨大化により、データ解析を主務とする業務が増大し「データサイエンティスト」や「機械学習エンジニア」という新しい仕事が生まれている・・・。
統計モデル
推測
最後の敵は「実世界」
確率分布 q(x)
確率変数
実世界(=情報源)が未知の確率分布 q(x) である場合を考えよう。人間は統計モデルを設定しデータを経由して情報源を推測する。モデルは仮説であり実世界ではない。推測された結果 p(x) はどの程度に q(x) を正しく推定しているのだろうか。この問題は数学的な普遍性を持っており、研究するためにはあらゆる現代数学が必要になる。
統計モデル
誤差
推測 p(x)
ラスボスです
モデルを作る=勇者
不明なものとの誤差が計算できるのか?
情報源
真の目標は何か
確率変数 X
データ解析 の真の目標は 未知の確率分布を推測すること である。
注意。たまたま得られたデータについて何かをすることに意味はない。○ プログラムをどのように作るかは真の目標ではない。○ 計算量を減らすことは真の目標ではない。○ 尤度を最大にすると返って真の目標から遠ざかる。
確率論では、確率空間を設定した上で確率変数の挙動を導出する。統計学では、確率変数の挙動から確率分布を推測する。完全には到達できない真の目標にぎりぎりまで迫る方法を問う。
統計モデル
未知の確率分布
統計的推測
3 この講義で学ぶこと
この講義で学ぶこと
1.回帰・判別分析
2.因子・主成分・クラスタ分析
3.時系列予測
4.ベイズ法・階層ベイズ法
5.統計的検定
6.モデルの評価法
7.深層学習
8.実世界
か弱い人間が苛酷な実世界を生き抜くために考え出した方法です。最近はパワーアップして機械学習に進化し産業や社会のありかたを変えるとまで言われています。
14
人工知能と呼ばれてます
Y=f(X)+N…
X1, X2, …, Xn
Y1, Y2, …, Yn
回帰・判別分析 = 教師あり学習
確率変数 (X,Y) のデータが得られたとき、XからYへの条件つき確率を推測する方法が回帰分析・判別分析である。認識・予測など応用が広い。簡単な問題なら線形回帰で解けることも多い。近年、脚光を浴びている深層学習やサポートベクタマシンは、この道の奥にある。
15
因子・主成分・クラスタ分析 = 教師なし学習
確率変数 X のデータが得られたとき、(Xに対するラベルYが与えられていなくても)、X の構造や潜在変数を取り出す方法が因子分析・主成分分析・クラスタ分析である。
構造や潜在変数を取り出す数理的な技法だけでなく、得られた構造や潜在変数が何を意味するかを考察する力量が必要になる。データサイエンティストへの第一歩。またトピックモデルなどもこの領域に属する。
データ 構造
月
値段
値段
学習データ赤:真青:学習結果
例:1970年1月から2013年12月までの白菜の値段「政府統計の総合窓口」のデータを使用しています。http://www.e-stat.go.jp/SG1/estat/eStatTopPortal.do
テストデータ赤:真青:予測
時系列予測
月
過去の時系列から未来を予測する。回帰分析とよく似ているが X が時間とともに変動する点が異なる。経済・金融などへの応用は多すぎるほどある。ずいぶん前から人間トレーダーは人工知能に及ばなくなっている。
17
統計モデルp(x|w)事前分布
φ(w|a)
ベイズ法・階層ベイズ法
データ x
パラメータ w
果物の特徴 x の確率分布を定めるパラメータ w は、果物が取れる地域により似ている点と異なる点がある。事前分布も含めてモデル化し推測しよう。現実のデータ解析で頻繁に現れる構造である。
長野県
青森県
台湾
フィリピン
18
統計的検定
これまでわが社の将棋ソフトは名人との対局で勝率が4割だった。このたび、わが精鋭チームが神経回路網を100億回自己対戦させ強化学習したところ、ついに名人との対戦で3勝2敗になった。わが社のソフトは本当に強くなったのだろうか。
真の確率分布がわかることのない実世界から得られたデータに対して、弱い人間はデータの解析を行なって何らかの推測を行なうがその推測はどの程度に正しいのだろうか。統計的検定では、実世界に対して仮説を作りデータの説明可能性を数量的に調べる。獲得した推論の正しさを数学的に吟味することは今日の機械学習でもっともおろそかにされているところであるが・・・。
統計モデルの評価法
データ(n=500) 多項式11次まで
真の確率空間がわかることのない実世界から得られたデータに対して、弱い人間は複数のモデルの候補を作り、複数の推測を行なうことができる。その中に実世界とぴったりと一致するモデルは存在しないが、最も適切なモデルはどれだろうか。そこで「適切さ」とは何に対する適切さだろうか。データ解析が「ただやってみただけ」とは違う客観性を持つにはどうしたらよいのか。数理科学によってもたらされた光である情報量規準を学ぼう。
現代から未来へ
今日ではデータの次元も個数も大きくなり、統計モデルも高度化しています。「機械学習」と呼ばれる分野では極めて大きな複雑さを持つモデルが使われます。この講義では、昔からあるデータ解析の方法が今日では機械学習による複雑なモデルに変化しつつある様子についても紹介します。
1960 1985 2015 2040
推定と検定
実世界
ベイズ法・階層ベイズ法
解析方法
時系列予測
回帰・判別分析評価法
因子・主成分・クラスタ分析
観測データ
統計的検定
旅の地図
4 基礎数学からの準備
23
確率空間
2年生のとき確率論で 確率空間 と 確率変数 を習いました。
確率空間 (Ω, B, Q) は次の三組からなる。
Ω:集合B: 「Ωの部分集合で確率が定義できるもの」全体の集合族Q: B から区間 [0,1] への関数
具体的には次のものを考えることが多い。Ω: 可算集合あるいは RN
B: Ωの開集合を含む最小の完全加法族
注意:測度論は数学基礎論として決して容易なものではありません。この講義では深刻に考えすぎないようにすること。この講義では非可測集合などの話は出てきません。
24
確率変数
確率空間 (Ω, B, Q) から集合(たとえばRN) への可測関数 X を確率変数という。X=X(ω)と書く。
RN の部分集合 A に対して 「X∈A」 となる確率を P(A) とかきP を X の確率分布という。P(A)=Q(X-1(A)) が成り立つ。
確率空間 (Ω, B, Q)RN
AX
ω X(ω)
25
どうして関数が確率変数なのか
注意:これ以後、基礎となる確率空間は忘れてよいが明記されなくても確率空間は常に仮定されている。
RN
確率空間 (Ω, B, Q)
Xω X(ω)X
【気持ち】 確率空間 (Ω, B, Q) が見えない状況では、関数 X の出力 X(w) は 「ランダムでないとはいえない」 。関数とその出力を同一視(混同)して 「確率変数」 と呼ぶ。
26
確率密度関数
確率変数 X の確率分布を P とする。RN の部分集合 A に対して
となるとき、 p(x) を X の確率密度関数という。
P(A)= ∫A p(x) dx
表記の注意. 確率変数 X の確率密度関数を p(x) と書き、確率変数 Y の確率密度関数を p(y) と書くことがある。普通は p(x) と p(y) はまったく関係のない関数である。
要するに、RN の中にランダムに値をとる変数 X が集合 A に入る確率が p(x) の積分で書けるということ。
27
実数上の確率密度関数
実数 x
p(x)
確率密度関数の性質
p(x) ≧ 0
∫ p(x) dx = 1
確率密度関数の例(1)
実数 x
p(x) = exp( - )1
2π
x2
2
p(x)
O
正規分布
29
確率密度関数の例(2)
実数 x
p(x) =
a b
1/(b-a) (a ≦ x ≦b)
0 (それ以外)
区間 [a,b] の一様分布という
p(x)
30
準備 集合の確率
実数 x
p(x)
「A の確率」
集合Aの確率
A
A= ∫ p(x) dx
31
例
実数0 1
密度関数
p(x) = 2x (0≦x≦1)
それ以外で0。
集合{ 0.5 ≦ x ≦ 0.7 } の確率 P は
P = ∫ 2x dx = 0.24 0.7
0.5
p(x)
32
練習問題①
x
p(x)
確率変数 X が次の密度関数を持つとする。
p(x) = ---------A
1+x2
(1) 定数 A を求めよ。
(2) 0≦X≦√3 となる確率を求めよ。
コーシー分布
33
ユークリッド空間上の確率変数
x
y
p(x,y)
O
多変数になるだけで同じ
p(x,y)
34
多次元の場合
「A の確率」
RN上の中の集合の確率
A= ∫ p(x1,・,・・・,xN) dx1 ・・・dxN
p(x,y) は (x,y) の組の起こりやすさを表す
⇒ 同時確率密度関数 という
35
練習問題②
R2上の確率変数 X が次の密度関数を持つとする。
p(x,y) = ---- exp( - -------- )1
Z
(1) 極座標表示 (r, θ) を用いて定数 Z を求めよ。
(2) 原点を中心とし半径 a の円に X が入る確率を a で表せ。
x2 + y2
2
5 深層学習の準備
ニューロンの応答関数
ニューロン
u
σ(u) = 1/(1+e-u) : シグモイド関数
u
σ( u )1
0
1/2
(注意)この形の関数に数学的な意味があるかどうかはわかっていない。最近ではReLu関数なども。
神経素子
x1 x2 x3 xM
w1 w2 w3wM
∑ wi xiM
i=1
σ( ∑ wi xi + θ) : 出力M
i=1
神経素子(ニューロン)
シナプス結合荷重
バイアスθ
1個の Neuron のモデル
(x1,…,xM) : 外界からの入力(w1,…wM, θ):パラメータ
深層学習のネットワーク
パラメータ wij, wjk, wkm , θk , θj , θi を学習により最適化する
x1 xm xM
o1 oi oN
oj
ok
H2
H1
N
M
oj=σ(∑wjkok+θj)H1
k=1
oi =σ(∑wijoj+θi)H2
j=1
中間層2から出力へ
中間層1から中間層2へ
ok=σ(∑wkmxm+θk)M
m=1
入力から中間層1へ
40
教師あり学習
神経回路網の答えと正しい答えの誤差は
Σ (yi-oi(x,w))2
誤差が小さくなるようにw を変えていく
入力 x
結合荷重 w
神経回路の出力 o(x,w)
教師データ y
誤差
x1 xm xM
o1 oi oN
oj
ok
H2
H1
N
M
y1 yi yN
41
データ解析と神経回路網
神経回路網の研究は既に50年以上の歴史を持つが特にここ10年ほどでデータ解析のあらゆる領域に応用されるようになった。
この講義はデータ解析について基礎的なことを述べていくがほとんどのデータ解析に神経回路網を応用することができ、かつ、大規模で複雑なデータ(音声、画像、自然言語)などでは神経回路網のほうが高精度であることが多いため、この講義でも神経回路網を用いる方法について紹介していくことにする。
42
練習問題③
次の条件を満たす関数 f(x) を求めよ。
df/dx = f (1-f),
f(0) = 1/2,
0<f(x)<1 (∀x∈R).