SlideShare uma empresa Scribd logo
1 de 92
Baixar para ler offline
TokyoNLP #5
   パーセプトロンで
楽しい仲間がぽぽぽぽ~ん
      2011-04-23
    Yoshihiko Suhara
     @sleepy_yoshi
自己紹介
• ゆとり (@sleepy_yoshi)

• 情報検索とか機械学習とか

• ブログ: 睡眠不足?!
  – http://d.hatena.ne.jp/sleepy_yoshi/


• 平気で間違ったことを言うのでご注意を
おねがいとおことわり
• 発表者の頭がいつも以上にぽぽぽぽ~んしてま
  す

• 変なテンションについてゆけない方は静かにお
  休みください

• なお,救急車や警察は呼ばないでください

• しつこいネタにも大きな声でお笑いください
ネタだと思ったでしょ?
けっこうマジなんですww
本日の目的
• パーセプトロンという最もシンプルな手法を軸
  に,自然言語処理に利用される機械学習手
  法を楽しく紹介

• キーワード
 – オンライン学習
 – マージン最大化学習
 – カーネル法
想い
パーセプ
         トロン



オンライン   マージン   カーネル
 学習     最大化      法
今日話さないこと
• カーネル法
• 構造学習

• 本日紹介する手法を抑えておけば基本事項
  は簡単に理解可能
さて
なんでパーセプトロン?
• NLPでは大規模,高次元データに対するオン
  ライン学習手法がよく使われている

• それらを紹介する手がかりとしてパーセプトロ
  ンを選んでみました
 – 本発表ではパーセプトロン = 単層パーセプトロン


• 尐し歴史的背景も追いかけられるし
準備
線形識別モデル
• 二値分類の線形識別モデルを考える
 – モデルはM次元の重みベクトル������
 – M次元の特徴ベクトル������に対する予測������は,


       ������ = +1   if ������������ ������ > 0
            −1   otherwise

• バイアス項は?
 – 必ず1になるM+1次元目の特徴を考えればよい
パーセプトロン
パーセプトロン [Rosenblatt 58]
• 1957年にF. Rosenblattが発案
  – 人工神経回路網を模した線形識別器




        Perceptron
                           FACOM128B
• 参考
  – リレー式計算機 富士通FACOM128B (1959年)
    • 国産初のリレー式計算機
    • 現存する世界最古の計算機
パーセプトロン
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7: ENDIF
8: ENDFOR
9: RETURN ������������
パーセプトロン
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������                  間違ったら重みを修正
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7: ENDIF
8: ENDFOR
9: RETURN ������������
修正? どうやって?
図解パーセプトロン

������������ ������ = 0
                       ○
               ×

                       ○
               ×
                           ○
               ×
                       ×
                   ×


               間違ったら修正
なぜ������������������ ������������ を足すか?
パーセプトロン規準
• Perceptron criterion
• 「誤った場合の」損失関数
       ������ ������ = −                    ������������ ������������ ������������
                   ������������ ,������������ ∈������
確率的勾配法
• ひとつずつ与えられるデータに対して重みを逐
  次更新
                           ������
       ������������+1 ← ������������ − ������      ������������
                          ������������

• ������������ を重み������で微分すると,
              ������
                  ������������ ������ = −������������ ������������
             ������������

• パーセプトロン規準に対して確率的勾配降下法
  に基づいて学習していると解釈できる
������の設定方法
• 学習結果は,������の値にけっこう敏感
 – 試行毎に小さくした方がベター


• よく使われる?方法 (*)
                   1000
 –   Basic: ������ =
                 ������+1000
                      1
 –   Pegasos: ������ = (������は正則化に使われるパラメータ)
                     ������������
 – Constant: ������ =定数

 (*) sofia-ml http://code.google.com/p/sofia-ml/
cf. Widrow-Hoffの学習規則
                                                    ※ AdaLineとも呼ばれる

• 損失関数が二乗誤差
             1
     ������ ������ =                           ������������ ������������ − ������������   2
             2
                      ������������ ,������������ ∈������


• 重みベクトルの勾配は
       ������
           ������������ ������ = ������������ ������������ − ������������ ������������
      ������������

• したがって,更新式は
      ������������+1 ← ������������ − ������ ������������ ������������ − ������������ ������������
Widrow-Hoffのパーセプトロン規準

        ������������




               0
                   ������������ ������������ ������������
さて
パーセプトロン規準

   ������������




          0
              ������������ ������������ ������������
どこかで見たぞ、この形
ヒンジ損失

 ������������




        1
            ������������ ������������ ������������
ヒンジ損失とは
                              0              ������������ ������������ ������������ ≥ 1
• ℓ(������; ������������ , ������������ ) =
                        1 − ������������ ������������ ������������     otherwise

   – マージンが1より大きいとき損失0
   – そうでないときは誤りに対して線形に損失を付与
どこで使うんだっけ...
サポートベクターマシン
Support Vector Machines (SVM)
• 定式化                          全データに対してヒンジ損失が
                               ゼロになるように重みを学習
 – minimize ������ 2
 – subject to ������������ ������������ ������������ ≥ 1 ∀������



                                       ヒンジ損失の発生を許容
• ソフトマージンの場合,
 – minimize ������ 2 + ������ ������ ������������
 – subject to ������������ ������������ ������������ ≥ 1 − ������������ ∀������
マージン最大化学習
• 分離超平面のうち,マージンが最大になる超
  平面を選択

  ������������ ������ = 0
                    ○
                         ○       ○
                                       ○
                ×            ○

                ×   ×
                 ×                ������
                     ×       ������
                  ×
どのようにマージン最大化?
準備
バイアス項を明示的に考えて������ = sign(������������ ������ + ������)とする
超平面上に存在する������������ ,������������ を考える
������������ ������������ + ������ = ������������ ������������ + ������ = 0
������������ (������������ −������������ ) = 0 よって重みベクトルは決定面と直交

  ������������ ������ + ������ = 0
                      ������������

                             ������������

                                         ������


                             ������
データ点と超平面の距離
                       ������
• ������ = ������������ + ������             両辺にwをかけてbを足すと
                       ������

     ������                 ������                ������������ ������
• ������ ������ + ������ = ������ ������������ + ������ +          ������
                                            ������
• ������������ ������ + ������ = ������ ������
          ������������ ������+������
• ������ =
              ������
                                  ������������ ������ + ������ = 0


                                                     ������

                                                          ������
                             ������                      ������
                                                          ������
                                              ������������
内積の定義から解釈
• ������������ ������ = ������������������������ ������       ������
    ������������ ������
•             = ������������������������ ������
     ������
     – ベクトル������の超平面への垂直方向の長さ
     – バイアス項bとの大小で+1か-1を判別


                                   b



              ������                       ������
SVMのマージン最大化
• ヒンジ損失の等式を満たしている事例がある
  とすると,最低限確保すべきマージンは
  ������������ ������ + ������=1なので,
         ������������ ������+������        1
•   ������ =             →        (これを最大化!)
             ������           ������
     – 制約 ������������ ������������ ������������ ≥ 1 のため,むやみに小さくはできない


• ヒンジ損失 + L2ノルム最小化
マージン最大化学習が嬉しい理由
• 未知データに対して高い汎化性能を示すため
 – 経験的にも理論的にも

• VC理論に基づく理論的背景 (超適当)
 – 学習手法の複雑さ (VC次元) で汎化性能を評価
   • 複雑な学習手法 => 同じ性能を出すためにより多くの訓練データが
     必要
 – 線形識別モデルの複雑さは,特徴空間に比例
   => 次元の呪いを受ける 
 – ただし線形識別モデルでマージン最大化学習を行う場合は,
   マージンの大きさとデータ点を含む超球の半径で汎化性能
   を評価可能
   ⇒次元の呪いを受けない!! 
Vladimir Vapnik先生
• 統計論的学習理論,VC理論の教祖
  – VC = Vapnik-Cherbonenkis
• AT&T Labs => NEC Lab. America




         ご尊顔                   聖典
こちらの宗教の教祖




Thomas Bayes (1702-1761)
閑話休題
パーセプトロンにも
マージンを使いたい
マージンパーセプトロン
図解マージンパーセプトロン [Krauth+ 87]

  ������������ ������ = 0
                         ○


                             ○         ○
                 ×

                ×
                 ×                ������
                     ×       ������
                 ×
というわけで
これを

������������




       0
           ������������ ������������ ������������
こうする

������������




       ������
            ������������ ������������ ������������
パーセプトロン
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7: ENDIF
8: ENDFOR
9: RETURN ������������
マージンパーセプトロン
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ ������ THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7: ENDIF
8: ENDFOR
9: RETURN ������������
マージンパーセプトロン
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ ������ THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7: ENDIF
8: ENDFOR
9: RETURN ������������
これだけ。
(私の) 経験的に
• マージンの値は検証データで調整
• マージンサイズをある程度大きくすると性能
  が向上する傾向
 – ただし,データ依存なので注意
マージンサイズは
非対称にしてもよい
Uneven Margin Perceptron [Li+ 02]

   ������������ ������ = 0             ○
                                     ○

                                         ○
                                             ○
                 × ×                 ������+

                  ×
                       ×       ������−
                  ×
ただ,これでは
マージン最大化を
  していない
Voted Perceptron
Voted Perceptron [Freund+ 99]
• 投票型パーセプトロン (と呼ばれることもある)

• マージン最大化学習を行うパーセプトロンア
  ルゴリズム
Voted Perceptron
   INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
1: Initialize ������0 = ������, ������ = 0, ������������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
               ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7:       ������������ ← 0
8: ELSE
9:       ������������ ← ������������ + 1
10: ENDIF
11: ENDFOR
12: RETURN ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
Voted Perceptron
   INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
1: Initialize ������0 = ������, ������ = 0, ������������ = 0
2: FOR ������ in 0 to ������                            修正した重み全てと
3: Obtain random sample (������������ , ������������ ) from ������  その重要度を返す
               ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7:       ������������ ← 0
8: ELSE
9:       ������������ ← ������������ + 1
10: ENDIF
11: ENDFOR
12: RETURN ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
Voted Perceptron
   INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
1: Initialize ������0 = ������, ������ = 0, ������������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
               ������
5:       ������������+1 ← ������������ + ������ ������������ ������������  間違えたら重み修正
6:       ������ ← ������ + 1                     正解したら1UP
7:       ������������ ← 0
8: ELSE
9:       ������������ ← ������������ + 1
10: ENDIF
11: ENDFOR
12: RETURN ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
Voted Perceptronによる分類
            ������

    ������ =          ������������ sign(������������ ������)
                              ������
           ������=0          重み付き投票


           ������ = sign ������


   マージン最大化学習を実現
     性能が高い (らしい)
計算量が多い 
• 重みベクトルと重要度を全部覚える必要あり
 – 誤り回数に比例して容量コストが高くなる


• そこでvoted perceptronを近似的に実現
Averaged Perceptron
Averaged Perceptron [Carvalho+ 06]

• 基本的な考え方はVoted Perceptron
• 重みを全て保持せずに重要度で平均
 – 重みの総和と重要度の総和を保持しておけば,
   保持する重みベクトルの容量は2倍程度
Averaged Perceptron
   INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������
1: Initialize ������0 = ������, ������ = 0, ������������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
               ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7:       ������������ ← 0
8: ELSE
9:       ������������ ← ������������ + 1
10: ENDIF
11: ENDFOR
                  1
12: RETURN               ������ ������������ ������������
              ������ ������������
Averaged Perceptron
   INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������
1: Initialize ������0 = ������, ������ = 0, ������������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
               ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6:       ������ ← ������ + 1
7:       ������������ ← 0
8: ELSE
9:       ������������ ← ������������ + 1
10: ENDIF
11: ENDFOR
                  1
