SVM
読み: エスブイエム
SVMとは高精度なデータ分類手法
SVM(Support Vector Machine)は、データを2つのグループに分ける境界線を引くための機械学習アルゴリズムである。境界線とデータとの距離を最大化することで、未知のデータに対しても高い予測精度を発揮する。
かんたんに言うと
領海を確定する国境線引きのようなものである。互いの島から最も離れた中間地点に線を引くことで、将来新しい小島が見つかっても紛争になりにくい。
未知データにも強いSVMのマージン最大化とカーネル法
データを分類する際、単に直線を引くだけなら無数に正解が存在する。だがSVMは、最も近いデータ点であるサポートベクターからの距離が最大になるように境界線を引く。これがマージン最大化と呼ばれるアプローチ。未知のデータが入力されても誤分類しにくい堅牢なモデルが出来上がる。
直線で分けられない複雑なデータはどう扱うのか。
ここでカーネル法が登場する。データを高次元の空間に変換し、無理やり平面でスライスして分類する手法。二次元の散布図では混ざり合っているデータも、三次元に持ち上げればスパッと切れる面が見つかる。数学的な美しさはあるが、実務ではハイパーパラメータの調整に泣かされることが多い。Cやgammaの値を少し変えるだけで、モデルの挙動が全く別物になるからである。どこで妥協するかは常に悩ましい。
製造や経理の現場でSVMが生きる局面
製造業のラインで不良品を弾くセンサーデータの判定や、経理部門での不自然な経費申請の検知。これらはSVMの強みが生きる局面である。異常値と正常値の境界線を引く作業において、SVMは非常にシャープな結果を出す。
Pythonのライブラリであるscikit-learnを使えば、数行のコードで実装できる。DataRobotやAmazon SageMakerのような機械学習プラットフォームにデータを放り込めば、数十のアルゴリズムを比較した上でSVMがベストだと提案してくることも珍しくない。
ただ、現場のデータは教科書通りにはいかない。
欠損値だらけのExcelデータをそのまま突っ込んでもゴミしか出力されない。前処理の泥臭い作業からは、どんな高価なツールを使っても逃げられないのである。現場の担当者が入力した表記揺れを直すだけで日が暮れることもある。
ディープラーニングとの比較で見える限界
何でもディープラーニングで解決しようとする風潮がある。だが、手元に数百件のデータしかない状況でニューラルネットワークを組むのは愚の骨頂である。過学習を起こして使い物にならなくなる。
少ないデータでカチッとした分類モデルを作るなら、SVMの方がはるかに優秀である。外れ値の影響を受けにくく、限られたサンプルからでも実用的な境界線を見つけ出す。
しかし、データが数百万件を超えるとSVMは途端に息切れする。計算コストがデータ数の2乗から3乗に比例して跳ね上がり、学習がいつまで経っても終わらなくなるのである。AWSのインスタンス料金だけが虚しく溶けていく。
このトレードオフをどう評価するか。データが増え続ける前提のシステムにSVMを組み込むのは、後々の運用を考えると判断が分かれる。
実運用に耐えるアルゴリズムの選択基準
予測精度だけを追い求めるなら、XGBoostやLightGBMを使う手もある。Kaggleなどのコンペティションでは常連のアルゴリズムである。だが、法務部門の契約書リスク判定のように「なぜその結論に至ったか」の説明責任が問われる場面では、複雑すぎるアンサンブル学習は現場から敬遠される。
SVMもカーネル法を使うと中身はブラックボックス化しがちである。線形カーネルに留めて解釈性を残すか、精度を優先して非線形に踏み切るか。
最新の流行りに飛びつく前に、自社のデータ量と説明責任のバランスを天秤にかける。泥臭いデータクレンジングの工数を確保し、運用に耐えるシンプルなモデルを維持する。華やかなAIの裏側は、いつだって地味な決断の連続である。
当社の見解
当社は機密情報のマスキング処理を全てローカルAIで行っている。これにより機密情報を外部に送信せずにAI処理できるようになった。だが、AIが嘘をつくハルシネーションの問題は依然としてある。確認していないのに「確認しました」と言う。当社はこの前提で運用を設計している。事実と推測の強制分離、ファクトチェック機能、3つのAIと人間の同士の三重検証を行っている。どこまでいっても、AIは完璧ではない。理論上100%安全設計をしていても、AIも人間も想定しないことは起こるものだ。その万が一に備えておくことが、AIを使う上では前提になっている。だろうではなく、かもしれない運用がAIを使う上での安全基盤となっている。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
