Your SlideShare is downloading. ×
0
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
OpenNLP - MEM and Perceptron
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

OpenNLP - MEM and Perceptron

1,948

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,948
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OpenNLPにおける最大エントロピー法とパーセプトロンによる機械学習関口宏司@ロンウイット
  • 2. OpenNLPの分類アルゴリ ズムopennlp.maxent 最大エントロピー法 多クラスロジスティック回帰opennlp.perceptron パーセプトロン Copyright © 2012 RONDHUIT All rights reserved
  • 3. 最大エントロピー法 問題解決 ゼロ頻度問題→スムージング パラメータ数の増大、訓練データの断片化 与えられた制約の下でエントロピーを最大化す るようなモデルを推定する 確率的言語モデルのパラメータ推定 訓練データ …………… …… …………… 標本 …… ……………確率的言語モデルのエントロピーを最大化 Copyright © 2012 RONDHUIT All rights reserved
  • 4. MEM: 英語-仏語翻訳の例英単語"in"に対応する仏語の単語またはフレーズの制約 p(dans)+p(en)+p(à)+p(au cours de)+p(pendant) = 1 ↓ p(dans)+p(en) = 3/10 p(dans)+p(en)+p(à)+p(au cours de)+p(pendant) = 1 ↓ p(dans)+p(en) = 3/10 p(dans)+p(en)+p(à)+p(au cours de)+p(pendant) = 1 Copyright © 2012 RONDHUIT All rights reserved p(dans)+p(à) = 1/2
  • 5. MEM以下の2つの問題に解答を与える 言語モデルの一様さをどのようにして測るか? 与えられた制約の下で、もっとも一様な言語モデ ルをどのようにして求めるか?与えられた制約を満たすモデルの中でエントロピーを最大にするモデルを解として与える Copyright © 2012 RONDHUIT All rights reserved
  • 6. MEM: 確率過程有限集合Yのメンバーyを生成する確率過程文脈の有限集合X全条件付き確率分布の集合P Copyright © 2012 RONDHUIT All rights reserved
  • 7. MEM: 訓練データ訓練データの収集経験的確率分布 C(x,y) : 訓練データ中にペア(x,y)が出現した回数 Copyright © 2012 RONDHUIT All rights reserved
  • 8. MEM: 素性関数と制約素性関数; 2値関数経験的確率分布についてのfの期待値モデルp(y|x)についてのfの期待値制約(等式) Copyright © 2012 RONDHUIT All rights reserved
  • 9. 最大エントロピー原理言語モデルのエントロピーH(p)最大エントロピー原理 C: 制約等式を満たすモデルの集合 制約条件付きの最適化問題モデルのパラメトリック形式(次ページに続く) λiは素性fiに対する重要性を表す Copyright © 2012 RONDHUIT All rights reserved
  • 10. モデルのパラメトリック形 式以下を満たすパラメータΛ*を求めればよい: Copyright © 2012 RONDHUIT All rights reserved
  • 11. 反復スケーリング法1. Λ={λ1,…,λn}に適当な初期値を与える2. 次式を解くことでΛの増分Δλiを求める3. Λの値を更新する4. Λの値が収束していなければ2.に飛ぶ Copyright © 2012 RONDHUIT All rights reserved
  • 12. MEM: まとめ訓練データから確率的言語モデルを推定するが、制約条件を満たすモデルは無限に考えられる制約条件を満たすモデルの中から最適な(=エントロピーが最大となるもの)p*を選ぶp*を選ぶ代わりにモデルをパラメトリック形式に置き換えてΨ(Λ)が最大になるΛ*を求めるΛ*を求める反復スケーリング法アルゴリズムがある OpenNLPは拡張反復スケーリング法(GIS)を実 装 Copyright © 2012 RONDHUIT All rights reserved
  • 13. 回帰分析と機械学習目的変数 △ △ △ △ △ △ △ △ △ △ △ 説明変数 Copyright © 2012 RONDHUIT All rights reserved
  • 14. ニューラルネットワーク機械学習におけるニューラルネットワーク 生物の神経組織の挙動をモデル化→セルと結合 刺激 伝達 強化 抑制パーセプトロン入 出力 : : : 力 : : : 入力層 中間層 出力層 Copyright © 2012 RONDHUIT All rights reserved
  • 15. ニューロセル ニューロセル x1 w1 xi : 入力 z wi : 重み(結合荷重)x2 w2 v v : 閾値 : wn z : 出力xn 出力関数 f(u) ステップ関数 シグモイド関数 Copyright © 2012 RONDHUIT All rights reserved
  • 16. ニューラルネットワークの 構成フィードフォワードネットワーク 階層型 入力層から出力層へ向けて信号が伝搬 パーセプトロンリカレントネットワーク あるニューロセルの出力がフィードバックされて、 自分自身の入力となる ホップフィールドモデル Copyright © 2012 RONDHUIT All rights reserved
  • 17. パーセプトロン入力層から中間層への結合荷重と閾値は乱数で決定中間層から出力層への結合荷重と閾値は学習で変更線形分離不可能問題→ 入力層から中間層への結合荷重も変更→ バックプロパゲーション Copyright © 2012 RONDHUIT All rights reserved
  • 18. パーセプトロンによる論理 演算X0 -1 1 H0 -3 w0 v O w1 3 H1 -2 1X1 Copyright © 2012 RONDHUIT All rights reserved
  • 19. パーセプトロンによる論理 演算論理積(w0=-77, w1=118, v=114) X0 X1 H0 H1 O 0 0 0.268941421 0.880797078 4.31353E-14 0 1 0.01798621 0.952574127 0.048282862 1 0 0.119202922 0.993307149 0.00255185 1 1 0.006692851 0.997527377 0.960565494論理和(w0=-27, w1=8, v=2) X0 X1 H0 H1 O 0 0 0.268941421 0.880797078 0.098407843 0 1 0.01798621 0.952574127 0.994147201 1 0 0.119202922 0.993307149 0.938657532 1 1 0.006692851 0.997527377 0.996980115 Copyright © 2012 RONDHUIT All rights reserved
  • 20. パーセプトロンの学習手続 き収束するまで以下を繰り返す 訓練データセットの中の一例(xi, o)について以下 を計算する (xi)を用いて中間層の出力hiを計算する hiを用いて出力層の出力Oを計算する 出力層のニューロセルについて、以下の計算で結合 荷重を補正する αは適当な正の数値 Copyright © 2012 RONDHUIT All rights reserved
  • 21. OpenNLPによる機械学習OpenNLPの準備# パッチを当てる必要があるので、trunkからダウンロード$ mkdir work; cd work$ svn co http://svn.apache.org/repos/asf/opennlp/trunk OPENNLP$ cd OPENNLP# パッチを適用$ wget https://issues.apache.org/jira/secure/attachment/12533987/OPENNLP-516.patch$ patch –p0 < OPENNLP-516.patchpatching file opennlp-maxent/samples/sports/CreateModel.java# ビルド$ cd opennlp$ mvn install Copyright © 2012 RONDHUIT All rights reserved
  • 22. OpenNLPサンプルの利用 サンプルプログラム java CreateModel [-perceptron][-real] <filename>.dat java Predict[-perceptron][-real] <filename>.test サンプルデータ football.dat/football.test gameLocation.dat/gameLocation.test realTeam.dat/realTeam.test モデル *Model.txt訓練データ Create Predict 結果(クラス) *.dat Model テスト *.test Copyright © 2012 RONDHUIT All rights reserved
  • 23. 参考文献[1] A Maximum Entropy Approach to Natural LanguageProcessing, Adam L. Berger, et al., 1996 Association forComputational Linguistics, Volume 22, Number 1[2] 言語と計算 (4) 確率的言語モデル北 研二 (著), 辻井 潤一(著) 東京大学出版会 978-4130654043[3] はじめての機械学習 小高 知宏 (著) オーム社 978-4274068461[4] Taming Text, Grant S. Ingersoll, Thomas S. Morton, andAndrew L. Farris, Manning Publications Co.[5] Foundations of Statistical Natural Language ProcessingChristopher Manning (著), Hinrich Schuetze (著) The MITPress 978-0262133609 Copyright © 2012 RONDHUIT All rights reserved

×