SlideShare a Scribd company logo
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.
おしまい

More Related Content

What's hot

[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
Deep Learning JP
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
ohken
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
joisino
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れ
Kazuki Motohashi
 
初めてのグラフカット
初めてのグラフカット初めてのグラフカット
初めてのグラフカットTsubasa Hirakawa
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
Deep Learning JP
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
joisino
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
Deep Learning JP
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
okuraofvegetable
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
佑 甲野
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー
KLab Inc. / Tech
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
Motokawa Tetsuya
 
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
Deep Learning JP
 

What's hot (20)

[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れ
 
初めてのグラフカット
初めてのグラフカット初めてのグラフカット
初めてのグラフカット
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 

Viewers also liked

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

Viewers also liked (9)

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

Similar to 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.5
sleepy_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 Estimator
Kiryo 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
 
双対性
双対性双対性
双対性
Yoichi Iwata
 
【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.5
sleepy_yoshi
 
Dive into XGBoost.pdf
Dive into XGBoost.pdfDive into XGBoost.pdf
Dive into XGBoost.pdf
Yuuji Hiramatsu
 
WUPC2012
WUPC2012WUPC2012
WUPC2012
Dai Hamada
 
虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver
Kensuke Otsuki
 

Similar to 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
 

More from 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 Twitter
sleepy_yoshi
 
KDD2013読み会: Direct Optimization of Ranking Measures
KDD2013読み会: Direct Optimization of Ranking MeasuresKDD2013読み会: Direct Optimization of Ranking Measures
KDD2013読み会: Direct Optimization of Ranking Measures
sleepy_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 models
sleepy_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 Recommendation
sleepy_yoshi
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
 
PRML復々習レーン#11 前回までのあらすじ
PRML復々習レーン#11 前回までのあらすじPRML復々習レーン#11 前回までのあらすじ
PRML復々習レーン#11 前回までのあらすじ
sleepy_yoshi
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装する
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.1
sleepy_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 Rank
sleepy_yoshi
 
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
DSIRNLP#3 LT: 辞書挟み込み型転置インデクスFIg4.5
sleepy_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
 

More from 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 前回までのあらすじ
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装する
 
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)
 

Recently uploaded

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 

Recently uploaded (15)

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 

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.