12: RETURN               ������ ������������ ������������
              ������ ������������
その他の重みベクトル保持戦略
• Committee Perceptron [Elsas+ 06]
   – あらかじめ決められた数だけ,「重要度の高い重み
     ベクトル」 (committee weight vector) を保持

• Pocket Perceptron [Gallant 90]
   – 一番長生きした重みベクトル (longest survivor) の重
     みを利用

• Selective Voting [Li 00]
   – 最初のB試行については重要度を0とする
   – ������. ������. , ������������ = 0 for ������ < ������
違う文脈で重みベクトルの
 平均を取る方法も提案
  こっちの方が早い&有名
Averaged Perceptron
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6: ELSE
7:       ������������+1 ← ������������
8: ENDIF
9: ENDFOR
                  1
10: RETURN
                 ������   ������ ������������
Averaged Perceptron
 INPUT: (������������ , ������������ ) ∈ ������, ������, ������
OUTPUT: ������

1: Initialize ������0 = ������, ������ = 0
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4: IF ������������ ������������ ������������ ≤ 0 THEN
              ������
5:       ������������+1 ← ������������ + ������ ������������ ������������
6: ELSE
7:       ������������+1 ← ������������
8: ENDIF
9: ENDFOR
                  1
10: RETURN
                 ������   ������ ������������
[Carvalho+ 06]では[Collins 02]を引用して
いないけれど,やっていることは実質同じ
経験上
• オンライン学習の重みベクトルの平均を取っ
  て悪さをすることはない

• たぶん,一般的にもそう思われているはず
しかし、やっぱり思い通りの
 性能が出ないこともある
Online Passive-Aggressive
Passive-Aggressive (PA) [Crammer 06]
• サンプルのヒンジ損失を0にするように重みを修正
  – 重みベクトルの変更は最小に (マージン最大化)

   ������������+1 = argmin ������������ − ������          2   s. t. ℓ(������; ������������ , ������������ ) = 0

                                     0              ������������ ������������ ������������ ≥ 1
         ℓ(������; ������������ , ������������ ) =
                               1 − ������������ ������������ ������������     otherwise


• 更新 (*)
                                                                  ℓ������
            ������������+1 ← ������������ + ������������ ������������ ������������ where ������������ =
                                                                 ������������ 2


   (*) Lagrange乗数法を使って極値を求めると閉じた解が導出できる
Passive-Aggressive
 INPUT: (������������ , ������������ ) ∈ ������, ������
OUTPUT: ������

1: Initialize ������0 = ������
2: FOR ������ in 0 to ������
3: Obtain random sample (������������ , ������������ ) from ������
4:       calculate ������������ = ℓ������ / ������������ 2
5:       ������������+1 ← ������������ + ������������ ������������ ������������
6: ENDFOR
7: RETURN ������ ������
PAの特徴
• PAではサンプル毎に誤りをゼロにする重みを閉
  じた解で求める
 – PA: 必ず当該サンプルにフィットする
 – パーセプトロン: 学習率を使って徐々にフィット

• オーバーフィッティングやノイズの影響を避ける
  ためには誤りを許容する項を導入
 – PA-I : ������������ = min ������, ℓ������ / ������������   2

                      ℓ������
 – PA-II: ������������ =            1
                   ������������ 2 +2������
評価実験
• 20news group での分類精度の比較
 – OLL†のページから実験結果を引用




              † http://code.google.com/p/oll/wiki/OllMainJa
オンライン学習に
 関する雑想
バッチ学習 vs. オンライン学習
• 情報量としてはバッチ学習の方が断然多い
 – 普通に考えればバッチ学習>オンライン学習

• オンライン学習がうまく行くケース
 – 高次元で疎なベクトルの場合
  • 各サンプルの損失の和≒全サンプルの損失
 – ノイズが多く含まれている場合

• NLPでは割とこういうタスクが多いのがオンライン
  学習が流行っている理由?
実装は簡単,理論は難解
• オンライン学習の理論的裏付けは難解
 – 実装は簡単


• バッチ学習は反対
 – 一般的に理論は簡単,実装は難解
余談: 渡辺慧氏のアイディア
• 渡辺慧「認識とパタン」 岩波新書 (1978年)
• マージン最大化学習のアイディアを記述
 – Vapnik先生とどちらが早かったんだろうか?
まとめ
本日のまとめ
• パーセプトロン
   – パーセプトロン規準
• SVM
   – ヒンジ損失
   – マージン最大化
• パーセプトロン亜種
   –   Margin Perceptron
   –   Voted Perceptron
   –   Averaged Perceptron
   –   他
• Passive-Aggressive
お伝えしたかったこと
• パーセプトロンを軸に楽しい仲間をぽぽぽ
  ぽーんできる!
 – 損失と最適化の方法
 – SVMとの関連
 – マージン最大化
 – どこを改善するか

• 実装は超簡単
 – 重み更新部分だけ変えればよい
参考になる資料やツール
• 資料
  – 岡野原大輔. 大規模データを基にした自然言語処理. SIG-FPAIシュートリアル.
    2009
       • http://hillbig.cocolog-nifty.com/do/2009/03/post-3acb.html
  – 岡野原大輔. 超高速テキスト処理のためのアルゴリズムとデータ構造. NLP2010
    チュートリアル
       • http://www.ss.cs.tut.ac.jp/nlp2011/nlp2010_tutorial_okanohara.pdf
  – 中澤敏明. MIRA (Margin Infused Relaxed Algorithm)
       • http://www-lab25.kuee.kyoto-u.ac.jp/~nakazawa/pubdb/other/MIRA.pdf

• ツール
  – OLL: オンライン学習ライブラリ
       • http://code.google.com/p/oll/wiki/OllMainJa
  – sofia-ml
       • http://code.google.com/p/sofia-ml/
  – Vowpal Wabbit
       • http://hunch.net/~vw/
長時間ご清聴ありがとうございました




  次回作にご期待ください
