ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

SVM(サポートベクターマシーン)

SVM(サポートベクターマシーン)とは?

SVMの歴史 1963年にウラジミール・ヴァプニクが発表したものが、1992年に非線形分類問題にも対応できるように拡張され、近年さらに注目されています。

SVMの基本的な流れ

  1. データの集合体を2つのグループに分類するための境界を決定します。
  2. この境界は、既に正解が判明しているデータを基にして決められます。
  3. 境界の位置は「マージンの最大化」という目的で決定されます。

マージンとは?

  • マージンは、識別境界と2つのグループの間の距離を指します。
  • マージン最大化は、双方の隙間を平等に開くことで、未知のデータに対する正解の幅を広げる試みです。

カーネル法

すべてのデータに直線的な境界が引けるわけではありません。このような場合に対応するために「カーネル法」が使用されます。 カーネル法は、高次元の特徴空間にデータを変換することで、線形分類器では対応できない問題でも分類が可能になります。

サポートベクトルマシンのカーネル法とは?

カーネル法は、データの構造(クラスタ、ランキング、主成分など)を見つけるための手法です。カーネル法の目的は、データを高次元の特徴空間に変換することです。この変換をすることで、データの構造をより明確に分析することができます。

なぜカーネル法が必要なのか?

あるデータが線形に分離できない場合、カーネル法を使用してデータを高次元に変換することで、分離が可能になることがあります。 例えば、2Dのデータを1Dの直線で分離できない場合、このデータを多次元に拡張することで分離できるようになります。

カーネルトリックとは?

高次元に変換したデータの内積を計算するのは計算量が多くなるため、カーネルトリックという方法を使用して、高次元に変換せずに内積を計算することができます。 カーネル関数を使用すると、高次元のデータの内積を直接計算せずに、元のデータの内積を使用して計算することができます。

カーネル関数の例

  1. ガウスカーネル:
  2. 多項式カーネル:
  3. シグモイドカーネル:

カーネル法は、データを高次元に変換して、線形分離が難しいデータを分離しやすくする方法です。カーネルトリックを使用することで、高次元の計算を簡単にすることができます。

youtu.be

深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版 (EXAMPRESS) [ 一般社団法人日本ディープラーニング協会 ]

価格:3,080円
(2023/8/16 20:42時点)
感想(5件)