サポートベクターマシンとは

サポートベクターマシンとは、データを2つのグループに分ける境界線を、両グループのあいだの余白がいちばん広くなるように引く機械学習の手法です。SVMと略されます。境目になるべく余裕をもたせて引くため、新しいデータが来てもギリギリで誤判定しにくいのが持ち味で、深層学習が広まる前の主役のひとつでした。

「余白を最大にする」という考え方

たとえば、メールを「迷惑メールか/そうでないか」の2つに振り分けたいとします。境界線は何本でも引けますが、SVMは両グループからもっとも距離が空く一本を選びます。境目に余裕があるほど、未知のデータをまちがえにくくなるという発想です。さらに、まっすぐな線では分けられないデータも、うまく変換して分けられるようにする「カーネル」という工夫を組み合わせられます。

深層学習の前に活躍した王道手法

SVMの基礎はウラジミール・バプニクらが1964年に考え出し、現在の形は1995年に発表されました。1990年代から2000年代にかけて、手書き文字の認識や文章の分類などで広く使われた、機械学習の王道手法です。いずれもChatGPTが登場した2022年や、深層学習が一気に広まった2012年よりもずっと前のことで、AIには生成AI以前から地道に積み上げられた技術の歴史があります。

現在は、大量の画像や文章を扱う分野では深層学習に主役を譲りました。それでも、データが多くないケースや、項目数の多いデータの分類では今も実用的で、用途に応じて使い分けられています。

Topic境界線を決めているのは、ぎりぎりの少数派だけ

「サポートベクター」という名前は、境目を実際に支えているデータ点を指します。意外なことに、何千件データがあっても、境界線の位置を決めているのは“境目すれすれ”にあるごく一部の点だけです。境界から遠い大多数のデータは、線の位置にいっさい影響しません。多数決ではなく、いちばん際どい少数派が判断を決めている、という直感に反する設計が、この手法の核になっています。

サポートベクターマシンに関するよくある質問

「余白を最大にする」とはどういうことですか?
2つのグループを分ける境界線は何本でも引けますが、SVMは両グループからもっとも距離が空く一本を選びます。境目に余裕があるほど未知のデータをまちがえにくくなる、という発想です。まっすぐな線で分けられないデータも「カーネル」という工夫で分けられます。
深層学習が主流の今、SVMはもう使われないのですか?
大量の画像や文章を扱う分野では深層学習に主役を譲りましたが、データが多くないケースや項目数の多いデータの分類では今も実用的です。基礎は1964年に考案、現在の形は1995年発表で、1990〜2000年代に手書き文字認識や文章分類で広く使われた王道手法です。
「サポートベクター」という名前は何を指すのですか?
境目を実際に支えているデータ点を指します。何千件あっても、境界線の位置を決めているのは“境目すれすれ”のごく一部の点だけで、遠い大多数は線の位置にいっさい影響しません。多数決ではなく、いちばん際どい少数派が判断を決める設計です。