References
•   [Rosenblatt 58] F. Rosenblatt, “The Perceptron: A Probabilistic Model for Information
    Storage and Organization in the Brain”, Cornell Aeronautical Laboratory, Psychological
    Review, vol.65(6), pp. 386–408, 1958.
•   [Krauth+ 87] W. Krauth, M. Mezard, “Learning algorithms with optimal stability in neural
    networks”, Journal of Physics A 20, pp.745-752, 1987.
•   [Li 02] Y. Li, H. Zaragoza, R. Herbrich, J. Shawe-Taylor, Jaz S. Kandola, “The Perceptron
    Algorithm with Uneven Margins”, ICML 2002.
•   [Carvalho+ 06] V. R. Carvalho and W. W. Cohen, “Single-pass online learning:
    performance, voting schemes and online feature selection”, KDD 2006.
•   [Elsas+ 08] J. L. Elsas, V. R. Carvalho, J. G. Carbonell, “Fast learning of document ranking
    functions with the committee perceptron”, WSDM 2008.
•   [Gallant 90] S. I. Gallant, “Perceptron-based learning algorithms”, IEEE Transactions on
    Neural Networks, vol.1(2), pp.179-191, 1990.
•   [Li 00] Y. Li, “Selective Voting for Perception-like Online Learning”, ICML 2000.
•   [Collins 02] M. Collins, "Discriminative Training Methods for Hidden Markov Models:
    Theory and Experiments with Perceptron Algorithms", EMNLP 2002.
•   [Crammer 06] K. Crammer, O. Dekel. J. Keshet, S. Shalev-Shwartz, Y. Singer, "Online
    Passive-Aggressive Algorithms.", Journal of Machine Learning Research, 2006.
おしまい

Mais conteúdo relacionado

Mais procurados

深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -tmtm otm
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するsleepy_yoshi
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知Chika Inoshita
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Yuya Unno
 
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionPRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionShintaro Takemura
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門Hideo Terada
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法Ken'ichi Matsui
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnetNagi Teramo
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリングAkira Miyazawa
 
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎Deep Learning JP
 
わかりやすいパターン認識_2章
わかりやすいパターン認識_2章わかりやすいパターン認識_2章
わかりやすいパターン認識_2章weda654
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明Satoshi Hara
 

Mais procurados (20)

深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装する
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionPRML 4.1 Discriminant Function
PRML 4.1 Discriminant Function
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
次元の呪い
次元の呪い次元の呪い
次元の呪い
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス・ヘイスティングス法
 
Rcppのすすめ
RcppのすすめRcppのすすめ
Rcppのすすめ
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎[DL輪読会]Deep Learning 第5章 機械学習の基礎
[DL輪読会]Deep Learning 第5章 機械学習の基礎
 
わかりやすいパターン認識_2章
わかりやすいパターン認識_2章わかりやすいパターン認識_2章
わかりやすいパターン認識_2章
 
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
 

Destaque

ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングなおき きしだ
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5upTyee Z
 
20150803.山口大学講演
20150803.山口大学講演20150803.山口大学講演
20150803.山口大学講演Hayaru SHOUNO
 
無限と計算可能性と対角線論法
無限と計算可能性と対角線論法無限と計算可能性と対角線論法
無限と計算可能性と対角線論法Ryosuke Nakamura
 
20150803.山口大学集中講義
20150803.山口大学集中講義20150803.山口大学集中講義
20150803.山口大学集中講義Hayaru SHOUNO
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロンT2C_
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-Naoki Yanai
 

Destaque (8)

ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニング
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5up
 
20150803.山口大学講演
20150803.山口大学講演20150803.山口大学講演
20150803.山口大学講演
 
無限と計算可能性と対角線論法
無限と計算可能性と対角線論法無限と計算可能性と対角線論法
無限と計算可能性と対角線論法
 
20150803.山口大学集中講義
20150803.山口大学集中講義20150803.山口大学集中講義
20150803.山口大学集中講義
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロン
 
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
 
決定木学習
決定木学習決定木学習
決定木学習
 

Semelhante a TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん

TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++sleepy_yoshi
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5sleepy_yoshi
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk EstimatorPositive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk EstimatorKiryo Ryuichi
 
Machine Learning Seminar (1)
Machine Learning Seminar (1)Machine Learning Seminar (1)
Machine Learning Seminar (1)Tomoya Nakayama
 
Icml2011 reading-sage
Icml2011 reading-sageIcml2011 reading-sage
Icml2011 reading-sage正志 坪坂
 
Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Shuyo Nakatani
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算sleepy_yoshi
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理Akito Tabira
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へZansa
 
関数の最小値を求めることから機械学習へ
関数の最小値を求めることから機械学習へ関数の最小値を求めることから機械学習へ
関数の最小値を求めることから機械学習へHiro H.
 
PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5sleepy_yoshi
 
虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表VerKensuke Otsuki
 

Semelhante a TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん (20)

TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
Cv 14th
Cv 14thCv 14th
Cv 14th
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk EstimatorPositive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk Estimator
 
Machine Learning Seminar (1)
Machine Learning Seminar (1)Machine Learning Seminar (1)
Machine Learning Seminar (1)
 
Icml2011 reading-sage
Icml2011 reading-sageIcml2011 reading-sage
Icml2011 reading-sage
 
Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
 
双対性
双対性双対性
双対性
 
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
 
関数の最小値を求めることから機械学習へ
関数の最小値を求めることから機械学習へ関数の最小値を求めることから機械学習へ
関数の最小値を求めることから機械学習へ
 
PFI Christmas seminar 2009
PFI Christmas seminar 2009PFI Christmas seminar 2009
PFI Christmas seminar 2009
 
PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5
 
Dive into XGBoost.pdf
Dive into XGBoost.pdfDive into XGBoost.pdf
Dive into XGBoost.pdf
 
WUPC2012
WUPC2012WUPC2012
WUPC2012
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver
 

Mais de sleepy_yoshi

KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on TwitterKDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twittersleepy_yoshi
 
