Data-Intensive Text Processing with MapReduce J. Lin & C. Dyer.
Data-Intensive Text Processing with MapReduce ch6.1
-
Upload
sho-shimauchi -
Category
Technology
-
view
1.686 -
download
4
description
Transcript of Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce
(Ch6 EM Algorithms for Text Processing, Part 1)
2010/10/17shiumachi
http://d.hatena.ne.jp/shiumachi/http://twitter.com/shiumachi
http://www.facebook.com/sho.shimauchi
Agenda
● 6章 テキスト処理のためのEMアルゴリズム● イントロダクション● 6.1 Expectation Maximization(期待値最大化)
– 6.1.1 最尤推定– 6.1.2 潜在変数つきビー玉ゲーム– 6.1.3 潜在変数つき最尤推定– 6.1.4 Expectation Maximization
– 6.1.5 EMの例
Chapter 6EM Algorithms for Text Processing
6章テキスト処理のためのEMアルゴリズム
イントロダクション
テキスト処理の歴史● 1980年代の終わりまではルールベース
● 分析や変換のルールをひたすら人力で書く形式● ルールに当てはまればいいけど、推定が全くできない
● 1990年から現代まではデータドリブンが主流● 訓練データを用いてパラメータ調整
– スパムフィルタとか● やがて、アルゴリズム自体も訓練データで改善して
→いくように 機械学習の世界へ
データドリブンの利点● 気が利く
● 訓練データにより徐々にアルゴリズムを修正できるので、現実世界の複雑さに対応しやすい
● 安い● 元のデータはこのシステムを作るために新しく生成する必要がないことが多い– テキスト処理用の訓練データだったら、本やwebに既に大量に存在している
● ルールベースだと毎回書き直す必要がある
統計モデル● この章で扱うデータドリブンの手法は統計モデル● 3つの課題がある
● モデル選択– HMM(隠れマルコフモデル)
● パラメータ推定・学習– 最尤推定とEMアルゴリズム
● デコーディング● この章ではパラメータ推定がメインだが、デコーディングにも触れる
記号の定義とか
X : 入力データセット(観測可能)
Y : 存在し得るアノテーションの集合(アノテーションとはメタデータのようなもの)
x X, y Y∈ ∈
このとき与えられた x に対する y の確率を以下の2通りで表記するPr(x, y) … ジョイントモデルPr(y | x) … コンディショナルモデル
デコーディングの手法
与えられた x に対してPr の最大値をとる y を出す
ジョイントモードで書くとこんな感じ
いずれにせよ片っ端から計算すれば算出可能
機械学習の分類● 教師あり学習
● “事前に与えられたデータをいわば「例題(=先生からの助言)」とみなして、それをガイドに学習(=デー
” タへの何らかのフィッティング)を行う [5]● 例) SVM, ナイーブベイズ
● 教師なし学習● “出力すべきものがあらかじめ決まっていないという点
で教師あり学習とは大きく異なる。 データの背後に存” 在する本質的な構造を抽出するために用いられる [6]
● 例) クラスタリング, 自己組織化マップ
教師あり学習
既に x と y の対応が分かっているデータセットを訓練データとするZ = < <x1, y1>, <x2,y2> ...>
ここで <xi, yi> X * Y∈
この対応づけはマニュアルで行わなければいけないため非常に大変
教師なし学習
x さえ用意しておけばOK
Z = < x1, x2, x3 ...> ここで xi X∈
集合Yを定義して学習基準とモデル構造を作っておけば、事前にラベリングしていなくても学習できる教師なし学習アルゴリズムの一つ、EMアルゴリ
ズム と MapReduce の相性がいいため、この本ではEMアルゴリズムを取り扱う
6.1 Expectation Maximization
EMアルゴリズム● "確率モデルのパラメータを最尤法に基づいて推定する手
法のひとつであり、 観測不可能な潜在変数に確率モデルが依存する場合に用いられる" [7]
● Eステップ、Mステップの繰り返しで処理を行う● Eステップ
● 与えられたパラメータを元に、尤度関数の期待値を算出● Mステップ
● 期待値を最大化するパラメータを算出● このセクションでは、このEMアルゴリズムについて解説する(MapReduce一切なし)
6.1.1 最尤推定
最尤推定(MLE)
● 与えられたデータ x に対し一番尤もらしいパラ メータ θ を推測する方法(式6.1)
● 例えばビー玉ゲーム(図6.1、次ページ)では、ルールベースであれば物理モデルを作らなければいけないが、MLEであればどちらのバスケットに何回入ったかを観測するだけでいい
図6.1 ビー玉ゲーム(単純バージョン)どちらにどれくらいの確率で入るかを調べる。ルールベースであれば、器具の長さや角度などの測定を行わなければいけないだろう。
確率を出してみる
10回試行し、a に2回、b に8回入ったとする。a に入る確率を p とすると、
Pr を最大にするときの p を出すには微分すればいい
確率を出してみる(続き)
対数をとって微分するとこうなる
これを解けば p = 0.2 とわかる。
さらに調べていけば、N回試行でaにN0回、bにN1回入ったときに 尤もらしい p は、p = N0 / (N0 + N1)
※ テキストの式は誤植
6.1.2 潜在変数つきビー玉ゲーム
ビー玉ゲーム改● バスケットを3つにし、段を1つ増やす● 第1 段で右に行く確率を p0, 第1段で左に行き、第2 段で右に行く確率を p1, 第1段・第2段とも
に右に行く確率を p2 とする(次ページ参照)
● 「どのパスを通ったか」が観測できる場合はとっても簡単
図6.2 ビー玉ゲーム改どのパスを通ったかを観測できる場合は簡単。しかし、バスケットに入ったビー玉の数だけしか観測できない場合どうするか?
p0
p2p1
6.1.3 潜在変数つき最尤推定
パスを観測できないとき● 教師なし学習の出番● 部分的な情報だけで Pr を推定する● Ys を全ての潜在変数 y の合計として前述の式を書き直す● ここでの y は x と同様インプット側のパラメータであることに注意(最終的には求める値だが)
最尤値を求める ある観測値 x に対する Pr は、
全ての観測ベクトル x = <x1, x2 ...> に対する Pr は、
よって一番尤もらしいパラメータ θ は、
6.1.4 Expectation Maximization
EMアルゴリズムの解説● EMアルゴリズムは訓練データの周辺確率を増加させていく一連のパラメータを求めるための繰り返しアルゴリズム
● EMアルゴリズムは以下の式を保証する
Eステップ 現在のパラメータに基づき、それぞれの観測値 x に対する y の事
後確率を求める
このとき、x が集合 X に出てくる相対確率に基づき重み付けする
この事後確率を q(X = x, Y = y; θ(i)) とする
MステップE ステップで求めた qの分布における結合分布の確率の対数を最大
化する θ(i+1) を求める
θ(i+1) による尤度は必ず θ(i) 以上になるということは証明されてるらしい(テキストではそこまで説明していない)
6.1.5 EMの例
ビー玉問題にEMを適用するx {a,b,c}, y {0,1,2,3} ∈ ∈ として EM アルゴリズムを適用する
まず x の相対頻度は、
図6.2 から、明らかに Pr(0|a)=1, Pr(3|c)=1 なので計算不要。
残りの y = {1,2} について計算すると、
Mステップで最大化
結局最適化すると、p は以下のようになる。
これは完全に観測できた場合と非常に似ている。
参考文献
1. Facebook has the world's largest Hadoop cluster!, Facebook has the world's largest Hadoop cluster!, http://hadoopblog.blogspot.com/2010/05/facebook-has-worlds-largest-hadoop.html
2. ユーティリティコンピューティング, wikipedia, http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%83%86%E3%82%A3%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0
3.Hadoop 第1版, Tom White, オライリー・ジャパン, 2009
4.Simple-9 – について解説 tsubosakaの日記, http://d.hatena.ne.jp/tsubosaka/20090810/1249915586
5.” ”教師あり学習 , wikipedia, http://ja.wikipedia.org/wiki/%E6%95%99%E5%B8%AB%E3%81%82%E3%82%8A%E5%AD%A6%E7%BF%92
6. “ ”教師なし学習 , wikipedia, http://ja.wikipedia.org/wiki/%E6%95%99%E5%B8%AB%E3%81%AA%E3%81%97%E5%AD%A6%E7%BF%92
7.”EM ”アルゴリズム , wikipedia, http://ja.wikipedia.org/wiki/EM%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
Thank you !