ノンパラメトリックベイズ入門 〜ベイジアンHMMの実装まで〜

Slides:



Advertisements
Similar presentations
ゲームプログラミング講習 第2章 関数の使い方
Advertisements

サービス管理責任者等研修テキスト 分野別講義    「アセスメントと        支援提供の基本姿勢」 <児童発達支援管理責任者> 平成27年10月1日.
ヒトの思考プロセスの解明を目的とするワーキングメモリの研究
第27講 オームの法則 電気抵抗の役割について知る オームの法則を使えるようにする 抵抗の温度変化を理解する 教科書P.223~226
コラッツ予想の変形について 東邦大学 理学部 情報科 白柳研究室 山中 陽子.
コンパイラ 第3回 字句解析 ― 決定性有限オートマトンの導出 ―
第5章 家計に関する統計 ー 経済統計 ー.
公共財 公共経済論 II no.3 麻生良文.
VTX alignment D2 浅野秀光 2011年12月15日  放射線研ミーティング.
冷却フランシウム原子を用いた 電子の永久電気双極子能率探索のための ルビジウム磁力計の研究
生命情報学 (8) スケールフリーネットワーク
前半戦 「史上最強」風 札上げクイズ.

認知症を理解し 環境の重要性について考える
フッ化ナトリウムによる洗口 2010・9・13 宮崎市郡東諸県郡薬剤師会 学校薬剤師  日高 華代子.
食品の安全性に関わる社会システム:総括 健康弱者 ハイリスク集団 HACCP (食肉処理場・食品工場) 農場でのQAP 一般的衛生管理
規制改革とは? ○規制改革の目的は、経済の活性化と雇用の創出によって、   活力ある経済社会の実現を図ることにあります。
地域保健対策検討会 に関する私見(保健所のあり方)
公共政策大学院 鈴木一人 第8回 専門化する政治 公共政策大学院 鈴木一人
医薬品ネット販売規制について 2012年5月31日 ケンコーコム株式会社.
平成26年8月27日(水) 大阪府 健康医療部 薬務課 医療機器グループ
平成26年度 呼吸器学会からの提案結果 (オレンジ色の部分が承認された提案) 新規提案 既収載の変更 免疫組織化学染色、免疫細胞化学染色
エナジードリンクの危険性 2015年6月23日 経営学部市場戦略学科MR3195稲沢珠依.
自動吸引は 在宅を変えるか 大分協和病院 院長         山本 真.
毎月レポート ビジネスの情報 (2016年7月号).
医療の歴史と将来 医療と医薬品産業 個人的経験 3. 「これからの医療を考える」 (1)医薬品の研究開発 -タクロリムスの歴史-
社会福祉調査論 第4講 2.社会調査の概要 11月2日.
2015年12月28日-2016年3月28日 掲載分.
2010度 民事訴訟法講義 補論 関西大学法学部教授 栗田 隆.
腫瘍学概論 埼玉医科大学国際医療センター 包括的がんセンター 緩和医療科/緩和ケアチーム 奈良林 至
“企業リスクへの考え方に変化を求められています。 トータルなリスクマネジメント・サービスをプロデュースします。“
情報漏えい 経済情報学科 E  西村 諭 E  釣 洋平.
金融班(ミクロ).
第11回 2009年12月16日 今日の資料=A4・4枚+解答用紙 期末試験:2月3日(水)N2教室
【ABL用語集】(あいうえお順) No 用語 解説 12 公正市場価格 13 債権 14 指名債権 15 事業収益資産 16 集合動産 17
基礎理論(3) 情報の非対称性と逆選択 公共政策論II No.3 麻生良文.
浜中 健児 昭和42年3月27日生まれ 東京都在住 株式会社ピー・アール・エフ 代表取締役 (学歴) 高 校:千葉県立東葛飾高校 卒業
COPYRIGHT(C) 2011 KYUSHU UNIVERSITY. ALL RIGHTS RESERVED
Blosxom による CMS 構築と SEO テクニック
記入例 JAWS DAYS 2015 – JOB BOARD 会社名 採用職種 営業職/技術職/その他( ) 仕事内容 待遇 募集数
ネットビジネスの 企業と特性 MR1127 まさ.
Future Technology活用による業務改革
ネットビジネス論(杉浦) 第8回 ネットビジネスと情報技術.
g741001 長谷川 嵩 g740796 迫村 光秋 g741000 西田 健太郎 g741147 小井出 真聡
自然独占 公共経済論 II no.5 麻生良文.
Autonomic Resource Provisioning for Cloud-Based Software
Webショップにおける webデザイン 12/6 08A1022 甲斐 広大.
物理的な位置情報を活用した仮想クラウドの構築
ハイブリッドクラウドを実現させるポイントと SCSKのOSSへの取組み
寺尾 敦 青山学院大学社会情報学部 第12回 情報デザイン(4) 情報の構造化と表現 寺尾 敦 青山学院大学社会情報学部
【1−1.開発計画 – 設計・開発計画】 システム開発計画にはシステム開発を効率的、効果的に実行する根拠(人員と経験、開発手順、開発・導入するシステム・アプリケーション・サービス等)を記述すること。 システム開発の開始から終了までの全体スケジュールを記載すること。 アプリケーション機能配置、ソフトウェア、インフラ構成、ネットワーク構成について概要を示すこと。
6 日本のコーポレート・ガバナンス 2008年度「企業論」 川端 望.
急成長する中国ソフトウェア産業 中国ソフトウェアと情報サービス産業の規模 総売上高は5年間で約5.3倍の成長
米国ユタ州LDS病院胸部心臓外科フェローの経験
公益社団法人日本青年会議所 関東地区埼玉ブロック協議会 JCの情熱(おもい)育成委員会 2011年度第1回全体委員会
次世代大学教育研究会のこれまでの活動 2005年度次世代大学教育研究大会 明治大学駿河台校舎リバティタワー9階1096教室
子どもの本の情報 大阪府内の協力書店の情報 こちらをクリック 大阪府内の公立図書館・図書室の情報
第2回産業調査 小島浩道.
〈起点〉を示す格助詞「を」と「から」の選択について
広東省民弁本科高校日語専業骨幹教師研修会 ①日本語の格助詞の使い分け ②動詞の自他受身の選択について   -日本語教育と中日カルチャーショックの観点から- 名古屋大学 杉村 泰.
■5Ahバッテリー使用報告 事例紹介/東【その1】 ■iphon4S(晴れの昼間/AM8-PM3) ◆約1時間で68%⇒100%
『ワタシが!!』『地域の仲間で!!』 市民が始める自然エネルギー!!
ポイントカードの未来形を形にした「MUJI Passport」
SAP NetWeaver を支える Microsoft テクノロジーの全貌 (Appendix)
ガイダンス(内業) 測量学実習 第1回.
Python超入門 久保 幹雄 東京海洋大学.
熱力学の基礎 丸山 茂夫 東京大学大学院 工学系研究科 機械工学専攻
京都民医連中央病院 CHDF学習推進委員会
資料2-④ ④下水道.
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
Presentation transcript:

