狠狠撸

狠狠撸Share a Scribd company logo
Data-Intensive Text Processing
               with MapReduce
(Ch6 EM Algorithms for Text Processing, Part 1)

                      2010/10/17
                      shiumachi
                 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 6
EM 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 とする(次ページ参照)
●   「どのパスを通ったか」が観測できる場合は
    とっても簡単
p0


           p1        p2




図6.2 ビー玉ゲーム改
どのパスを通ったかを観測できる場合は簡単。
しかし、バスケットに入ったビー玉の数だけしか
観測できない場合どうするか?
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 !

More Related Content

Viewers also liked (19)

Decotai Shiumachi 091228
Decotai Shiumachi 091228Decotai Shiumachi 091228
Decotai Shiumachi 091228
Sho Shimauchi
?
Clarity Profile
Clarity ProfileClarity Profile
Clarity Profile
Rajesh Pandey
?
Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Programming Collective Intelligence 100131
Programming Collective Intelligence 100131
Sho Shimauchi
?
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
Sho Shimauchi
?
My Immortal
My ImmortalMy Immortal
My Immortal
MinuneMica Project
?
Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24
Sho Shimauchi
?
Hadoop summit 2012 report
Hadoop summit 2012 reportHadoop summit 2012 report
Hadoop summit 2012 report
Sho Shimauchi
?
Decotai Shiumachi 091206
Decotai Shiumachi 091206Decotai Shiumachi 091206
Decotai Shiumachi 091206
Sho Shimauchi
?
Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Programming Collective Intelligence 100111
Programming Collective Intelligence 100111
Sho Shimauchi
?
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_test
Sho Shimauchi
?
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
Sho Shimauchi
?
20分でわかる贬叠补蝉别
20分でわかる贬叠补蝉别20分でわかる贬叠补蝉别
20分でわかる贬叠补蝉别
Sho Shimauchi
?
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
Sho Shimauchi
?
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmer
Sho Shimauchi
?
Mantra Tara Verde
Mantra Tara VerdeMantra Tara Verde
Mantra Tara Verde
MinuneMica Project
?
浅野高等学校 2015年度 卒业生讲演
浅野高等学校 2015年度 卒业生讲演浅野高等学校 2015年度 卒业生讲演
浅野高等学校 2015年度 卒业生讲演
Sho Shimauchi
?
Decotai Shiumachi 091228
Decotai Shiumachi 091228Decotai Shiumachi 091228
Decotai Shiumachi 091228
Sho Shimauchi
?
Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Programming Collective Intelligence 100131
Programming Collective Intelligence 100131
Sho Shimauchi
?
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
Sho Shimauchi
?
Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24
Sho Shimauchi
?
Hadoop summit 2012 report
Hadoop summit 2012 reportHadoop summit 2012 report
Hadoop summit 2012 report
Sho Shimauchi
?
Decotai Shiumachi 091206
Decotai Shiumachi 091206Decotai Shiumachi 091206
Decotai Shiumachi 091206
Sho Shimauchi
?
Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Programming Collective Intelligence 100111
Programming Collective Intelligence 100111
Sho Shimauchi
?
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_test
Sho Shimauchi
?
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
Sho Shimauchi
?
20分でわかる贬叠补蝉别
20分でわかる贬叠补蝉别20分でわかる贬叠补蝉别
20分でわかる贬叠补蝉别
Sho Shimauchi
?
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
Sho Shimauchi
?
浅野高等学校 2015年度 卒业生讲演
浅野高等学校 2015年度 卒业生讲演浅野高等学校 2015年度 卒业生讲演
浅野高等学校 2015年度 卒业生讲演
Sho Shimauchi
?

Similar to Data-Intensive Text Processing with MapReduce ch6.1 (20)

パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
?
機械学習理論入門 3章 最尤推定法_遠藤
機械学習理論入門 3章 最尤推定法_遠藤機械学習理論入門 3章 最尤推定法_遠藤
機械学習理論入門 3章 最尤推定法_遠藤
Wataru Endo
?
効用最大化理论の観点から见る强化学习
効用最大化理论の観点から见る强化学习効用最大化理论の観点から见る强化学习
効用最大化理论の観点から见る强化学习
Kenta Ishii
?
データ解析5 単回帰分析
データ解析5 単回帰分析データ解析5 単回帰分析
データ解析5 単回帰分析
Hirotaka Hachiya
?
テ?ータ解析のための统计モテ?リンク?入门4章
テ?ータ解析のための统计モテ?リンク?入门4章テ?ータ解析のための统计モテ?リンク?入门4章
テ?ータ解析のための统计モテ?リンク?入门4章
Hirofumi Tsuruta
?
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
?
Analyze by StatsModels or Numpy
Analyze by StatsModels or NumpyAnalyze by StatsModels or Numpy
Analyze by StatsModels or Numpy
Toshiki NOGUCHI
?
笔搁惭尝轮読#12
笔搁惭尝轮読#12笔搁惭尝轮読#12
笔搁惭尝轮読#12
matsuolab
?
Machine Learning Fundamentals IEEE
Machine Learning Fundamentals IEEEMachine Learning Fundamentals IEEE
Machine Learning Fundamentals IEEE
Antonio Tejero de Pablos
?
[The Elements of Statistical Learning]Chapter18: High Dimensional Problems
[The Elements of Statistical Learning]Chapter18: High Dimensional Problems[The Elements of Statistical Learning]Chapter18: High Dimensional Problems
[The Elements of Statistical Learning]Chapter18: High Dimensional Problems
Yu Otsuka
?
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
Kensuke Otsuki
?
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎
Deep Learning JP
?
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
Kazuya Nishina
?
エンジニアのための机械学习の基础
エンジニアのための机械学习の基础エンジニアのための机械学习の基础
エンジニアのための机械学习の基础
Daiyu Hatakeyama
?
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
Shunsuke Nakamura
?
カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足
ke beck
?
笔测迟丑辞苍による机械学习
笔测迟丑辞苍による机械学习笔测迟丑辞苍による机械学习
笔测迟丑辞苍による机械学习
Kimikazu Kato
?
公平性を保証した础滨/机械学习?アルゴリズムの最新理论
公平性を保証した础滨/机械学习?アルゴリズムの最新理论公平性を保証した础滨/机械学习?アルゴリズムの最新理论
公平性を保証した础滨/机械学习?アルゴリズムの最新理论
Kazuto Fukuchi
?
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
?
機械学習理論入門 3章 最尤推定法_遠藤
機械学習理論入門 3章 最尤推定法_遠藤機械学習理論入門 3章 最尤推定法_遠藤
機械学習理論入門 3章 最尤推定法_遠藤
Wataru Endo
?
効用最大化理论の観点から见る强化学习
効用最大化理论の観点から见る强化学习効用最大化理论の観点から见る强化学习
効用最大化理论の観点から见る强化学习
Kenta Ishii
?
データ解析5 単回帰分析
データ解析5 単回帰分析データ解析5 単回帰分析
データ解析5 単回帰分析
Hirotaka Hachiya
?
テ?ータ解析のための统计モテ?リンク?入门4章
テ?ータ解析のための统计モテ?リンク?入门4章テ?ータ解析のための统计モテ?リンク?入门4章
テ?ータ解析のための统计モテ?リンク?入门4章
Hirofumi Tsuruta
?
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
?
Analyze by StatsModels or Numpy
Analyze by StatsModels or NumpyAnalyze by StatsModels or Numpy
Analyze by StatsModels or Numpy
Toshiki NOGUCHI
?
笔搁惭尝轮読#12
笔搁惭尝轮読#12笔搁惭尝轮読#12
笔搁惭尝轮読#12
matsuolab
?
[The Elements of Statistical Learning]Chapter18: High Dimensional Problems
[The Elements of Statistical Learning]Chapter18: High Dimensional Problems[The Elements of Statistical Learning]Chapter18: High Dimensional Problems
[The Elements of Statistical Learning]Chapter18: High Dimensional Problems
Yu Otsuka
?
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~ディープラーニング入門 ~ 画像処理?自然言語処理について ~
ディープラーニング入門 ~ 画像処理?自然言語処理について ~
Kensuke Otsuki
?
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎
Deep Learning JP
?
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
Kazuya Nishina
?
エンジニアのための机械学习の基础
エンジニアのための机械学习の基础エンジニアのための机械学习の基础
エンジニアのための机械学习の基础
Daiyu Hatakeyama
?
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
Shunsuke Nakamura
?
カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足
ke beck
?
笔测迟丑辞苍による机械学习
笔测迟丑辞苍による机械学习笔测迟丑辞苍による机械学习
笔测迟丑辞苍による机械学习
Kimikazu Kato
?
公平性を保証した础滨/机械学习?アルゴリズムの最新理论
公平性を保証した础滨/机械学习?アルゴリズムの最新理论公平性を保証した础滨/机械学习?アルゴリズムの最新理论
公平性を保証した础滨/机械学习?アルゴリズムの最新理论
Kazuto Fukuchi
?

