SVMは、線形分離が常に可能な無限の特徴空間をどのように「見つける」ことができますか?


36

ガウスカーネルを備えたSVMには無限の次元の特徴空間があるという事実の背後にある直観は何ですか?


1
私は質問を本当に理解していません。対応する特徴空間が無限次元である理由の説明や、結果の超平面の意味についての解釈が必要ですか?
マーククレセン

1
両方聞いても構いません!
user36162

5
これは興味深い質問だと思う(+1)

回答:


39

この回答は次のことを説明しています。

  1. 明確なポイントとガウスカーネル(帯域幅が十分に小さい)で常に完全な分離が可能な理由
  2. この分離を線形として解釈する方法、ただしデータが存在する空間とは異なる抽象的な機能空間でのみ
  3. データ空間から機能空間へのマッピングがどのように「見つけられる」か。ネタバレ:SVMでは検出されず、選択したカーネルによって暗黙的に定義されます。
  4. 特徴空間が無限次元である理由。

1.完全な分離を達成する

ガウスカーネルを使用すると、カーネルのローカリティプロパティが任意に柔軟な決定境界につながるため、ガウスカーネルでは常に完全な分離が可能です(異なるクラスの2つのポイントがまったく同じでない場合)。カーネルの帯域幅が十分に小さい場合、正と負の例を区別する必要があるときはいつでも、決定境界はポイントの周りに小さな円を描いたように見えます。

このようなもの

(クレジット:Andrew Ngのオンライン機械学習コース)。

では、なぜこれが数学的な観点から起こるのでしょうか?

標準の設定を考えてみましょう:あなたは、ガウスカーネル持っ とトレーニングデータX 1 Y 1 X 2 y 2 x n K(x,z)=exp(||xz||2/σ2)ここで、 y i 値は ± 1です。分類関数を学びたい(x(1),y(1)),(x(2),y(2)),,(x(n),y(n))y(i)±1

y^(x)=iwiy(i)K(x(i),x)

重みをどのように割り当てるのでしょうか?無限次元空間と二次計画アルゴリズムが必要ですか?いいえ、ポイントを完全に分離できることを示したいだけです。そこで、σを最小の間隔よりも10億倍小さくします| x i x j | | 任意の2つのトレーニング例の間で、設定します。これは、カーネルに関する限り、すべてのトレーニングポイントが10億シグマ離れていることを意味し、各ポイントはその近傍の符号を完全に制御します。正式には、wiσ||x(i)x(j)||、Yをwi=1y^

y^(x(k))=i=1ny(k)K(x(i),x(k))=y(k)K(x(k),x(k))+iky(i)K(x(i),x(k))=y(k)+ϵ

ここで、は任意の小さな値です。は他のポイントから10億シグマ離れているため、は小さいことがわかっています。したがって、すべてのについて、ϵ x k i kϵϵx(k)ik

K(x(i),x(k))=exp(||x(i)x(k)||2/σ2)0.

以来小さいので、、間違いなく同じ符号有するし、分類器は、訓練データに完璧な精度を達成します。YX K Y K ϵy^(x(k))y(k)

2.線形分離としてのカーネルSVM学習

これが「無限次元の特徴空間での完全な線形分離」として解釈できるという事実は、カーネルの秘fromに由来します。

K(x(i),x(j))=Φ(x(i)),Φ(x(j))

ここで、はデータ空間から機能空間へのマッピングです。すぐに、は特徴空間の線形関数として機能します。YXΦ(x)y^(x)

y^(x)=iwiy(i)Φ(x(i)),Φ(x)=L(Φ(x))

ここで、線形関数は、特徴空間ベクトルように定義されますvL(v)v

L(v)=iwiy(i)Φ(x(i)),v

この関数は、では線形です。これは、内積と固定ベクトルの線形結合にすぎないためです。特徴空間では、決定境界は単なるであり、線形関数のレベルセットです。これは、機能空間における超平面のまさに定義です。YX= 0 L V= 0vy^(x)=0L(v)=0

3.マッピングと機能空間を理解する

注:このセクションでは、表記はトレーニングデータではなく、ポイントの任意のセットを指します。これは純粋な数学です。トレーニングデータはこのセクションにはまったく含まれていません。 nx(i)n

カーネルメソッドは、実際に機能空間またはマッピング明示的に「検索」または「計算」することはありません。SVMなどのカーネル学習方法では、それらを機能させる必要はありません。カーネル関数のみが必要です。KΦK

