LoginSignup
1
2

More than 3 years have passed since last update.

機械学習 サポートベクターマシン 講義課題視聴レポート (現場で潰しが効くディープラーニング講座)

Posted at

サポートベクターマシン

サポートベクターマシン(SVM)
  • 2クラス分類のための機械学習手法
  • マージンを最大化する決定境界を求める。
  • それぞれのグループの中で最も決定境界に近いデータ点をサポートベクターと呼び、サポートベクターと決定境界の距離をマージンと呼ぶ。 無題23.png 無題24.png
主問題
  • 最適化問題には主問題と双対問題があり、お互いに補集合の関係であり、主問題を最小化する解は双対問題を最大化する解と一致するという性質がある
  • 上記の目的関数と制約条件の最小化問題(主問題)をラグランジュ未定乗数法で解く(主成分分析と同様)
    無題25.png

  • ラグランジュ関数からwを消去した形が双対問題となる
    無題26.png

  • 制約付き最適化問題において最適解が満たす条件をKKT条件(カルーシュ・クーン・タッカー条件)という。
    無題27.png

  • 主問題、双対問題、KKT条件から最適解は以下の通りになる
    無題28.png
    無題29.png

ソフトマージンSVM
  • 学習データを線形分離できないとき、誤差を許容し誤差に対してペナルティを与えるモデル
    無題30.png

  • ソフトマージンSVMの目的関数と制約条件は以下のようになる
    無題31.png
    無題32.png

  • 線形分離できない場合でも対応できる。

  • パラメータCの大小で決定境界が変化する。Cが大きいときは誤差をなるべく許容しないように、Cが小さいときは誤差をより許容するように決定境界が引かれる。

非線形分離
  • 線形分離できないときは特徴空間に写像し、その空間で線形に分離する方法がある。
    無題33.png
    無題34.png

  • より複雑な問題になると、上記の方法では計算が複雑になってしまう。そこで写像した特徴空間の内積が元の特徴ベクトルの関数で表す。これをカーネル関数と呼ぶ。このカーネル関数を使って非線形問題を解く方法をカーネルトリックと呼ぶ。
    無題35.png

  • よく使われるカーネル関数は多項式カーネルとガウシアンカーネルの2つである
    無題36.png

ハンズオン

無題.png
無題1.png
無題2.png
無題3.png
無題4.png
無題4.5.png
無題5.png
無題6.png
無題7.png
無題8.png
無題9.png
無題10.png
無題11.png
無題12.png
無題13.png
無題14.png
無題15.png
無題16.png

サマリーと考察
  • ランダムなデータを生成し、線形分離、非線形分離、ソフトマージンSVMでそれぞれモデルを作成
  • 線形分離、非線形分離はきれいに分けることができるようにデータが生成されているため、分離させることができた。実際の分析では、このようにきれいに分かれたデータを使うことは少ないと考えられるため、ソフトマージンSVMがよく使われると考えられる
  • ソフトマージンSVMについて、パラメータCの大きさを変えて実行してみたところ、Cが小さい場合はマージンが大きくとられ、Cが大きい場合はマージンが小さくとられる。データのばらつき具合にもよるが0.1~1の間で決めるのが良いと考える。 無題14.png 無題15.png 無題126.png
参考文献
  • 「東京大学のデータサイエンティスト育成講座」著者:塚本邦尊、山田典一、大澤文孝
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2