KDD2013読み会: Direct Optimization of Ranking Measures
KDD2013読み会: Direct Optimization of Ranking MeasuresKDD2013読み会: Direct Optimization of Ranking Measures
KDD2013読み会: Direct Optimization of Ranking Measuressleepy_yoshi
 
PRML復々習レーン#15 前回までのあらすじ
PRML復々習レーン#15 前回までのあらすじPRML復々習レーン#15 前回までのあらすじ
PRML復々習レーン#15 前回までのあらすじsleepy_yoshi
 
PRML復々習レーン#14 前回までのあらすじ
PRML復々習レーン#14 前回までのあらすじPRML復々習レーン#14 前回までのあらすじ
PRML復々習レーン#14 前回までのあらすじsleepy_yoshi
 
PRML復々習レーン#13 前回までのあらすじ
PRML復々習レーン#13 前回までのあらすじPRML復々習レーン#13 前回までのあらすじ
PRML復々習レーン#13 前回までのあらすじsleepy_yoshi
 
PRML復々習レーン#12 前回までのあらすじ
PRML復々習レーン#12 前回までのあらすじPRML復々習レーン#12 前回までのあらすじ
PRML復々習レーン#12 前回までのあらすじsleepy_yoshi
 
ICML2013読み会: Distributed training of Large-scale Logistic models
ICML2013読み会: Distributed training of Large-scale Logistic modelsICML2013読み会: Distributed training of Large-scale Logistic models
ICML2013読み会: Distributed training of Large-scale Logistic modelssleepy_yoshi
 
SEXI2013読み会: Adult Query Classification for Web Search and Recommendation
SEXI2013読み会: Adult Query Classification for Web Search and RecommendationSEXI2013読み会: Adult Query Classification for Web Search and Recommendation
SEXI2013読み会: Adult Query Classification for Web Search and Recommendationsleepy_yoshi
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-sleepy_yoshi
 
PRML復々習レーン#11 前回までのあらすじ
PRML復々習レーン#11 前回までのあらすじPRML復々習レーン#11 前回までのあらすじ
PRML復々習レーン#11 前回までのあらすじsleepy_yoshi
 
PRML復々習レーン#10 前回までのあらすじ
PRML復々習レーン#10 前回までのあらすじPRML復々習レーン#10 前回までのあらすじ
PRML復々習レーン#10 前回までのあらすじsleepy_yoshi
 
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1sleepy_yoshi
 
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじsleepy_yoshi
 
PRML復々習レーン#7 前回までのあらすじ
PRML復々習レーン#7 前回までのあらすじPRML復々習レーン#7 前回までのあらすじ
PRML復々習レーン#7 前回までのあらすじsleepy_yoshi
 
SIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to RankSIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to Ranksleepy_yoshi
 
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5sleepy_yoshi
 
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...sleepy_yoshi
 
PRML復々習レーン#3 前回までのあらすじ
PRML復々習レーン#3 前回までのあらすじPRML復々習レーン#3 前回までのあらすじ
PRML復々習レーン#3 前回までのあらすじsleepy_yoshi
 
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)sleepy_yoshi
 
PRML復々習レーン#2 2.3.6 - 2.3.7
PRML復々習レーン#2 2.3.6 - 2.3.7PRML復々習レーン#2 2.3.6 - 2.3.7
PRML復々習レーン#2 2.3.6 - 2.3.7sleepy_yoshi
 

Mais de sleepy_yoshi (20)

KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on TwitterKDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter
 
KDD2013読み会: Direct Optimization of Ranking Measures
KDD2013読み会: Direct Optimization of Ranking MeasuresKDD2013読み会: Direct Optimization of Ranking Measures
KDD2013読み会: Direct Optimization of Ranking Measures
 
PRML復々習レーン#15 前回までのあらすじ
PRML復々習レーン#15 前回までのあらすじPRML復々習レーン#15 前回までのあらすじ
PRML復々習レーン#15 前回までのあらすじ
 
PRML復々習レーン#14 前回までのあらすじ
PRML復々習レーン#14 前回までのあらすじPRML復々習レーン#14 前回までのあらすじ
PRML復々習レーン#14 前回までのあらすじ
 
PRML復々習レーン#13 前回までのあらすじ
PRML復々習レーン#13 前回までのあらすじPRML復々習レーン#13 前回までのあらすじ
PRML復々習レーン#13 前回までのあらすじ
 
PRML復々習レーン#12 前回までのあらすじ
PRML復々習レーン#12 前回までのあらすじPRML復々習レーン#12 前回までのあらすじ
PRML復々習レーン#12 前回までのあらすじ
 
ICML2013読み会: Distributed training of Large-scale Logistic models
ICML2013読み会: Distributed training of Large-scale Logistic modelsICML2013読み会: Distributed training of Large-scale Logistic models
ICML2013読み会: Distributed training of Large-scale Logistic models
 
SEXI2013読み会: Adult Query Classification for Web Search and Recommendation
SEXI2013読み会: Adult Query Classification for Web Search and RecommendationSEXI2013読み会: Adult Query Classification for Web Search and Recommendation
SEXI2013読み会: Adult Query Classification for Web Search and Recommendation
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
 
PRML復々習レーン#11 前回までのあらすじ
PRML復々習レーン#11 前回までのあらすじPRML復々習レーン#11 前回までのあらすじ
PRML復々習レーン#11 前回までのあらすじ
 
PRML復々習レーン#10 前回までのあらすじ
PRML復々習レーン#10 前回までのあらすじPRML復々習レーン#10 前回までのあらすじ
PRML復々習レーン#10 前回までのあらすじ
 
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1
 
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじ
 
PRML復々習レーン#7 前回までのあらすじ
PRML復々習レーン#7 前回までのあらすじPRML復々習レーン#7 前回までのあらすじ
PRML復々習レーン#7 前回までのあらすじ
 
SIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to RankSIGIR2012勉強会 23 Learning to Rank
SIGIR2012勉強会 23 Learning to Rank
 
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
 
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
 