、式を書き留めることは可能です。マップする機能空間は一種の抽象的(および潜在的に無限次元)ですが、本質的には、マッピングはカーネルを使用して単純な機能エンジニアリングを行うだけです。最終結果に関して、カーネルを使用して学習するモデルは、回帰式に入力する前に正の予測変数のログを取得するなど、線形回帰およびGLMモデリングで一般的に適用される従来の機能エンジニアリングと違いはありません。ほとんどの場合、SVMアルゴリズムでカーネルが適切に動作することを確認するために数学が使用されます。SVMアルゴリズムには、スパース性と大きなデータセットへのスケーリングという優れた利点があります。ΦΦΦ

まだ興味がある場合は、次のように機能します。本質的に、我々は、我々が保持するIDを取る、および定義により保持されるように、空間と内積を構築します。これを行うには、抽象ベクトル空間を定義します。各ベクトルは、データが存在する空間から実数までの関数です。ベクトルで:カーネルスライスの有限の線形結合から形成された関数である よりコンパクト に書くと便利ですV X R F V F X= N Σは iは= 1 α I K X I X線F 、F = N Σ I = 1 α I K X I K 、XΦ(x),Φ(y)=K(x,y)VXRfV

f(x)=i=1nαiK(x(i),x)
f
f=i=1nαiKx(i)
ここで、はカーネルの「スライス」を与える関数です。xKx(y)=K(x,y)x

空間上の内積は通常のドット積ではなく、カーネルに基づく抽象的な内積です。

i=1nαiKx(i),j=1nβjKx(j)=i,jαiβjK(x(i),x(j))

このように定義された特徴空間では、はマッピングであり、各点をその点の「カーネルスライス」に取り込みます。XV XΦXVx

Φ(x)=Kx,whereKx(y)=K(x,y).

が正定カーネルの場合、が内積空間であることを証明できます。詳細については、このペーパーを参照してください。(これを指摘してくれたf coppensに称賛を!)KVK

4.特徴空間が無限次元であるのはなぜですか?

この答えは、線形代数の良い説明を与えますが、ここでは、直感と証明の両方を備えた幾何学的な視点を示します。

直感

固定小数点場合、カーネルスライス関数ます。のグラフは、を中心とする単なるです。ここで、特徴空間が有限次元のみである場合、固定されたポイントのセットで有限のバンプセットを取得し、他の場所でガウスバンプを形成できることを意味します。しかし、明らかにこれを行う方法はありません。古いバンプから新しいバンプを作成することはできません。新しいバンプが古いバンプから実際に遠く離れている可能性があるためです。したがって、いくつの特徴ベクトル(バンプ)を使用しても、常に新しいバンプを追加できます。特徴空間では、これらは新しい独立したベクトルになります。したがって、特徴空間は有限次元にはできません。無限でなければなりません。K zx= K zxK z zzKz(x)=K(z,x)Kzz

証明

誘導を使用します。任意の点のセットがあり、ベクトルがは、特徴空間で線形に独立しています。ここで、これらのポイントとは異なるポイント見つけます。実際には、それらすべてから10億シグマ離れています。は最初の特徴ベクトルから線形に独立していると主張します。 Φ x i x n + 1 nx(1),x(2),,x(n)Φ(x(i))x(n+1)nのN Φ X I Φ(x(n+1))nΦ(x(i))

矛盾による証明。それとは反対に、

Φ(x(n+1))=i=1nαiΦ(x(i))

ここで、任意の両側の内積を取得します。アイデンティティにより、Φ ZΦ X= K ZXxΦ(z),Φ(x)=K(z,x)

K(x(n+1),x)=i=1nαiK(x(i),x)

ここで、は自由変数なので、この方程式は2つの関数が同じであることを示す恒等式です。特に、を中心とするガウス分布は、他の点におけるガウス分布の線形結合として表現できると述べています。特に他のすべてのガウスバンプが10億シグマ離れている場合、他のポイントを中心とするガウスバンプの有限の組み合わせから、あるポイントを中心とするガウスバンプを作成できないことは幾何学的に明らかです。そのため、線形依存の仮定は矛盾を引き起こしました。x n + 1 x i xx(n+1)x(i)


6
完全な分離は不可能です。反例:(0,0、ClasssA)、(0,0、ClassB)。このデータセットを分離するのは幸運です!
アノニムース

4
それは...技術的に正しい、最高の種類の正しい!賛成票を持っている。投稿にメモを追加します。
ポール

