Upload
mfumi
View
160
Download
3
Embed Size (px)
DESCRIPTION
Mining of Massive Datasets 12.3 SVM
Citation preview
MMDs 12.3SVM
Support Vector Machine (SVM)
• 境界面と境界面に最も近いデータ点との距離を最大化するように境界面を決定
定式化 (未完)
• とりあえず,線形分離可能な場合について
• 訓練集合 (yi = 1 or +1) が与えられたとき,全てのiについて を満たすγのうち,最大のもとを求めたい
• の両辺を定数倍するとγはいくらでも大きくなる
以下のように境界面をとるようにする
定式化
• 適当な定数を掛ける事でサポートベクタに対し (or -1 ) となるようにできる
• 図より, , より
-1=
定式化
• 結局, γの最大化 → の最小化問題に
• 解くべき問題は, 最小化 制約条件 (i = 1,2,…,n)
問題例
制約条件:
最小化: ||w|| =p
u2 + v2
もう少し一般の場合• 先ほどは完全に線形分離できる場合だった
• 一般にはノイズ等の影響でだいたい分離できても100%はできないことがある
• また,100%分離できたとして,過学習してしまう可能性がある
完全に線形分離できない例
完全に線形分離できない場合• 分類に失敗したものに対してペナルティを与える
• 以下の関数を制約条件のもとで最小化する (C: 定数)第一項: ||w|| についての関数第二項: 損失関数 (ヒンジ関数)
を最小化する理由
• ||w|| の単調関数ならなんでもいい
• ||w|| はルートを含むので計算しにくい
• だと2次式で表現され,さらに =
ヒンジ関数
SVMの解法
• よく使われるのは,2次計画問題(QP, 目的関数が2次関数で制約条件が1次関数の最適か問題) として解く方法アルゴリズムとしてはSMOなど
• 大規模なデータに対しては,最急降下法 (Gradient Descent) が有効 (逐次計算なのでメモリに優しい)
最急降下法によるSVMの解法
• f の勾配は,
• 以下の式で w を更新していく (η: 定数)
最急降下法によるSVM解法の例
最急降下法によるSVM解法の例
• C = 0.1, η = 0.2
確率的最急降下法 (Stochastic Gradient Descent)
• 実際に大規模データを扱うときは,全ての訓練集合を扱うと量が膨大なので,一部を抽出して学習することがある => SGD