ノンパラメトリックベイズ入門 〜ベイジアンHMMの実装まで〜 Graham Neubig 2010年11月8日

発表を聞いて分かること 実際にベイズ学習を使ったプログラムを実装するにはど うすれば良いか ○なぜベイズ学習が必要なのか 実際にベイズ学習を使ったプログラムを実装するにはど うすれば良いか ○なぜベイズ学習が必要なのか △確率過程やギブスサンプリングの基礎知識 ○ベイズ学習を使った教師なし品詞推定 ×ベイズ学習の細かい理論

ベイズ法の基礎知識

雨について 外国へ留学して、4日が経ったところで毎日雨が降って いる 毎日、雨が降る確率はどれぐらい? 観測データ X =雨、雨、雨、雨 パラメータ θ = P(雨) = ???

最尤推定の答え 雨が降った日数を全体の日数で割る P(雨) = θ = 4/4 = 100% 「今まで雨が毎日降っているので、これからも毎日降る でしょう!」 そんなバカな… 実際のシステムでも問題になる(スムージングなどで対 応)

最大事後確率(MAP)推定 日本で雨が降る確率は25%なので、外国もそれぐらい (事前知識=パラメータの事前分布P(θ)) ただ、たくさん降っているので日本より多いかもしれな い(観測データの尤度P(X|θ)) これらを組み合わせると事後確率が得られる: 事後確率が最も高くなるθを利用する: 𝑃 θ∣𝑋 ∝𝑃 𝑋∣θ 𝑃 θ 𝑃 雨 = θ ˆ = 𝑎𝑟𝑔𝑚𝑎𝑥 θ 𝑃 𝑋∣θ 𝑃 θ

ベイズ推定 MAP推定はθを一定に決める 「明日雨が降る確率は絶対これだ!」 砂漠でもたまたま4日間雨が降ることもある ベイズ学習は「θの可能な値を全部考慮する」 4日降るより40日降 った方が確信が持てる! 𝑃 雨 = ∫ θ 𝑃 𝑋∣θ 𝑃 θ 𝑑θ 40日 0日 4日

HMMモデル

