SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
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 !

Weitere ähnliche Inhalte

Andere mochten auch

Decotai Shiumachi 091228
Decotai Shiumachi 091228Decotai Shiumachi 091228
Decotai Shiumachi 091228Sho Shimauchi
 
Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Sho 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 ch4Sho Shimauchi
 
Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24Sho Shimauchi
 
Hadoop summit 2012 report
Hadoop summit 2012 reportHadoop summit 2012 report
Hadoop summit 2012 reportSho Shimauchi
 
Decotai Shiumachi 091206
Decotai Shiumachi 091206Decotai Shiumachi 091206
Decotai Shiumachi 091206Sho Shimauchi
 
Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Sho Shimauchi
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_testSho Shimauchi
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方Sho Shimauchi
 
20分でわかるHBase
20分でわかるHBase20分でわかるHBase
20分でわかるHBaseSho Shimauchi
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesSho Shimauchi
 
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmerSho Shimauchi
 
浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演Sho Shimauchi
 

Andere mochten auch (19)

Decotai Shiumachi 091228
Decotai Shiumachi 091228Decotai Shiumachi 091228
Decotai Shiumachi 091228
 
Clarity Profile
Clarity ProfileClarity Profile
Clarity Profile
 
Programming Collective Intelligence 100131
Programming Collective Intelligence 100131Programming Collective Intelligence 100131
Programming Collective Intelligence 100131
 
Incredere
IncredereIncredere
Incredere
 
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
 
My Immortal
My ImmortalMy Immortal
My Immortal
 
Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24Cloudera Impala #pyfes 2012.11.24
Cloudera Impala #pyfes 2012.11.24
 
Hadoop summit 2012 report
Hadoop summit 2012 reportHadoop summit 2012 report
Hadoop summit 2012 report
 
Decotai Shiumachi 091206
Decotai Shiumachi 091206Decotai Shiumachi 091206
Decotai Shiumachi 091206
 
Programming Collective Intelligence 100111
Programming Collective Intelligence 100111Programming Collective Intelligence 100111
Programming Collective Intelligence 100111
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_test
 
Calendar 2010
Calendar 2010Calendar 2010
Calendar 2010
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
 
20分でわかるHBase
20分でわかるHBase20分でわかるHBase
20分でわかるHBase
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
 
Hadoop for programmer
Hadoop for programmerHadoop for programmer
Hadoop for programmer
 
Mantra Tara Verde
Mantra Tara VerdeMantra Tara Verde
Mantra Tara Verde
 
Christmas Spirit in Romania
Christmas Spirit in RomaniaChristmas Spirit in Romania
Christmas Spirit in Romania
 
浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演浅野高等学校 2015年度 卒業生講演
浅野高等学校 2015年度 卒業生講演
 

Ähnlich wie Data-Intensive Text Processing with MapReduce ch6.1

パターン認識 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 NLPKoji Matsuda
 
Analyze by StatsModels or Numpy
Analyze by StatsModels or NumpyAnalyze by StatsModels or Numpy
Analyze by StatsModels or NumpyToshiki NOGUCHI
 
PRML輪読#12
PRML輪読#12PRML輪読#12
PRML輪読#12matsuolab
 
[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 ProblemsYu 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_100710Kazuya Nishina
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎Daiyu Hatakeyama
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7Shunsuke Nakamura
 
カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足ke beck
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習Kimikazu Kato
 
公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論Kazuto Fukuchi
 

Ähnlich wie Data-Intensive Text Processing with MapReduce ch6.1 (20)

パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
機械学習理論入門 3章 最尤推定法_遠藤
機械学習理論入門 3章 最尤推定法_遠藤機械学習理論入門 3章 最尤推定法_遠藤
機械学習理論入門 3章 最尤推定法_遠藤
 
効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習効用最大化理論の観点から見る強化学習
効用最大化理論の観点から見る強化学習
 
データ解析5 単回帰分析
データ解析5 単回帰分析データ解析5 単回帰分析
データ解析5 単回帰分析
 
データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章
 
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
 
Analyze by StatsModels or Numpy
Analyze by StatsModels or NumpyAnalyze by StatsModels or Numpy
Analyze by StatsModels or Numpy
 
PRML輪読#12
PRML輪読#12PRML輪読#12
PRML輪読#12
 
Machine Learning Fundamentals IEEE
Machine Learning Fundamentals IEEEMachine Learning Fundamentals IEEE
Machine Learning Fundamentals IEEE
 
[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
 
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
 
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎
 
Overview and Roadmap
Overview and RoadmapOverview and Roadmap
Overview and Roadmap
 
Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
 
Maeshori missing
Maeshori missingMaeshori missing
Maeshori missing
 
カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
 
公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論
 

Kürzlich hochgeladen

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 

Kürzlich hochgeladen (8)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 

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