MMDs 12.3 SVM

17
MMDs 12.3 SVM

description

Mining of Massive Datasets 12.3 SVM

Transcript of MMDs 12.3 SVM

Page 1: MMDs 12.3 SVM

MMDs 12.3SVM

Page 2: MMDs 12.3 SVM

Support Vector Machine (SVM)

• 境界面と境界面に最も近いデータ点との距離を最大化するように境界面を決定 

Page 3: MMDs 12.3 SVM

定式化 (未完)

• とりあえず,線形分離可能な場合について

• 訓練集合 (yi = 1 or +1) が与えられたとき,全てのiについて を満たすγのうち,最大のもとを求めたい

• の両辺を定数倍するとγはいくらでも大きくなる

Page 4: MMDs 12.3 SVM

以下のように境界面をとるようにする

Page 5: MMDs 12.3 SVM

定式化

• 適当な定数を掛ける事でサポートベクタに対し (or -1 ) となるようにできる

• 図より,        , より

-1=

Page 6: MMDs 12.3 SVM

定式化

• 結局, γの最大化 → の最小化問題に

• 解くべき問題は, 最小化 制約条件 (i = 1,2,…,n)

Page 7: MMDs 12.3 SVM

問題例

制約条件:

最小化: ||w|| =p

u2 + v2

Page 8: MMDs 12.3 SVM

もう少し一般の場合• 先ほどは完全に線形分離できる場合だった

• 一般にはノイズ等の影響でだいたい分離できても100%はできないことがある

• また,100%分離できたとして,過学習してしまう可能性がある

Page 9: MMDs 12.3 SVM

完全に線形分離できない例

Page 10: MMDs 12.3 SVM

完全に線形分離できない場合• 分類に失敗したものに対してペナルティを与える

• 以下の関数を制約条件のもとで最小化する (C: 定数)第一項: ||w|| についての関数第二項: 損失関数 (ヒンジ関数)

Page 11: MMDs 12.3 SVM

    を最小化する理由

• ||w|| の単調関数ならなんでもいい

• ||w|| はルートを含むので計算しにくい

• だと2次式で表現され,さらに =

Page 12: MMDs 12.3 SVM

ヒンジ関数

Page 13: MMDs 12.3 SVM

SVMの解法

• よく使われるのは,2次計画問題(QP, 目的関数が2次関数で制約条件が1次関数の最適か問題) として解く方法アルゴリズムとしてはSMOなど

• 大規模なデータに対しては,最急降下法 (Gradient Descent) が有効 (逐次計算なのでメモリに優しい)

Page 14: MMDs 12.3 SVM

最急降下法によるSVMの解法

• f の勾配は,

• 以下の式で w を更新していく (η: 定数)

Page 15: MMDs 12.3 SVM

最急降下法によるSVM解法の例

Page 16: MMDs 12.3 SVM

最急降下法によるSVM解法の例

• C = 0.1, η = 0.2

Page 17: MMDs 12.3 SVM

確率的最急降下法 (Stochastic Gradient Descent)

• 実際に大規模データを扱うときは,全ての訓練集合を扱うと量が膨大なので,一部を抽出して学習することがある => SGD