今日の目的:教師なし品詞推定 入力:単語列X 行 ごと に 処理 を 行 う 出力:品詞にマッチするクラスタ列Y 1 2 3 1 3 4 5 1 2 3 1 3 4 5 1→名詞 2→接尾辞 3→助詞 4→動詞 5→語尾 行  ごと   に  処理 を  行  う 名詞 接尾辞 助詞 名詞 品詞 動詞 語尾

使用するモデル:HMM 品詞は隠れている状態 状態の遷移確率は 各状態から単語を生成する 状態が与えられた場合の生成確率は 1 2 3 1 𝑃 𝑇 𝑦 𝑖 ∣ 𝑦 𝑖−1 = θ 𝑇, 𝑦 𝑖 , 𝑦 𝑖−1 𝑃 𝐸 𝑥 𝑖 ∣ 𝑦 𝑖 = θ 𝐸, 𝑦 𝑖 , 𝑥 𝑖 PT(1|0) PT(2|1) PT(3|2) … 1 2 3 1 3 4 5 行   ごと に 処理 を 行 う PE(行|1) PE(こと|2) PE(に|3) …

教師ありマルコフモデル学習 コーパスを使って品詞遷移や単語/品詞組みを数える 最尤推定で遷移確率、生成確率を計算 行  ごと   に  処理 を  行  う 名詞 接尾辞 助詞 名詞 助詞 動詞 語尾 c(<s> 名詞) = 1 c(名詞 接尾辞) = 1 … c(名詞→行) = 1 c(接尾辞→ごと) = 1 … 最尤推定で遷移確率、生成確率を計算 PT(接尾辞|名詞) = c(名詞 接尾辞)/c(名詞) = 1/2 = 0.5 PT(行|名詞) = c(名詞→行)/c(名詞) = 1/2 = 0.5

教師なしHMM学習(最尤推定) モデルの遷移・生成確率をランダムに初期化 EMアルゴリズムで学習 E-step: 現在のモデルで、各文に対して品詞列の期待 値を計算する M-step: E-stepで計算された期待値を用いて、最尤推 定でモデルの確率を更新 P(s1=1)=0.5 P(s1=2)=0.1 … P(s2=1)=0.1 P(s2=2)=0.3 … … s1 s2 s3 s4 s5 s6 s7 行   ごと に 処理 を 行 う

HMMの最尤推定の問題点 ー局所解に陥りやすく、一回なったら脱出できない ー初期化に敏感 例えば、全部の単語が同じクラスと初期化した ら、ずっとそのまま ークラス数を予め選ばなければならない クラス数を自由にすると、全ての単語は個別のク ラスに振られる これは教師なし学習でよくある問題 クラス数小 クラス数大 学習データの尤度が低い 学習データの尤度が高い 簡潔(一般性がある) 複雑(一般性に欠ける)

ベイズ法の利点 最尤推定より極小解や初期値に頑健 陥ることもあるが、イタレーションを十分繰り返し たら脱出することができる クラス数を予め決めなくても良い ノンパラメトリックベイズという手法を利用するこ とで、モデルの大きさとバランスが取れる 実装は意外と簡単!

ベイジアンHMM

確率のスムージング 最尤推定で大きな問題になるのはゼロの確率 よくある手法として確率がゼロにならないようにスムー ジングを行う(例えば:加算スムージング) c(yi-1=N yi=P) = 30 c(yi-1=N yi=V) = 20 yi= P V N ADJ … PML(yi|yi-1=N)= 0.6 0.4 0 0 c(yi=N yi-1=P)=30+1 c(yi=N yi-1=V)=20+1 c(yi=N yi-1=N)=0+1 𝑃 𝑠𝑚𝑜𝑜𝑡ℎ 𝑦 𝑖 ∣ 𝑦 𝑖−1 = 𝑐 𝑦 𝑖−1 𝑦 𝑖 +γ 𝑐 𝑦 𝑖−1 +γ∗𝑆 (γ = 1) yi= P V N … PML(yi|yi-1=N)= 0.52 0.36 0.02 S=品詞の数 γ=定数

スムージングとベイズ 実は、この加算スムージングをベイズ学習の枠組みで 「ディリクレ過程による事前分布」と等価である! ディリクレ過程の理論は結構難しい… ここでは実装に重要な部分だけを紹介 参考: Teh, “Hierarchical Dirichlet Processes” Ghosh+ “Bayesian Nonparametrics” 加算スムージング ディリクレ過程 𝑐 𝑦 𝑖−1 𝑦 𝑖 +γ 𝑐 𝑦 𝑖−1 +γ∗𝑆 = 𝑐 𝑦 𝑖−1 𝑦 𝑖 +α∗ 𝑃 𝑏𝑎𝑠𝑒 𝑦 𝑖 𝑐 𝑦 𝑖−1 +α

