5章サポートベクトルマシン(SVM)

サポートベクトルマシン(SVM)は、線形/非線形の分類/回帰だけでなく、外れ値検出さえできる強力で柔軟な機械学習モデルである。機械学習でもっとも広く使われているモデルの1つであり、機械学習に関心を持つ人なら、当然使いこなせなければならない。SVMは複雑ながら中小規模のデータセットの分類に特に適している。

この章では、SVMの基本概念、使い方、動作の仕組みを説明する。

5.1 線形SVM分類器

SVMの基本的な考え方は、図を使って説明するとわかりやすい。図5-1は、4章の終わりの方で紹介したirisデータセットの一部を示している。この2つのクラスは、明らかに直線で簡単に分割できる(線形分割可能、lineary separableである)。左のグラフは、考え得る3種類の線形分類器の決定境界を示している。破線の決定境界を持つモデルは非常に性能が低く、クラスを正しく分割することさえできない。ほかの2つは、この訓練セットに対しては完璧に機能するが、決定境界がインスタンスに近いため、新しいインスタンスに対しても同じような性能を発揮することはできないだろう。一方、右側のグラフの実線は、SVM分類器の決定境界を示している。この線は2つのクラスを分割できているだけでなく、もっとも近い訓練インスタンスからの距離ができる限り遠くなるようにしている。SVM分類器は、クラスの間にできる限り太い道(2本の平行な破線で表されている)を通すものだと考えることができる。これをマージンの大きい分類と呼ぶ。

図5-1 マージンの大きい分類

「道から外れた」訓練インスタンスを増やしても、決定境界に影響は及ばないことに注意しよう。決定境界は、道のきわにあるインスタンスによって決まる(サポートされる)。このようなインスタンスのことを ...

Get scikit-learn、Keras、TensorFlowによる実践機械学習 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.