Data-Intensive Text Processing with MapReduce ch6.1

  • 1. Data-Intensive Text Processing with MapReduce (Ch6 EM Algorithms for Text Processing, Part 1) 2010/10/17 shiumachi http://d.hatena.ne.jp/shiumachi/ http://twitter.com/shiumachi http://www.facebook.com/sho.shimauchi
  • 2. 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の例
  • 3. Chapter 6 EM Algorithms for Text Processing 6章 テキスト処理のためのEMアルゴリズム
  • 5. テキスト処理の歴史 ● 1980年代の終わりまではルールベース ● 分析や変換のルールをひたすら人力で書く形式 ● ルールに当てはまればいいけど、推定が全くできな い ● 1990年から現代まではデータドリブンが主流 ● 訓練データを用いてパラメータ調整 – スパムフィルタとか ● やがて、アルゴリズム自体も訓練データで改善して いくように→機械学習の世界へ
  • 6. データドリブンの利点 ● 気が利く ● 訓練データにより徐々にアルゴリズムを修正できる ので、現実世界の複雑さに対応しやすい ● 安い ● 元のデータはこのシステムを作るために新しく生成 する必要がないことが多い – テキスト処理用の訓練データだったら、本やwebに既に 大量に存在している ● ルールベースだと毎回書き直す必要がある
  • 7. 統計モデル ● この章で扱うデータドリブンの手法は統計モデル ● 3つの課題がある ● モデル選択 – HMM(隠れマルコフモデル) ● パラメータ推定?学習 – 最尤推定とEMアルゴリズム ● デコーディング ● この章ではパラメータ推定がメインだが、デ コーディングにも触れる
  • 8. 記号の定義とか X : 入力データセット(観測可能) Y : 存在し得るアノテーションの集合 (アノテーションとはメタデータのようなもの) x ∈ X, y ∈ Y このとき与えられた x に対する y の確率を以下の 2通りで表記する Pr(x, y) … ジョイントモデル Pr(y | x) … コンディショナルモデル
  • 9. デコーディングの手法 与えられた x に対してPrの最大値をとる y を出す ジョイントモードで書くとこんな感じ いずれにせよ片っ端から計算すれば算出可能
  • 10. 機械学習の分類 ● 教師あり学習 ● “事前に与えられたデータをいわば「例題(=先生から の助言)」とみなして、それをガイドに学習(=デー タへの何らかのフィッティング)を行う” [5] ● 例) SVM, ナイーブベイズ ● 教師なし学習 ● “出力すべきものがあらかじめ決まっていないという点 で教師あり学習とは大きく異なる。 データの背後に存 在する本質的な構造を抽出するために用いられる” [6] ● 例) クラスタリング, 自己組織化マップ
  • 11. 教師あり学習 既に x と y の対応が分かっているデータセットを 訓練データとする Z = < <x1, y1>, <x2,y2> ...> ここで <xi, yi> ∈ X * Y この対応づけはマニュアルで行わなければいけな いため非常に大変
  • 12. 教師なし学習 x さえ用意しておけばOK Z = < x1, x2, x3 ...> ここで xi ∈ X 集合Yを定義して学習基準とモデル構造を作って おけば、事前にラベリングしていなくても学習で きる 教師なし学習アルゴリズムの一つ、EMアルゴリ ズム と MapReduce の相性がいいため、この本 ではEMアルゴリズムを取り扱う
  • 14. EMアルゴリズム ● "確率モデルのパラメータを最尤法に基づいて推定する手 法のひとつであり、 観測不可能な潜在変数に確率モデル が依存する場合に用いられる" [7] ● Eステップ、Mステップの繰り返しで処理を行う ● Eステップ ● 与えられたパラメータを元に、尤度関数の期待値を算出 ● Mステップ ● 期待値を最大化するパラメータを算出 ● このセクションでは、このEMアルゴリズムについて解説 する(MapReduce一切なし)
  • 16. 最尤推定(MLE) ● 与えられたデータ x に対し一番尤もらしいパラ メータ θ を推測する方法(式6.1) ● 例えばビー玉ゲーム(図6.1、次ページ)では、 ルールベースであれば物理モデルを作らなけれ ばいけないが、MLEであればどちらのバスケッ トに何回入ったかを観測するだけでいい
  • 18. 確率を出してみる 10回試行し、a に2回、b に8回入ったとする。 a に入る確率を p とすると、 Pr を最大にするときの p を出すには微分すれば いい
  • 19. 確率を出してみる(続き) 対数をとって微分するとこうなる これを解けば p = 0.2 とわかる。 さらに調べていけば、N回試行でaにN0回、bにN1回入ったときに 尤もらしい p は、p = N0 / (N0 + N1) ※ テキストの式は誤植
  • 21. ビー玉ゲーム改 ● バスケットを3つにし、段を1つ増やす ● 第1段で右に行く確率を p0, 第1段で左に行き、 第2段で右に行く確率を p1, 第1段?第2段とも に右に行く確率を p2 とする(次ページ参照) ● 「どのパスを通ったか」が観測できる場合は とっても簡単
  • 22. p0 p1 p2 図6.2 ビー玉ゲーム改 どのパスを通ったかを観測できる場合は簡単。 しかし、バスケットに入ったビー玉の数だけしか 観測できない場合どうするか?
  • 24. パスを観測できないとき ● 教師なし学習の出番 ● 部分的な情報だけで Pr を推定する ● Ys を全ての潜在変数 y の合計として前述の式 を書き直す ● ここでの y は x と同様インプット側のパラメータ であることに注意(最終的には求める値だが)
  • 25. 最尤値を求める ある観測値 x に対する Pr は、 全ての観測ベクトル x = <x1, x2 ...> に対する Pr は、 よって一番尤もらしいパラメータ θ は、
  • 27. EMアルゴリズムの解説 ● EMアルゴリズムは訓練データの周辺確率を増 加させていく一連のパラメータを求めるための 繰り返しアルゴリズム ● EMアルゴリズムは以下の式を保証する
  • 28. Eステップ 現在のパラメータに基づき、それぞれの観測値 x に対する y の事 後確率を求める このとき、x が集合 X に出てくる相対確率に基づき重み付けする この事後確率を q(X = x, Y = y; θ(i)) とする
  • 29. Mステップ Eステップで求めた qの分布における結合分布の確率の対数を最大 化する θ(i+1) を求める θ(i+1) による尤度は必ず θ(i) 以上になるということは証明されて るらしい(テキストではそこまで説明していない)
  • 31. ビー玉問題に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} について計算すると、
  • 34. 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