3
(異なるクラスのサンプル間の最小距離が必要な場合、あなたのポイントは理にかなっていると思います。このシナリオでは、SVMが最近傍の分類器になることを指摘する価値があるかもしれません)
Anony-Mousse

1
有限のトレーニングセットの場合にのみ対処しているため、異なるポイントのトレーニングセットが与えられると、ポイント間の距離は常に最小になります。n
ポール

@Paulセクション2について質問があります。ましょうトレーニングポイントについて当社RKHSでrepresenterことと任意の新しいポイントのそのよう関数ので いくつかについて。私にとって、これは線形回帰のためにの列空間にあるの関数空間バージョンに似ており、線形性が実際に由来する場所です。この説明は正確に見えますか?私はまだこのRKHSのものを非常に学んでいます。ki K 、X、X YX = Σ I W 、I Y I K IK X= Σ I W 、I Y I kは、IX 、Y = ΣのI Z iがkはI 、Z IR Y Xx(i)kxxy^(x)=iwiy(i)ki,kx=iwiy(i)ki(x)y^=izikiziRy^X
jld

12

ガウスカーネルのカーネル行列は、異なるに対して常にフルランクを持ちます。これは、新しい例を追加するたびに、ランクがずつ増加することを意味します。非常に小さく設定した場合、これを確認する最も簡単な方法です。その場合、カーネル行列はほぼ対角線になります。 1σx1,...,xm1σ

ランクが常に1ずつ増加するという事実は、特徴空間内のすべての投影が線形独立(直交ではなく独立)であることを意味します。したがって、各例は、投影のスパン新しい次元を追加します。数え切れないほど多くの例を追加できるため、特徴空間の次元は無限でなければなりません。興味深いことに、、入力空間の特徴空間への投影はすべて球上にあります。。それにもかかわらず、球体の形状は平らです。あなたはそれについての詳細を読むことができますΦ Φ(x) | | Φ x | | ² H =K X X=1Φ(x1),...,Φ(xm)||Φ(x)||H²=k(x,x)=1

バージ、CJC(1999)。カーネルベースのメソッドのジオメトリと不変性。B.Schölkopf、CJC Burges、およびAJ Smola(編)では、カーネルメソッドの進歩がベクトル学習をサポートしています(pp。89–116)。MIT Press。


私はまだ理解していませんが、とにかく
賛成票

つまり、ジオメトリが平坦である理由または無限の次元である理由が理解できないのですか?賛辞をありがとう。
fabee

100個の例がある場合、私の特徴空間は100次元ですか、それともすでに無限次元ですか?「無数の」無限に多くの例を追加できるのはなぜですか?それは可算の無限ではありませんか?ここでなぜ可算/不可算が重要なのですか?私はまだ「平らな球体」について考えようとしませんでした:Dあなたの説明をありがとう!
stmax 14

5
すべての新しい例が以前のすべての例から線形に独立していることを信じてください(同じを除く)。ではを超えたすべてのポイント:あなたはそれを行うことはできません他人に直線的に依存する必要があります。Gaussian RKHSの場合、100の異なる例がある場合、それらは無限次元空間の100次元の部分空間に広がります。そのため、スパンは有限次元ですが、彼らが住んでいる地物空間は無限次元です。新しい点はすべて新しい次元であり、には数え切れないほど多くの点があるため、無限大は数えられません。R n n R n R nxRnnRnRn
fabee

@fabee:私は別の方法で試しましたが、あなたはそれについて多くを知っているようです、多かれ少なかれ「正しかった」かどうか私の答えを見ていただけますか?

5

背景と表記については、サポートベクターから決定境界を計算する方法の答えを参照してください

したがって、「元の」空間の特徴はベクトル、バイナリの結果、ラグランジュ乗数はです。、Y I{ - 1 + 1 } α Ixiyi{1,+1}αi

カーネルは( ' 'は内積を表します)と書くことができることが知られています。ここでは(暗黙的で不明です)新しい機能空間への変換。ΦK(x,y)=Φ(x)Φ(y)Φ

私はこのがどのように見えるかについて「直感的な」説明をしようとするので、この答えは正式な証拠ではなく、これがどのように機能するかについての気持ち伝えたいだけです。私が間違っている場合は私を修正することをheしないでください。私の説明の基礎は、このpdfのセクション2.2.1です。Φ

フィーチャスペース(つまり、私の)を、線形分離が解決される「新しい」フィーチャスペースに「変換」する必要があります。xi

