非線形データに可能な限りカーネルトリックを使用する必要がありますか?


13

私は最近、カーネルトリックの使用について学びました。カーネルトリックは、これらの次元のデータを線形化するために、データを高次元の空間にマップします。このテクニックの使用を避けるべきケースはありますか?適切なカーネル関数を見つけるだけの問題ですか?

線形データの場合、これはもちろん有用ではありませんが、非線形データの場合、これは常に有用であると思われます。線形分類器の使用は、トレーニング時間とスケーラビリティの点で非線形よりもはるかに簡単です。

回答:


8

線形データの場合、これはもちろん有用ではありませんが、非線形データの場合、これは常に有用であると思われます。線形分類器の使用は、トレーニング時間とスケーラビリティの点で非線形よりもはるかに簡単です。

@BartoszKPは、カーネルトリックが便利な理由をすでに説明しています。あなたの質問に完全に対処するために、私が指摘したいのは、非線形に分離可能なデータを扱う唯一の選択肢はカーネル化ではないということです。

モデルの非線形化には、少なくとも3つの優れた一般的な代替手段があります。

  • ニュートラルネットワークベースの方法。1つ(または複数)の処理ユニットのレイヤーを追加し、データを線形分離可能なケースに変換できます。最も単純なケースでは、シグモイドベースのレイヤーであり、プロセスに非線形性を追加します。ランダムに初期化されると、上位層の勾配ベースの最適化中に更新を取得します(実際に線形問題を解決します)。
  • 特に、ここでディープラーニング技術を使用して、さらに線形分類するためのデータを準備できます。これは前のアイデアと非常に似ていますが、ここではまず、線形モデルのトレーニングに基づいてさらに微調整するための適切な開始点を見つけるために、処理レイヤーをトレーニングします。
  • ランダム投影-事前定義された空間から(非線形)投影をサンプリングし、その上で線形分類器をトレーニングできます。このアイデアは、非常に効率的な線形ソルバーを使用してランダム投影で単純な分類器を訓練し、非常に優れたパフォーマンスを達成する、いわゆる極端な機械学習で大きく活用されています(分類と回帰の両方の非線形問題で、例えば極端な学習をチェックアウトマシン)。

要約すると、カーネル化は優れた非直線化手法であり、問題が線形でない場合に使用できますが、これは盲目的な「もし」のアプローチではありません。これは、問題と要件に応じてさまざまな結果につながる可能性がある、少なくともいくつかの興味深い方法の1つにすぎません。特に、ELMはカーネル化されたSVMによって与えられるものと非常によく似たソリューションを見つける傾向がありますが、同時に行の大きさをより速くトレーニングできます(したがって、カーネル化されたSVM よりもはるかに優れたスケールアップが可能です)。


10

線形手法の場合、一般にカーネルトリックに支払う代償は、より一般化された範囲にあります。線形モデルの場合、VC次元は次元数の点でも線形です(たとえば、パーセプトロンのVC次元はd + 1)。

さて、複雑な非線形変換を高次元空間に実行すると、仮説セットのVC次元は大幅に大きくなります。これは、新しい高次元空間の次元数に関して線形になったためです。それに伴い、一般化の限界が上がります。

サポートベクターマシンは、次の2つのことを行うことにより、最も効率的な方法でカーネルトリックを活用します。


1
「重みの数に関しても線形」は、重みの数ではなく、空間次元に関してです。必要な数の重みで線形化された線形分類器をパラメーター化できますが、そのVC次元は依然としてd + 1です(dは空間次元)。「SVMモデルのVC次元はサポートベクターの数に関連しています」VC次元はSVの数にどの程度正確に対応していますか?私はハードマージンの限界を知っていますが、ソフトマージンの場合はそのような関係はありません。Radamacherの複雑さの限界でさえ、変数としてSVの数を見つけることはありません。
lejlot

また、「カーネルのターゲットスペースがどれだけ「無関係」であるか、一般化の限界に関しては何も失うことはありません」は、私が完全に間違っていることを知っている限りです。高次元の空間は、SVMのような強く正則化されたモデルであっても、一般化機能を失うことになります。
lejlot

1
@lejlotありがとう、最初の2つの間違いを修正しました。最後の2つの発言に関連する時間が必要です-情報を再確認した後、答えを改善し、いくつかの情報源を提供しようとします:)
BartoszKP 14

1
今ではほとんど正しいですが、仮定の理由は何ですか、カーネルスペースのサイズは無関係です?任意のデータセットを取得し、RBFカーネルとC-> infを使用してSVMを実行すると、ひどく過剰に適合します。それほど単純ではありません。特徴空間の次元数は重要ですが、Cで制御できます(ラグランジュ乗数の上限として)。特に、RBFを使用したSVMのVC次元は無限であり、一般化限界(Vapnikの)は無意味です(Radamacherは機能しますが、これはまったく別の話です)。
lejlot

1
@lejlot私は別の参照を与えました-彼らは明示的にソフトマージンケースの境界を提供し、それは次元の数に依存しません。
BartoszKP 14

6

私はあなたの質問に非技術的な答えを提供しようとします。

実際、線形が優先されるべきであり、あなたが言及する理由、トレーニング時間、スケーラビリティに加えて、最終モデルの解釈の容易さ、プライマリまたはデュアルでの作業の選択、過剰適合に対するより大きな耐性などのために最初の選択肢でなければなりません

線形モデルで十分なパフォーマンスが得られない場合は、非線形ソリューションを試すことができます。考慮すべきいくつかのトレードオフは次のとおりです。

  • カーネルの選択。これは明らかではありません。通常、異なるオプションをテストする必要があります
  • トレーニングセットをオーバーフィットする危険があります。実際には、必要に応じてオーバーフィットするのはかなり簡単です。過剰適合を回避するには、より強力な評価フレームワークが必要で(見えないデータのパフォーマンスの分散/安定性を測定する必要があります)、適切なモデル選択を行うために十分なデータが必要です
  • デュアルで作業しているため、最終モデルを解釈できません。つまり、フィーチャXがフィーチャYなどよりも重要であると主張することはできません。
  • トレーニング時間はデータの量とともに増加します(デュアルであるため、機能の数が少なくなります)

これは、機能の重要性を主張できない「デュアルでの作業」に関する興味深い洞察です。さらに説明する資料への参照はありますか?
javadba
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.