SVM の原理に関する詳細なグラフィック チュートリアル!カーネル関数を自動的に選択する1行のコードと実用的なツールがあります

SVM の原理に関する詳細なグラフィック チュートリアル!カーネル関数を自動的に選択する1行のコードと実用的なツールがあります

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

SVM?これは古い分類アルゴリズムであり、入手は簡単です。

しかし、上司から SVM の説明を求められた時や、面接で SVM について質問された時はいつも、言葉に詰まってしまい、多くの間違いを犯してしまいます。

「この人たちはどうやっていつも私の盲点をあんなに正確に見つけるんだろう?」

人々は自分が習得したものが偽の SVM ではないかと疑うようになります。

このような問題がある場合、このSVM の数学的原理が非常に役立ちます。見てみましょう。

SVMは線形分類から始まる

SVM を理解するには、まず「線形分類器」という概念を明確にする必要があります。

いくつかのデータ ポイントが与えられ、それらは 2 つの異なるクラスに属します。次に、これらのデータを 2 つのクラスに分類する線形分類器を見つける必要があります。

x がデータ ポイントを表し、y がカテゴリを表す場合 (y は 1 または -1 で、それぞれ 2 つの異なるカテゴリを表します)、線形分類器の目的は、n 次元データ空間で x のデータ ポイントを 2 つのカテゴリに分割する超平面を見つけることです。この超平面は、両側のデータから最大の間隔を持ちます。

この超平面の方程式は次のように表すことができます (wT の T は転置を表します)。

2次元座標系では、超平面は直線である

f(x) が 0 に等しい場合、x は超平面上の点であり、f(x) が 0 より大きい点は y=1 のデータ点に対応し、f(x) が 0 より小さい点は y=-1 のデータ点に対応します。

SVM が目指すのは、各タイプのサンプル ポイントから超平面までの最長距離を見つけること、つまり最大マージン超平面を見つけることです。任意の超平面は次の線形方程式で記述できます。

2次元の点 (x, y) から直線 Ax+By+C=0 までの距離の式は次のとおりです。

n次元空間に拡張すると、点x=(x1, x2…xn)から直線wTx+b=0までの距離は次のようになります。

で:

サポート ベクトルの定義によれば、サポート ベクトルから超平面までの距離は d であり、他の点から超平面までの距離は d より大きくなります。

つまり、次のようになります。

||w||dは正の数なので、1 とします (1 に等しい理由は、導出と最適化を容易にするためであり、目的関数の最適化には影響しません)。したがって、

2 つの方程式を組み合わせると、次のようになります。

この時点で、最大マージン超平面の上部超平面と下部超平面を取得しました。

各サポートベクトルから超平面までの距離は次のように表すことができます。

y(wTx+b)>1>0 より、 y(wTx+b)=|wTx+b|となり、サポートベクトルから超平面までの距離は次のように書き直すことができます。

この距離を最大化します:

2 を掛けるのは、後続の導出の便宜を図るためであり、目的関数には影響しません。

サポートベクターを代入すると次のようになります。

したがって、最適化の問題は次のようになります。

外れ値への対処

場合によっては、いくつかの点 (x(i), y(i)) に対して、分類器が誤った決定を下すことがあります。

実際に使用するための SVM モデルを開発する際には、過剰適合を回避するために冗長性が設計されていますが、それでも、より小さな範囲内でエラーを制御する方法を見つける必要があります。

この問題は、モデルにペナルティ メカニズム(c で示される) を追加することで解決できます。

SVM の出力が E であると仮定すると、上図の E=0 はペナルティがないことを意味します。

c が非常に大きい場合、モデル分類はより正確になりますが、サポート ベクトルから超平面までの距離が小さくなり、過剰適合に陥りやすくなります。

c = 1 の場合、サポート ベクトルから超平面までの距離が最大化されます。分類エラーが発生する可能性はありますが、これはより良い解決策です。

制約付き凸最適化問題

制約付き凸最適化問題を克服するために、PEGASOS アルゴリズムが使用されます。

制約付き独立方程式を書き直します。

上記の式は、点が線から遠く離れている場合は誤差がゼロになり、そうでない場合は誤差が (1-t(i)) になることを意味します。