各観測 に対して、関数を定義するため、トレーニングサンプルの各要素に対して関数があります。これらの関数はベクトル空間にます。またがるベクトル空間、に注意してください。(はトレーニングサンプルのサイズです)。xiϕi(x)=K(xi,x)ϕiϕiϕiV=span(ϕi,i=1,2,N)N

このベクトル空間は、線形分離が可能なベクトル空間であると主張しようとします。V スパンの定義により、ベクトル空間各ベクトルは、線形結合、つまりとしてます。ここで、は実数です。したがって、実際には、Vϕii=1NγiϕiγiV={v=i=1Nγiϕi|(γ1,γ2,γN)RN}

はベクトル空間ベクトルの座標であることに注意してください。(γ1,γ2,γN)vV

N学習サンプルのサイズであるため、ベクトル空間の次元まで行くことができるかどうかに応じて、線形独立しています。(前出を参照のこと、私たちは定義されたこのようにし)、というこの手段の大きさ使用したカーネルに依存し、学習サンプルのサイズまで行くことができます。VNϕiϕi(x)=K(xi,x)ϕV

カーネルが「複雑十分」である場合は、すべての独立となり、その後の大きさなり、学習サンプルのサイズ。ϕi(x)=K(xi,x)VN

元の特徴空間をマッピングする変換は、次のように定義されます。V

Φ:xiϕi(x)=K(xi,x)

このマップは、元の特徴空間を、トレーニングサンプルのサイズに達する次元を持つことができるベクトル空間にマップします。Φだから、ベクトルが機能しているベクトル空間に私のトレーニングサンプル内の各観測をマッピングします。私の訓練サンプルからのベクトルは、のベクトル、つまり座標がすべてゼロのベクトル「マッピング」されます。ただし、番目の座標は1です。ΦxiVϕii

明らかに、この変換は(a)カーネルに依存し、(b)トレーニングサンプルの値に依存し、(c)カーネルに応じて、トレーニングサンプルのサイズに達する次元を持ち、( D)のベクトルようなルック、ここで実数です。xiVi=1Nγiϕiγi

サポートベクトルから決定境界を計算する方法の関数を見てください。それことがわかる。SVMによって検出された決定境界はです。f(x)f(x)=iyiαiϕi(x)+bf(x)=0

言い換えれば、は線形結合であり空間の線形分離超平面です。これは、特定の選択、つまり! f(x)ϕi f(x)=0Vγiγi=αiyi

私たちの観測から知られている、 SVMが見つかったことをラグランジュ乗数です。言い換えれば、SVMは、カーネルを使用し、2次計画問題を解くことにより、 -spaveの線形分離を見つけます。α I VyiαiV

これは、「カーネルトリック」によって元の機能空間を異なる次元の新しい機能空間に「暗黙的に」変換する方法についての私の直感的な理解です。この次元は、使用するカーネルに依存し、RBFカーネルの場合、この次元はトレーニングサンプルのサイズに達する可能性があります。トレーニングサンプルのサイズは任意であるため、これは「無限」に達する可能性があります。明らかに、非常に高次元の空間では、過剰適合のリスクが増加します。V

カーネルは、SVMが機能空間を変換することを可能にする手法です。また、ガウスカーネルがPCAにとって魔法のようになっているのはなぜですか。


+1これは堅実です。この資料を自分の説明スタイルに翻訳し、回答に追加しました。
ポール

5

残念ながら、fcopの説明はまったく間違っています。まず第一に、「カーネルは...で記述できることが知られています。ここで...は、新しい機能空間への(暗黙的かつ未知の)変換です。」不明ではありません。これは、実際には、フィーチャがマップされる空間であり、これは、RBFの場合のように無限次元になる可能性のある空間です。カーネルは、その変換された特徴ベクトルとトレーニング例の変換された特徴ベクトルの内積を取り、その結果に何らかの関数を適用します。したがって、この高次元の特徴ベクトルを暗黙的に表します。たとえば、x ^ 2 + 2xy + y ^ 2の代わりに(x + y)^ 2と書くことを考えてください。ここで、指数関数によって暗黙的に表される無限シリーズを考えてみてください...無限の特徴空間があります。

SVMについて考える正しい方法は、トレーニングセットのサイズと同じ大きさの別の有限次元「カーネル」機能空間で暗黙的に表現される可能性のある無限次元の機能空間に機能をマッピングすることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.