- SVMは「Support Vector Machine(サポート ベクター マシーン)」の略で、教師あり学習の機械学習アルゴリズムの一つです。
- このアルゴリズムは特に認識性能に優れており、画像のパターン認識などによく使用されます。
SVMの歴史 1963年にウラジミール・ヴァプニクが発表したものが、1992年に非線形分類問題にも対応できるように拡張され、近年さらに注目されています。
SVMの基本的な流れ
- データの集合体を2つのグループに分類するための境界を決定します。
- この境界は、既に正解が判明しているデータを基にして決められます。
- 境界の位置は「マージンの最大化」という目的で決定されます。
マージンとは?
- マージンは、識別境界と2つのグループの間の距離を指します。
- マージン最大化は、双方の隙間を平等に開くことで、未知のデータに対する正解の幅を広げる試みです。
すべてのデータに直線的な境界が引けるわけではありません。このような場合に対応するために「カーネル法」が使用されます。 カーネル法は、高次元の特徴空間にデータを変換することで、線形分類器では対応できない問題でも分類が可能になります。
サポートベクトルマシンのカーネル法とは?
カーネル法は、データの構造(クラスタ、ランキング、主成分など)を見つけるための手法です。カーネル法の目的は、データを高次元の特徴空間に変換することです。この変換をすることで、データの構造をより明確に分析することができます。
なぜカーネル法が必要なのか?
あるデータが線形に分離できない場合、カーネル法を使用してデータを高次元に変換することで、分離が可能になることがあります。 例えば、2Dのデータを1Dの直線で分離できない場合、このデータを多次元に拡張することで分離できるようになります。
カーネルトリックとは?
高次元に変換したデータの内積を計算するのは計算量が多くなるため、カーネルトリックという方法を使用して、高次元に変換せずに内積を計算することができます。 カーネル関数を使用すると、高次元のデータの内積を直接計算せずに、元のデータの内積を使用して計算することができます。
カーネル関数の例
カーネル法は、データを高次元に変換して、線形分離が難しいデータを分離しやすくする方法です。カーネルトリックを使用することで、高次元の計算を簡単にすることができます。
深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版 (EXAMPRESS) [ 一般社団法人日本ディープラーニング協会 ] 価格:3,080円 |