PRML復々習レーン#3 前回までのあらすじ
PRML復々習レーン#3 前回までのあらすじPRML復々習レーン#3 前回までのあらすじ
PRML復々習レーン#3 前回までのあらすじ
 
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
 
PRML復々習レーン#2 2.3.6 - 2.3.7
PRML復々習レーン#2 2.3.6 - 2.3.7PRML復々習レーン#2 2.3.6 - 2.3.7
PRML復々習レーン#2 2.3.6 - 2.3.7
 

Último

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (10)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん

  • 1. TokyoNLP #5 パーセプトロンで 楽しい仲間がぽぽぽぽ~ん 2011-04-23 Yoshihiko Suhara @sleepy_yoshi
  • 2. 自己紹介 • ゆとり (@sleepy_yoshi) • 情報検索とか機械学習とか • ブログ: 睡眠不足?! – http://d.hatena.ne.jp/sleepy_yoshi/ • 平気で間違ったことを言うのでご注意を
  • 3. おねがいとおことわり • 発表者の頭がいつも以上にぽぽぽぽ~んしてま す • 変なテンションについてゆけない方は静かにお 休みください • なお,救急車や警察は呼ばないでください • しつこいネタにも大きな声でお笑いください
  • 6. 本日の目的 • パーセプトロンという最もシンプルな手法を軸 に,自然言語処理に利用される機械学習手 法を楽しく紹介 • キーワード – オンライン学習 – マージン最大化学習 – カーネル法
  • 8. パーセプ トロン オンライン マージン カーネル 学習 最大化 法
  • 9. 今日話さないこと • カーネル法 • 構造学習 • 本日紹介する手法を抑えておけば基本事項 は簡単に理解可能
  • 11. なんでパーセプトロン? • NLPでは大規模,高次元データに対するオン ライン学習手法がよく使われている • それらを紹介する手がかりとしてパーセプトロ ンを選んでみました – 本発表ではパーセプトロン = 単層パーセプトロン • 尐し歴史的背景も追いかけられるし
  • 13. 線形識別モデル • 二値分類の線形識別モデルを考える – モデルはM次元の重みベクトル������ – M次元の特徴ベクトル������に対する予測������は, ������ = +1 if ������������ ������ > 0 −1 otherwise • バイアス項は? – 必ず1になるM+1次元目の特徴を考えればよい
  • 15. パーセプトロン [Rosenblatt 58] • 1957年にF. Rosenblattが発案 – 人工神経回路網を模した線形識別器 Perceptron FACOM128B • 参考 – リレー式計算機 富士通FACOM128B (1959年) • 国産初のリレー式計算機 • 現存する世界最古の計算機
  • 16. パーセプトロン INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ENDIF 8: ENDFOR 9: RETURN ������������
  • 17. パーセプトロン INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 間違ったら重みを修正 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ENDIF 8: ENDFOR 9: RETURN ������������
  • 21. パーセプトロン規準 • Perceptron criterion • 「誤った場合の」損失関数 ������ ������ = − ������������ ������������ ������������ ������������ ,������������ ∈������
  • 22. 確率的勾配法 • ひとつずつ与えられるデータに対して重みを逐 次更新 ������ ������������+1 ← ������������ − ������ ������������ ������������ • ������������ を重み������で微分すると, ������ ������������ ������ = −������������ ������������ ������������ • パーセプトロン規準に対して確率的勾配降下法 に基づいて学習していると解釈できる
  • 23. ������の設定方法 • 学習結果は,������の値にけっこう敏感 – 試行毎に小さくした方がベター • よく使われる?方法 (*) 1000 – Basic: ������ = ������+1000 1 – Pegasos: ������ = (������は正則化に使われるパラメータ) ������������ – Constant: ������ =定数 (*) sofia-ml http://code.google.com/p/sofia-ml/
  • 24. cf. Widrow-Hoffの学習規則 ※ AdaLineとも呼ばれる • 損失関数が二乗誤差 1 ������ ������ = ������������ ������������ − ������������ 2 2 ������������ ,������������ ∈������ • 重みベクトルの勾配は ������ ������������ ������ = ������������ ������������ − ������������ ������������ ������������ • したがって,更新式は ������������+1 ← ������������ − ������ ������������ ������������ − ������������ ������������
  • 25. Widrow-Hoffのパーセプトロン規準 ������������ 0 ������������ ������������ ������������
  • 27. パーセプトロン規準 ������������ 0 ������������ ������������ ������������
  • 29. ヒンジ損失 ������������ 1 ������������ ������������ ������������
  • 30. ヒンジ損失とは 0 ������������ ������������ ������������ ≥ 1 • ℓ(������; ������������ , ������������ ) = 1 − ������������ ������������ ������������ otherwise – マージンが1より大きいとき損失0 – そうでないときは誤りに対して線形に損失を付与
  • 33. Support Vector Machines (SVM) • 定式化 全データに対してヒンジ損失が ゼロになるように重みを学習 – minimize ������ 2 – subject to ������������ ������������ ������������ ≥ 1 ∀������ ヒンジ損失の発生を許容 • ソフトマージンの場合, – minimize ������ 2 + ������ ������ ������������ – subject to ������������ ������������ ������������ ≥ 1 − ������������ ∀������
  • 34. マージン最大化学習 • 分離超平面のうち,マージンが最大になる超 平面を選択 ������������ ������ = 0 ○ ○ ○ ○ × ○ × × × ������ × ������ ×
  • 36. 準備 バイアス項を明示的に考えて������ = sign(������������ ������ + ������)とする 超平面上に存在する������������ ,������������ を考える ������������ ������������ + ������ = ������������ ������������ + ������ = 0 ������������ (������������ −������������ ) = 0 よって重みベクトルは決定面と直交 ������������ ������ + ������ = 0 ������������ ������������ ������ ������
  • 37. データ点と超平面の距離 ������ • ������ = ������������ + ������ 両辺にwをかけてbを足すと ������ ������ ������ ������������ ������ • ������ ������ + ������ = ������ ������������ + ������ + ������ ������ • ������������ ������ + ������ = ������ ������ ������������ ������+������ • ������ = ������ ������������ ������ + ������ = 0 ������ ������ ������ ������ ������ ������������
  • 38. 内積の定義から解釈 • ������������ ������ = ������������������������ ������ ������ ������������ ������ • = ������������������������ ������ ������ – ベクトル������の超平面への垂直方向の長さ – バイアス項bとの大小で+1か-1を判別 b ������ ������
  • 39. SVMのマージン最大化 • ヒンジ損失の等式を満たしている事例がある とすると,最低限確保すべきマージンは ������������ ������ + ������=1なので, ������������ ������+������ 1 • ������ = → (これを最大化!) ������ ������ – 制約 ������������ ������������ ������������ ≥ 1 のため,むやみに小さくはできない • ヒンジ損失 + L2ノルム最小化
  • 40. マージン最大化学習が嬉しい理由 • 未知データに対して高い汎化性能を示すため – 経験的にも理論的にも • VC理論に基づく理論的背景 (超適当) – 学習手法の複雑さ (VC次元) で汎化性能を評価 • 複雑な学習手法 => 同じ性能を出すためにより多くの訓練データが 必要 – 線形識別モデルの複雑さは,特徴空間に比例 => 次元の呪いを受ける  – ただし線形識別モデルでマージン最大化学習を行う場合は, マージンの大きさとデータ点を含む超球の半径で汎化性能 を評価可能 ⇒次元の呪いを受けない!! 
  • 41. Vladimir Vapnik先生 • 統計論的学習理論,VC理論の教祖 – VC = Vapnik-Cherbonenkis • AT&T Labs => NEC Lab. America ご尊顔 聖典
  • 43.
  • 47. 図解マージンパーセプトロン [Krauth+ 87] ������������ ������ = 0 ○ ○ ○ × × × ������ × ������ ×
  • 49. これを ������������ 0 ������������ ������������ ������������
  • 50. こうする ������������ ������ ������������ ������������ ������������
  • 51. パーセプトロン INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ENDIF 8: ENDFOR 9: RETURN ������������
  • 52. マージンパーセプトロン INPUT: (������������ , ������������ ) ∈ ������, ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ ������ THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ENDIF 8: ENDFOR 9: RETURN ������������
  • 53. マージンパーセプトロン INPUT: (������������ , ������������ ) ∈ ������, ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ ������ THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ENDIF 8: ENDFOR 9: RETURN ������������
  • 55. (私の) 経験的に • マージンの値は検証データで調整 • マージンサイズをある程度大きくすると性能 が向上する傾向 – ただし,データ依存なので注意
  • 57. Uneven Margin Perceptron [Li+ 02] ������������ ������ = 0 ○ ○ ○ ○ × × ������+ × × ������− ×
  • 60. Voted Perceptron [Freund+ 99] • 投票型パーセプトロン (と呼ばれることもある) • マージン最大化学習を行うパーセプトロンア ルゴリズム
  • 61. Voted Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������ 1: Initialize ������0 = ������, ������ = 0, ������������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ������������ ← 0 8: ELSE 9: ������������ ← ������������ + 1 10: ENDIF 11: ENDFOR 12: RETURN ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
  • 62. Voted Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������ 1: Initialize ������0 = ������, ������ = 0, ������������ = 0 2: FOR ������ in 0 to ������ 修正した重み全てと 3: Obtain random sample (������������ , ������������ ) from ������ その重要度を返す ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ������������ ← 0 8: ELSE 9: ������������ ← ������������ + 1 10: ENDIF 11: ENDFOR 12: RETURN ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
  • 63. Voted Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������ 1: Initialize ������0 = ������, ������ = 0, ������������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 間違えたら重み修正 6: ������ ← ������ + 1 正解したら1UP 7: ������������ ← 0 8: ELSE 9: ������������ ← ������������ + 1 10: ENDIF 11: ENDFOR 12: RETURN ������0 , ������0 , ������1 , ������1 , … , ������������ , ������������
  • 64. Voted Perceptronによる分類 ������ ������ = ������������ sign(������������ ������) ������ ������=0 重み付き投票 ������ = sign ������ マージン最大化学習を実現 性能が高い (らしい)
  • 65. 計算量が多い  • 重みベクトルと重要度を全部覚える必要あり – 誤り回数に比例して容量コストが高くなる • そこでvoted perceptronを近似的に実現
  • 67. Averaged Perceptron [Carvalho+ 06] • 基本的な考え方はVoted Perceptron • 重みを全て保持せずに重要度で平均 – 重みの総和と重要度の総和を保持しておけば, 保持する重みベクトルの容量は2倍程度
  • 68. Averaged Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0, ������������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ������������ ← 0 8: ELSE 9: ������������ ← ������������ + 1 10: ENDIF 11: ENDFOR 1 12: RETURN ������ ������������ ������������ ������ ������������
  • 69. Averaged Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0, ������������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ������ ← ������ + 1 7: ������������ ← 0 8: ELSE 9: ������������ ← ������������ + 1 10: ENDIF 11: ENDFOR 1 12: RETURN ������ ������������ ������������ ������ ������������
  • 70. その他の重みベクトル保持戦略 • Committee Perceptron [Elsas+ 06] – あらかじめ決められた数だけ,「重要度の高い重み ベクトル」 (committee weight vector) を保持 • Pocket Perceptron [Gallant 90] – 一番長生きした重みベクトル (longest survivor) の重 みを利用 • Selective Voting [Li 00] – 最初のB試行については重要度を0とする – ������. ������. , ������������ = 0 for ������ < ������
  • 72. Averaged Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ELSE 7: ������������+1 ← ������������ 8: ENDIF 9: ENDFOR 1 10: RETURN ������ ������ ������������
  • 73. Averaged Perceptron INPUT: (������������ , ������������ ) ∈ ������, ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������, ������ = 0 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: IF ������������ ������������ ������������ ≤ 0 THEN ������ 5: ������������+1 ← ������������ + ������ ������������ ������������ 6: ELSE 7: ������������+1 ← ������������ 8: ENDIF 9: ENDFOR 1 10: RETURN ������ ������ ������������
  • 75. 経験上 • オンライン学習の重みベクトルの平均を取っ て悪さをすることはない • たぶん,一般的にもそう思われているはず
  • 78. Passive-Aggressive (PA) [Crammer 06] • サンプルのヒンジ損失を0にするように重みを修正 – 重みベクトルの変更は最小に (マージン最大化) ������������+1 = argmin ������������ − ������ 2 s. t. ℓ(������; ������������ , ������������ ) = 0 0 ������������ ������������ ������������ ≥ 1 ℓ(������; ������������ , ������������ ) = 1 − ������������ ������������ ������������ otherwise • 更新 (*) ℓ������ ������������+1 ← ������������ + ������������ ������������ ������������ where ������������ = ������������ 2 (*) Lagrange乗数法を使って極値を求めると閉じた解が導出できる
  • 79. Passive-Aggressive INPUT: (������������ , ������������ ) ∈ ������, ������ OUTPUT: ������ 1: Initialize ������0 = ������ 2: FOR ������ in 0 to ������ 3: Obtain random sample (������������ , ������������ ) from ������ 4: calculate ������������ = ℓ������ / ������������ 2 5: ������������+1 ← ������������ + ������������ ������������ ������������ 6: ENDFOR 7: RETURN ������ ������
  • 80. PAの特徴 • PAではサンプル毎に誤りをゼロにする重みを閉 じた解で求める – PA: 必ず当該サンプルにフィットする – パーセプトロン: 学習率を使って徐々にフィット • オーバーフィッティングやノイズの影響を避ける ためには誤りを許容する項を導入 – PA-I : ������������ = min ������, ℓ������ / ������������ 2 ℓ������ – PA-II: ������������ = 1 ������������ 2 +2������
  • 81. 評価実験 • 20news group での分類精度の比較 – OLL†のページから実験結果を引用 † http://code.google.com/p/oll/wiki/OllMainJa
  • 83. バッチ学習 vs. オンライン学習 • 情報量としてはバッチ学習の方が断然多い – 普通に考えればバッチ学習>オンライン学習 • オンライン学習がうまく行くケース – 高次元で疎なベクトルの場合 • 各サンプルの損失の和≒全サンプルの損失 – ノイズが多く含まれている場合 • NLPでは割とこういうタスクが多いのがオンライン 学習が流行っている理由?
  • 84. 実装は簡単,理論は難解 • オンライン学習の理論的裏付けは難解 – 実装は簡単 • バッチ学習は反対 – 一般的に理論は簡単,実装は難解
  • 85. 余談: 渡辺慧氏のアイディア • 渡辺慧「認識とパタン」 岩波新書 (1978年) • マージン最大化学習のアイディアを記述 – Vapnik先生とどちらが早かったんだろうか?
  • 87. 本日のまとめ • パーセプトロン – パーセプトロン規準 • SVM – ヒンジ損失 – マージン最大化 • パーセプトロン亜種 – Margin Perceptron – Voted Perceptron – Averaged Perceptron – 他 • Passive-Aggressive
  • 88. お伝えしたかったこと • パーセプトロンを軸に楽しい仲間をぽぽぽ ぽーんできる! – 損失と最適化の方法 – SVMとの関連 – マージン最大化 – どこを改善するか • 実装は超簡単 – 重み更新部分だけ変えればよい
  • 89. 参考になる資料やツール • 資料 – 岡野原大輔. 大規模データを基にした自然言語処理. SIG-FPAIシュートリアル. 2009 • http://hillbig.cocolog-nifty.com/do/2009/03/post-3acb.html – 岡野原大輔. 超高速テキスト処理のためのアルゴリズムとデータ構造. NLP2010 チュートリアル • http://www.ss.cs.tut.ac.jp/nlp2011/nlp2010_tutorial_okanohara.pdf – 中澤敏明. MIRA (Margin Infused Relaxed Algorithm) • http://www-lab25.kuee.kyoto-u.ac.jp/~nakazawa/pubdb/other/MIRA.pdf • ツール – OLL: オンライン学習ライブラリ • http://code.google.com/p/oll/wiki/OllMainJa – sofia-ml • http://code.google.com/p/sofia-ml/ – Vowpal Wabbit • http://hunch.net/~vw/
  • 91. References • [Rosenblatt 58] F. Rosenblatt, “The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain”, Cornell Aeronautical Laboratory, Psychological Review, vol.65(6), pp. 386–408, 1958. • [Krauth+ 87] W. Krauth, M. Mezard, “Learning algorithms with optimal stability in neural networks”, Journal of Physics A 20, pp.745-752, 1987. • [Li 02] Y. Li, H. Zaragoza, R. Herbrich, J. Shawe-Taylor, Jaz S. Kandola, “The Perceptron Algorithm with Uneven Margins”, ICML 2002. • [Carvalho+ 06] V. R. Carvalho and W. W. Cohen, “Single-pass online learning: performance, voting schemes and online feature selection”, KDD 2006. • [Elsas+ 08] J. L. Elsas, V. R. Carvalho, J. G. Carbonell, “Fast learning of document ranking functions with the committee perceptron”, WSDM 2008. • [Gallant 90] S. I. Gallant, “Perceptron-based learning algorithms”, IEEE Transactions on Neural Networks, vol.1(2), pp.179-191, 1990. • [Li 00] Y. Li, “Selective Voting for Perception-like Online Learning”, ICML 2000. • [Collins 02] M. Collins, "Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms", EMNLP 2002. • [Crammer 06] K. Crammer, O. Dekel. J. Keshet, S. Shalev-Shwartz, Y. Singer, "Online Passive-Aggressive Algorithms.", Journal of Machine Learning Research, 2006.