ディリクレ過程の式 Pbase(yi)はディリクレ過程の基底測度(ここでは Pbase(yi)=1/S) P(yi|yi-1)が上記の式に従うことを以下の式で表すことも ある 𝑃 𝑦 𝑖 ∣ 𝑦 𝑖−1 =𝑁 = 𝑐 𝑦 𝑖−1 𝑦 𝑖 +α∗ 𝑃 𝑏𝑎𝑠𝑒, 𝑦 𝑖−1 =𝑁 𝑦 𝑖 𝑐 𝑦 𝑖−1 +α 𝑃 𝑦 𝑖 ∣ 𝑦 𝑖−1 ~𝐷𝑃 α, 𝑃 𝑏𝑎𝑠𝑒, 𝑦 𝑖−1 =𝑁

基底測度(base measure)とは データを見る前の確率の期待値 例えば、P(yi | yi-1=N)の期待値は? 基底測度を使って事前知識を組み込める 分からないけど、形容詞や接頭 辞の確率は小さいはず! データを見る前に何も言えな い!(一様分布)

ハイパーパラメータ αを選ぶことで、事前分布の影響力が調整できる 低いほどデータに影響される(0=最尤推定、∞=どれ だけデータがあっても事前分布から動かない) 点線=事前確率 実線=事後確率

ベイジアンHMMの構築 状態遷移確率と生成確率はディリクレ過程によるもの αEとαTを適当に選ぶ(実験して一番いいものを利用) Pbase,Tは一様分布? Pbase,Eは単語ユニグラム確率? 𝑃 𝐸 𝑥 𝑖 ∣ 𝑦 𝑖 ~𝐷𝑃 α 𝐸 , 𝑃 𝑏𝑎𝑠𝑒,𝐸 𝑃 𝑇 𝑦 𝑖 ∣ 𝑦 𝑖−1 ~𝐷𝑃 α 𝑇 , 𝑃 𝑏𝑎𝑠𝑒,𝑇

Bayesian HMMの学習 〜サンプリング〜

ベイジアンHMMの確率推定 パラメータの事後確率の分布を計算したい 実はディリクレ過程の場合は式にして解ける 「変分ベイズ」という方法でこのようにしている 積分を解くのがちょっと面倒 より複雑なモデルになるとできなくなる 代わりにサンプリングという方法を利用する 変分ベイズより遅いが、実装が簡単+より多くのモ デルで使える 𝑃 θ∣𝑋 ∝𝑃 𝑋∣θ 𝑃 θ

サンプリングの基本 ある確率分布にしたがって、サンプルを生成する 各品詞のサンプル数を数えて、確率を近似 サンプルの数を増やせば実際の分布に収束 実際の分布: P(名詞)=0.5 P(動詞)=0.3 P(助詞)=0.2 サンプル: 動詞 動詞 助詞 名詞 名詞 助詞 名詞 動詞 動詞 名詞 … P(名詞)= 4/10 = 0.4, P(動詞)= 4/10 = 0.4, P(助詞) = 2/10 = 0.2

具体的なアルゴリズム SampleOne(probs[]) z = sum(probs) remaining = rand(z) for each i in 1:probs.size remaining -= probs[i] if remaining <= 0 return i 確率の和を計算 [0,z)の一様分布に 従って乱数を生成 可能な確率をすべて考慮 現在の仮説の確率を引いて ゼロより小さくなった なら、サンプルのID を返す

ギブスサンプリング 2つの変数A,BがありP(A,B)をサンプリングしたい が…、P(A,B)自体からサンプルできない ただし、P(A|B)とP(B|A)からサンプルできる ギブスサンプリングでは、変数を一個ずつサンプルでき る 毎回: Aを固定して、P(B|A)からBをサンプルする Bを固定して、P(A|B)からAをサンプルする

ギブスサンプリングの例 親Aと子Bは買い物している、それぞれの性別は? P(母|娘) = 5/6 = 0.833 P(母|息子) = 5/8 = 0.625 P(娘|母) = 2/3 = 0.667 P(娘|父) = 2/5 = 0.4 初期状態:母/娘 Aをサンプル:P(母|娘)=0.833, 母を選んだ! Bをサンプル:P(娘|母)=0.667, 息子を選んだ!  c(母,息子)++ Aをサンプル:P(母|息子)=0.625, 母を選んだ! Bをサンプル:P(娘|母)=0.667, 娘を選んだ! c(母,娘)++ …

実際にやってみると 同時確率の式を手で解いてこの結果を確認できる

