Upgrade to Pro — share decks privately, control downloads, hide ads and more …

B3勉強会(2015年2月16日)サポートベクターマシン(SVM)

MIKAMI-YUKI
February 16, 2015

 B3勉強会(2015年2月16日)サポートベクターマシン(SVM)

MIKAMI-YUKI

February 16, 2015
Tweet

More Decks by MIKAMI-YUKI

Other Decks in Education

Transcript

  1. 長岡技術科学大学 B3 三上侑城
    3年勉強会 2015年2月16日
    サポートベクターマシン(SVM)
    自然言語処理研究室
    1

    View Slide

  2. 予備知識
    x (xの太字): 入力ベクトル
    ω (ωの太字): 重みベクトル(求める物)
    入力xと出力yの組の教師データ
    例:(x
    1
    ,y
    1
    ) , (x
    2
    ,y
    2
    )
    y
    i
    =1の時は0より大きい値を指す。
    y
    i
    =-1の時は0より小さい値を指す。
    2

    View Slide

  3. 線形分離
    空間を線形(まっすぐ)に分離する。
    2次元の場合は平面を直線で分断。
    3次元の場合は空間を平面で分断。
    4次元以上は分断面が分離超平面と
    呼ばれるものになる。
    3

    View Slide

  4. 線形分離
    2次元の時、分離した片方をy=1として、
    もう片方をy=-1とする。
    学習データを全て正しく識別できる場合、
    そのデータのことを線形分離可能であると
    言う。
    線形分離不可能の時は、非線形分離
    を行う。
    4

    View Slide

  5. 線形分離
    5
    y = 1
    y = -1
    2次元空間

    View Slide

  6. サポートベクターマシン(SVM)
    線形識別器の1つ。
    マージンの最大化と非線形分類を同時
    に実現でき、高精度な分類を行うことが
    できる。
    機械学習で分離平面を決める。
    6

    View Slide

  7. サポートベクターマシン
    7
    ←分離平面
    テストデータがどちらに有るか判定

    View Slide

  8. 目的関数
    目的関数という関数が与えられ、この関
    数の値を最小化することが学習の目的と
    なる。
    L1正規化SVM目的関数

    max 1 −

    , 0 + ||
    ※max(a,b):大きい方の値を返すもの
    8

    View Slide

  9. 目的関数

    max 1 −

    , 0 + ||
    損失項 正則化項
    9

    View Slide

  10. 目的関数

    max 1 −

    , 0 + ||
    損失項の働き
    y
    i
    =1(0より大きな値)であるとき、
    ω・x
    i
    の結果が10とすれば、
    1-10=-9となり、0の方が大きくなるため、
    損失項の値は0になる。
    10

    View Slide

  11. 目的関数

    max 1 −

    , 0 + ||
    損失項の働き
    y
    i
    =1(0より大きな値)であるとき、
    ω・x
    i
    の結果が-10とすれば、
    1-(-10)=11となり、11の方が大きくな
    るため、損失項の値は11になる。
    11

    View Slide

  12. 目的関数

    max 1 −

    , 0 + ||
    損失項の働き
    y
    i
    =-1(0より小さい値)であるとき、
    ω・x
    i
    の結果が-10とすれば、 y
    i
    ω・x
    i
    は、
    1-(10)=-9となり、0の方が大きくなるた
    め、損失項の値は0になる。
    12

    View Slide

  13. 目的関数
    損失項は ”多くの場合” 、正解した場合
    は0で、間違えた場合は0以上の値を取
    るようになっている。
    つまり、損失項の値が小さいほど、判別
    器として性能がいいことが言える。
    13

    View Slide

  14. 目的関数
    ”多くの場合”と言ったが、実は正解した
    場合にも損失が0以上になる場合がある。

    max 1 −

    , 0 + ||
    ω・x
    i
    の結果が1以下の時に0より大き
    くなる。
    14

    View Slide

  15. 目的関数
    そのため、正解だと判断されず、ωのパラ
    メータが変更され、結果が最低でも1
    (もしくは-1)になる。
    -1その間にマージンができる。
     → 分離平面が安定する。
    15

    View Slide

  16. マージン最大化
    16
    ←分離平面
    <1
    <1

    View Slide

  17. サポートベクター
    17
    ←分離平面
    <1
    <1
    ・分離平面に最も近い事例のことを言う。
    ・これだけで分離平面を表現できる。

    View Slide

  18. 正規化項

    max 1 −

    , 0 + ||
    複雑なモデル(過学習状態)になると、
    未知データに対して弱くなることがよくある。
    損失項が多少のマイナスでもOKにするこ
    とで、余裕をもたせることができる。
    18

    View Slide

  19. 非線形分離
    うまく分離出来ない時には非線形分離
    を使用する。
    19

    View Slide

  20. 非線形分離
    より高度な空間で分離作業を行う。
    →高次元空間への射影
    新しい軸を作る。
    Φ(1
    , 2
    ) =
    1
    2
    1
    2
    20

    View Slide

  21. 非線形分離
    21
    2次元空間

    View Slide

  22. 非線形分離
    22
    3次元空間

    View Slide

  23. 非線形分離
    23
    3次元空間で線形分離の分離平面を決め、
    2次元空間に戻すと、非線形分離になる

    View Slide

  24. 収束判定
    計算をいつ終えるか?という問題。
    完全にパラメータが変化しなくなるまでは
    時間が非常にかかる。
    実用的には
    ・十分だと思われる繰り返し(学習)回数
    を最初に設定しておく。
    ・目的関数の値がほとんど変わらなくなっ
    たら終了する。
    24

    View Slide

  25. ご視聴ありがとうございました
    参考文献
    ・日本語入力を支える技術
    著:徳永拓之 技術評論社 2012年3月
    ・機械学習に基づく自然言語処理I
    京都大学情報学研究科 黒橋 禎夫
    http://nlp.ist.i.kyoto-u.ac.jp/
    member/kuro/lecture/LIP10/LIP09.pdf
    25

    View Slide