最小限に抑える必要があるのは次の点です。

制約が削除されるため、損失を最小限に抑えるために勾配降下法を採用できます。

勾配降下アルゴリズムは損失を計算します。

SVM に勾配降下法を適用します。

非線形分類

SVMを用いて非線形データを分類するには、データを高次元に投影すること、つまり、低次元データの特徴ベクトルを増やして低次元データを高次元データに変換する必要がある。

データ特徴ベクトルを追加するには膨大な計算リソースが必要になるため、ここではカーネル関数が使用されます。

このアプローチの最も難しい部分は、独自のモデルに適したカーネル関数を選択することです。

ここでは、自動パラメータ調整方法GridSearch をお勧めします。

さまざまなカーネル関数 (線形、RBF、多項式、シグモイドなど) にラベルを付け、それらを順番に呼び出して、モデルに最適なものを見つけます。

変数パラメータを定義します:

  1. パラメータ = [{'カーネル':['線形', 'rbf', 'ポリ', 'シグモイド'], 'c':[ 0.1 , 0.2 , 0.5 , 1.0 , 2.0 , 5.0 ]}

電話:

上記では、SVM の背後にある数学的原理を詳しく説明し、SVM モデルを使用する際の問題に対するいくつかの解決策を示します。

このうち、コードを使ってカーネル関数を自動選択する方法は、海外ブロガーのDaksh Trehan氏によるものです。

SVM の原理についてより深く理解している場合、またはその他の実用的なヒントがある場合は、メッセージを残してみんなと共有してください。

<<:  IIoTとAIは大きな課題に直面している

>>:  プロジェクトを始めたいけれど、どこから始めればいいのか分からないですか?興味深いオープンソースの機械学習プロジェクト7つを試してみる

ブログ    

推薦する

人工知能の舞台裏:マイクロソフトとOpenAIのスーパーコンピューターはアイオワ州で大量の水を消費している

9月10日、マイクロソフトとOpenAIが共同開発した人工知能システム「ChatGPT」のトレーニ...

AIがデータセンターの設計をどう変えるか

AI システムへの世界的な支出は 2023 年から 2026 年の間に 2 倍になると予想されており...

...

...

【他者から学ぶ】360 多面的関心の想起マインド実践的最適化

1. 事業背景ショートビデオや情報ストリームなどのシナリオの増加に伴い、ユーザーはこれらのシナリオで...

Amazon AWSが新しいAIチップをリリース、Nvidia H200も提供

11月29日、米国時間火曜日に開催されたReinventカンファレンスにおいて、アマゾンのクラウドコ...

シリコンバレーの人工知能専門家:人類は20年以内に老化の束縛から解放されるかもしれない

現在、世界最高齢の人は、ギネス世界記録に認定された118歳の日本人老人、田中カネさんです。田中選手の...

中国、米国、欧州における人工知能開発の現状の比較分析

1. 背景と比較方法[[393581]]人工知能は、経済、安全保障、社会の発展を促進する基礎技術です...

2019年に人工知能をマスターするには?世界のAI専門家が答えを教えます

[[265422]]人工知能はビジネスを変えています。自然言語処理やインテリジェント音声からモノのイ...

びっくり! 7万時間の訓練を経て、OpenAIのモデルは「Minecraft」で木材の設計を学習した。

最近、GPTを忘れてしまったかのようなOpenAIが新たなアイデアを思いつきました。大量のラベルなし...

AIがトランプ氏をダンサーに変身させ、蔡旭坤とともに「チキン、ユー・アー・ソー・ビューティフル」を踊った

[[357996]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

AMD: Meta はクラウド チップを使用して新しい AI 戦略をサポートします

米国現地時間6月14日火曜日、半導体大手AMDは、市場リーダーのNvidiaに挑戦するため、第4四半...

本当に良いものです!機械学習技術と市場の最強評価ガイド

【51CTO.comオリジナル記事】機械学習の特許は、2013 年から 2017 年の間に 34% ...

2018年に「ブロックチェーン+人工知能」について知っておくべきこと

現在、ビジネス界、テクノロジー界、金融界を問わず、最もホットな言葉は「ブロックチェーン」に他なりませ...