HMMにおけるギブスサンプリング HMMは品詞列Yは観測されていない変数とすると、一個 ずつサンプルできるということになる これだけサンプル 1 2 3 1 3 4 5 行   ごと に 処理 を 行 う

HMMにおけるギブスサンプリング あるタグに関わる確率 前のタグから遷移する確率:PT(yi|yi-1) 1 2 3 1 3 4 5 行   ごと に 処理 を 行 う あるタグに関わる確率 前のタグから遷移する確率:PT(yi|yi-1) 次のタグへ遷移する確率: PT(yi+1|yi) タグが単語を生成する確率:PE(xi|yi) この確率にしたがって各タグを順にサンプルしたら、教 師なしでHMMが学習できる

1つのタグをサンプルする アルゴリズム SampleTag(yi) c(yi-1 yi)--; c(yi yi+1)--; c(yi→xi)-- for each tag in S (品詞の集合) p[tag]=PE(tag|yi-1)*PE(yi+1|tag)*PT(xi|tag) yi = SampleOne(p) c(yi-1 yi)++; c(yi yi+1)++; c(yi→xi)++ いまのタグのカウント を削除する 可能なタグの確率を 計算(ディリクレ過程    の式で,p.17) 新しいタグを選ぶ そのタグを追加する

全てのタグを サンプルするアルゴリズム SampleCorpus() initialize Y randomly  for N iterations for each yi in the corpus SampleTag(yi) save parameters average parameters タグをランダムに初期化する Nイタレーション繰り返す 全てのタグをサンプルする θのサンプルを保存する θのサンプルの平均を取る

終わり! 意外と簡単! ただ、いくつかの難しいところがある 品詞の数をどうやって選ぶ? ハイパーパラメータαはどうやって選ぶ? 前向き後ろ向きアルゴリズム、EMなどしなくても良い ただし、前向き後ろ向きアルゴリズムを利用するとさらに 収束が早くなる(上級編) ただ、いくつかの難しいところがある 品詞の数をどうやって選ぶ? ハイパーパラメータαはどうやって選ぶ? 最尤推定によるEMなどと違って、尤度が単調増加す る保証はない→デバッグがちょっと難しい

品詞の数 今回の課題で手で選ぶ(学習データにある品詞の数) 課題のデータでは21個 ノンパラメトリックベイズの魅力の1つは予め品詞の数 を選ばなくても良いこと 次回の発表で扱う

ハイパーパラメータの選び方 αを選ぶ時に、αの効果を考えなければならない 小さいα(<0.1)を選べば、よりスパースな分布ができ 上がる 例えば、1つの単語がなるべく1つの品詞になる ように生成確率PEのαEを小さくする 自然言語処理で多くの分布はスパースなので、小さ いαが基本 実験で確認するのがベスト また、ハイパーパラメータ自体に事前分布をかけて自動 的に調整する手法もある(上級編)

バグ探し 頻度の引き算や足し算を行う関数を作り、負になった場 合に即時終了する プログラム終了時に全てのサンプルを削除し、全ての頻 度がゼロになることを確認する 尤度は必ずしも単調上昇しないが、一旦上がってから単 調減少すれば必ずバグが入っている 小さいデータでテストする 乱数生成器のシードを一定の値に設定する(srand)

課題と評価方法

課題 ベイジアンHMMによる品詞推定の教師なし学習を実装 学習データと評価スクリプトをお送りします

教師なし品詞推定の評価 教師なし学習はクラスに名前を付けることができない 教師あり: 教師なし: どうやって評価する? 教師なし学習はクラスに名前を付けることができない 教師あり: 教師なし: どうやって評価する? 行  ごと   に  処理 を  行  う 名詞 接尾辞 助詞 名詞 助詞 動詞 語尾 行  ごと   に  処理 を  行  う 1 2 3 1 3 4 5

品詞のマッピング ある教師なしクラス(1,2,3...,21)を、誤り率が最小とな るようにマッピングする 例えば、クラス0が割り当てられた単語の実際の品詞が 以下の通りであれば 動詞=3600 語尾=2679 助動詞=1581 名詞=932 … 一番頻度が大きい「動詞」のクラスにマッピングする このような評価をしてくれるスクリプトもデータと一緒 に送ります 目安として、50%を超えると動いていると言える

ノンパラメトリックとは? 「パラメータの数が決まっていない」 ここでは、パラメータの数は 遷移確率:S*S 生成確率:S*W 実はノンパラメトリックじゃない! ただ、品詞の数を決めなければノンパラメトリック 今日の課題が実装できたら後一歩 教師なし単語分割も 次回で触れる予定