César Souza

近年、特にサポートベクターマシンの人気の高まりにより、カーネルメソッドが大きな注目を集めています。 カーネル関数は、ドット積で表現できるアルゴリズムの線形性から非線形性への単純なブリッジを提供するため、多くのアプリケーションで使用できます。 この記事では、いくつかのカーネル関数とそのプロパティのいくつかをリストします。

  • すべてのカーネル関数のソースコードをここで確認してください。

これらの関数の多くは、次の場所に組み込まれています。Accord.NET、機械学習、統計、およびコンピュータビジョンアプリケーションを作成するためのフレームワーク。

コンテンツ

  1. カーネルメソッド
    1. カーネルトリック
    2. カーネルプロパティ
    3. 右のカーネルを選択
  2. カーネル関数
    1. 線形カーネル
    2. 多項式カーネル
    3. ガウスカーネル
    4. 指数カーネル
    5. ラプラシアンカーネル
    6. ANOVAカーネル
    7. ANOVAカーネル
    8. 双曲線正接(シグモイド)カーネル
    9. 有理二次カーネル
    10. 多平方カーネル
    11. 逆多平方カーネル
    12. 円形カーネル
    13. 球面カーネル
    14. 波カーネル
    15. パワーカーネル
    16. ログカーネル
    17. スプライン カーネル
    18. Bスプラインカーネル
    19. ベッセルカーネル
    20. コーシーカーネル
    21. カイ二乗カーネル
    22. ヒストグラム交差カーネル
    23. 一般化ヒストグラム交差カーネル
    24. 一般化されたT-Studentカーネル
    25. ベイズカーネル
    26. ウェーブレットカーネル
  3. ソースコード
  4. 関連項目
  5. 関連項目
  6. 関連項目
  7. 関連項目
  8. 関連項目
  9. 関連項目
  10. 関連項目
  11. 関連項目
  12. 関連項目
  13. 関連項目
  14. 関連項目
  15. 関連項目
  16. 関連項目
  17. 関連項目/li>

カーネルメソッド

カーネルメソッドは、パターン分析または認識のためのアルゴリズムのクラスであり、その最もよく知られている要素はサポー パターン分析の一般的なタスクは、一般的なタイプのデータ(シーケンス、テキスト文書、点の集合、ベクトル、画像、グラフなど)における一般的なタイプの関係(クラ

しかし、カーネルメソッドの主な特徴は、この問題に対する明確なアプローチです。 カーネルメソッドは、この高次元空間でデータがより簡単に分離されたり、より良い構造化されたりすることを期待して、データをより高い次元空間にマッ また、この写像の形式には制約がなく、無限次元空間につながる可能性さえあります。 しかし、このマッピング関数は、カーネルトリックと呼ばれるツールのために計算する必要はほとん

カーネルトリック

カーネルトリックは非常に興味深く、強力なツールです。 これは、線形性から非線形性への橋渡しを、2つのベクトル間の内積の項だけで表現できる任意のアルゴリズムに提供するため、強力です。 これは、最初に入力データを高次元空間にマップすると、この空間で動作する線形アルゴリズムが元の入力空間で非線形に動作するという事実に

マッピングを計算する必要がないため、カーネルのトリックは本当に興味深いものです。 このアルゴリズムが2つのベクトル間の内積でのみ表現できる場合、必要なのはこの内積を他の適切な空間からの内積に置き換えることだけです。 それは”トリック”が存在する場所です:内積が使用される場所はどこでも、それはカーネル関数に置き換えられます。 カーネル関数は特徴空間内の内積を表し、通常は次のように表されます。

K(x,y)=<φ(x),φ(y)>

カーネル関数を使用すると、入力点を明示的にこの空間にマッピングすることなく、アルゴリズムを高次元空間に運ぶことができます。 これは、高次元の特徴空間が無限次元であっても計算することが不可能であることがあるため、非常に望ましいことです。

カーネルのプロパティ

カーネル関数は、連続的で対称でなければならず、最も好ましくは正の(半)定値グラム行列を持つ必要があります。 マーサーの定理を満たすと言われる核は正の半定値であり、核行列は負でない固有値しか持たないことを意味する。 正定カーネルを使用すると、最適化問題は凸であり、解は一意であることが保証されます。しかし、厳密に正定値ではない多くのカーネル関数も、実際には非常にうまく機能することが示されています。

しかし、厳密に正定値ではないカーネル関数 一例はシグモイドカーネルであり、広く使用されているにもかかわらず、そのパラメータの特定の値に対して正の半定値ではありません。 Boughorbel(2005)はまた、条件付き正定値のみであるカーネルが、いくつかのアプリケーションではほとんどの古典的なカーネルよりも優れている可能性があることを実験的に実証した。

カーネルは、異方性定常、等方性定常、コンパクトに支持された、局所的に静止した、非定常または分離可能な非定常として分類することもできる。

カーネルは、異方性定常、等方性定常、コンパクトに支持された、局所的 さらに、カーネルはスケール不変またはスケール依存とラベル付けすることもでき、スケール不変カーネルがデータのスケーリングに対して不変な学習プロセスを駆動するので興味深い特性である。

適切なカーネルを選択する

最も適切なカーネルを選択することは、手元の問題に大きく依存し、そのパラメータを微調整することは退屈で面倒な 自動カーネル選択が可能であり、Tom HowleyとMichael Maddenの作品で議論されています。

カーネルの選択は、モデル化しようとしているものに依存するため、手元の問題に依存します。 例えば、多項式カーネルは、多項式の次数までの特徴結合をモデル化することを可能にする。 放射状基底関数は、線(または超平面)のみを選択することを可能にする線形カーネルを持つconstrastで、円(または超平面)を選択することを可能にする。

特定のカーネルの選択の背後にある動機は、データについてどのような情報を抽出することを期待しているかに応じて、非常に直感的で簡単です。 このトピックに関するより良い説明については、Manning、Raghavan、Schützeによる”Introduction to Information Retrieval”からこのトピックに関する最後の注意事項を参照してください。

カーネル関数

以下は、既存の文献から利用可能ないくつかのカーネル関数のリストです。 以前の記事の場合と同様に、以下の式のすべてのLaTeX表記は、代替テキストhtmlタグから容易に入手できます。 私はそれらのすべてが完全に正しいことを保証することはできませんので、ご自身の責任でそれらを使用してください。 それらのほとんどは、最初に使用または提案された記事へのリンクを持っています。

1. Linear Kernel

  • Linear kernel documentation-linear kernelのソースコード–.NETでSvmを作成する方法Accord.NET

線形カーネルは最も単純なカーネル関数です。 これは、内積<x,y>にオプションの定数cを加えたもので与えられます。

k(x、y)=x^T y+c

2。 多項式カーネル

多項式カーネルは非定常カーネルです。 多項式カーネルは、すべての学習データが正規化される問題に適しています。P>

k(x,y)=(alpha x^T y+c)^d
調整可能なパラメータは、傾きアルファ、定数項c、多項式次数dです。

3。 ガウス核

ガウス核は動径基底関数核の一例である。また、

k(x,y)=expleft(-gamma lVert x-y rVert^2)

k(x,y)=expleft(-gamma lvert x-y rVert^2)

k(x,y)=expleft(-gamma lvert x-y rVert^2)

k(x,y)=expleft(-gamma lvert x-y rVert^2)

k(x,y)=expleft(-gamma lvert x-y rVert^2)

調整可能なパラメータsigmaは、カーネルのパフォーマンスに大きな役割を果たしており、手元の問題に慎重に調整する必要があります。 過大評価された場合、指数関数はほぼ直線的に動作し、高次元投影はその非線形パワーを失い始めます。 一方、過小評価された場合、関数は正則化を欠いており、決定境界は学習データのノイズに非常に敏感になります。

4. Exponential Kernel

exponential kernelはガウスkernelと密接に関連しており、ノルムの二乗のみが除外されています。 また、動径基底関数核でもある。p>

k(x,y)=expleft(-frac{lVert x-y rVert}{2sigma^2}right)

5. Laplacian Kernel

laplace Kernelは指数カーネルと完全に同等ですが、sigmaパラメータの変化にはあまり敏感ではありません。 これは等価であり、動径基底関数核でもある。

k(x,y)=expleft(-frac{lVert x-y rVert}{sigma}right)

ガウス核のシグマパラメータについて行われた観測は、指数核とラプラシアン核にも適用されることに注意するこ

6. ANOVAカーネル

ANOVAカーネルは、ガウス核やラプラシアン核と同じように、放射状基底関数カーネルでもあります。 これは多次元回帰問題でうまく機能すると言われています(Hofmann、2008)。k(x,y)=sum_{k=1}exp n exp(-sigma(x^k-y^k)2 2)d d

7. 双曲線正接(Sigmoid)カーネル

双曲線正接カーネルは、Sigmoidカーネルおよび多層パーセプトロン(MLP)カーネルとしても知られています。 シグモイドカーネルはニューラルネットワークフィールドから来ており、バイポーラシグモイド関数は人工ニューロンの活性化関数としてよく使用されている。k(x,y)=tanh(alpha x^t y+c)

シグモイドカーネル関数を使用したSVMモデルは、二層のパーセプトロンニューラルネットワークと同等であることに注意するのは興味深いことです。 このカーネルは、ニューラルネットワーク理論からの起源のために、サポートベクトルマシンのために非常に人気がありました。 また、条件付き正定値のみであるにもかかわらず、実際には良好に機能することが見出されている。

シグモイドカーネルには、傾きalphaと切片定数cの二つの調整可能なパラメータがあります。alphaの一般的な値は1/Nです。Nはデータ次元です。 シグモイド核に関するより詳細な研究は、Hsuan-TienとChih-Jenの作品で見つけることができます。

8. Rational Quadratic Kernel

Rational Quadratic kernelは、ガウスカーネルよりも計算集約的ではなく、ガウスカーネルを使用するとコストがかかりすぎる場合に代替として使用できます。

k(x,y)=1-frac{lVert xy rVert^2}{lVert xy rVert^2+c}

9. Multiquadric Kernel

Multiquadric kernelは、有理二次カーネルと同じ状況で使用できます。 シグモイド核の場合と同様に、それは非正定核の例でもある。k(x, y) = sqrt{lVert x-y rVert^2 + c^2} k(x,y)=sqrt{lVert x-y rVert^2+c^2}

10. Inverse Multi Quadric Kernel

Inverse Multi Quadric kernel。 ガウス核と同様に、フルランクの核行列が得られ(Micchelli,1986)、無限次元の特徴空間が形成される。

k(x,y)=frac{1}{sqrt{lVert x-y rVert^2+theta^2}}

11. Circular Kernel

circular kernelはジオスタティックアプリケーションで使用されます。 これは等方的な定常核の例であり、R2において正定値である。

k(x,y)=frac{2}{pi}arccos(-frac{lVert xy rVert}{sigma})-frac{2}{pi}frac{lVert xy rVert}{sigma}sqrt{1-left(frac{lvert xy rVert}{sigma}right)^2}
mbox{if}~lvert x-y rvert sigma mbox{,zero otherwise}

12. 球面核

球面核は円核に似ているが、R3では正定である。

k(x,y)=1-frac{3}{2}frac{lVert xy rVert}{sigma}+frac{1}{2}left(frac{lvert xy rVert}{sigma}right)3 3

mbox{if}~lVert xy rVert sigma mbox{,zero}

mbox{if}~lvert xy rVert sigma mbox{,zero}

mbox{if}~lvert xy rVert sigma mbox{,zero}

mbox{if}~lvert xy rVert sigma mbox{,zeroそれ以外の場合}

13。 波動核

波動核も対称正半定値である(Huang,2008)。

k(x,y)=frac{theta}{lVert x-y rVert right}sin frac{lVert x-y rVert}{theta}

14. Power Kernel

Power kernelは、(無修正の)三角カーネルとも呼ばれます。 これはスケール不変核の例であり(Sahbi and Fleuret、2004)、また条件付きでのみ正定値である。

k(x,y)=-lVert x-y rVert^d

15. Log Kernel

Log kernelは画像にとって特に興味深いようですが、条件付きでのみ正定です。

k(x,y)=-log(lVert x-y rVert^d+1)

16. スプラインカーネル

スプラインカーネルは、Gunn(1998)の作品で導出されたように、ピース単位の三次多項式として与えられます。しかし、実際の意味は次のとおりです。

k(x、y)=1+xy+xy~min(x、y)-frac{x+y}{2}~min(x、y)^2+frac{1}{3}min(x、y)^3

k(x、y)=1+xy+xy~min(x、y)-frac{x+y}{2}~min(x、y)^2+frac{1}{3}min(x、y)^3

k(x、y)=1+xy+xy~min(x、y)-frac{1}{3}min(x、y)^3

prod_{i=1}d d1+x_i y_i+x_i y_i min(x_i,y_i)-frac{x_i+y_i}{2}min(x_i,y_i)^2+frac{min(x_i,y_i)^3}{3}

x,y in r^d

17 B-スプライン(放射状基底関数)カーネル

b-スプラインカーネルは、区間上で定義されます。 これは、再帰式によって与えられます:

k(x,y)=B_{2p+1}(x-y)

mbox{where~}P in N mbox{~with~}B_{i+1}:=B_I otimes B_0。Bart Hamersの研究では、次のように与えられます。k(x、y)=prod_{p=1}d d B_{2n+1}(x_p-y_p)

あるいは、bnは明示的な式(Fomel、2000)を使用して計算できます。

k(x、y)=prod_{p=1}d d B_{2n+1}(X_p-y_p)

k(x、y)=prod_{p=1}B d B_{2n+1}(X_p-y_p)

K(x、y)=prod_{p=b_n(X)=frac{1}{n! sum sum_{k=0}bin{n+1}binom{n+1}{k}(-1)k k(x+frac{n+1}{2}-k)n n_+ここで、x+は切り捨てられたべき関数として定義されます:p>x^d_+=begin{cases}x^d,mbox{if}x0 0,mbox{otherwise}end{cases}

18. Bessel kernel

bessel kernelは分数滑らかさの関数空間の理論でよく知られている。 これは、次のように与えられます。

k(x,y)=frac{J_{v+1}(sigma lVert x-y rVert)}{lVert x-y rvert^{-n(v+1)}}

ここで、Jは第一種のベッセル関数です。 しかし、Kernlab for Rドキュメントでは、ベッセルカーネルは次のようになります。

k(x,x')=-Bessel_{(nu+1)}^n(sigma|x-x'|/2)') = - Bessel_{(nu+1)}^n (sigma |x - x'|^2)

19。 Cauchy Kernel

Cauchy kernelはCauchy分布から来ている(Basak,2008)。 それは長い尾の穀粒で、高い次元スペース上の長距離影響そして感受性を与えるのに使用することができる。

k(x,y)=frac{1}{1+frac{lVert x-y rVert^2}{sigma^2}}

20. カイ二乗カーネル

カイ二乗カーネルは、カイ二乗分布から来ています:k(x,y)=1-sum_{i=1}^n frac{(x_i-y_i)^2}{frac{1}{2}(x_i+y_i)}

ただし、コメンター Alexis Mignonが指摘したように、このバージョンのカーネルは条件付きで正定値(CPD)です。 このカーネルの正定バージョンは(Vedaldi and Zisserman,2011)で

として与えられており、サポートベクターマシン以外のメソッドでの使用に適しています。

21. Histogram Intersection Kernel

Histogram Intersection KernelはMin Kernelとも呼ばれ、画像分類に有用であることが証明されています。k(x,y)=sum_{i=1}min n min(x_i,y_i)

22. 一般化ヒストグラム交点

一般化ヒストグラム交点カーネルは、画像分類のためのヒストグラム交点カーネルに基づいて構築されますが、はるかに大 これは、次のように与えられます。

k(x,y)=sum_{i=1}m m min(|x_i|alpha alpha,|y_i|/beta)

23。 一般化されたT-スチューデント核

一般化されたT-スチューデント核はメルセル核であることが証明されており、したがって正の半定値核行列を持つ(Boughorbel,2004)。 これは、次のように与えられます。

k(x、y)=frac{1}{1+lVert x-y rVert^d}

24。 ベイズカーネル

ベイズカーネルは次のように与えられます。

k(x,y)=prod_{l=1}^N kappa_l(x_l,y_l)

where

kappa_l(a,b)=sum_{c in{0;1}しかし、それは実際にモデル化される問題に依存します。 詳細については、Alashwal、Deris、Othmanの研究では、タンパク質-タンパク質相互作用の予測にベイジアンカーネルを使用したSVMを使用しています。25.

25. ウェーブレットカーネル(Zhang et al、2004)はウェーブレット理論に由来し、次のように与えられます。

k(x、y)=prod_{i=1}N N h(frac{x_i-c_i}{a}):h(frac{y_i-c_i}{a})

膨張係数と平行移動係数はそれぞれ(上記の形式は簡略化されていますので、詳細については元の論文を参照してください)。 このカーネルの変換不変バージョンは、次のように与えることができます。

k(x,y)=prod_{i=1}^n h(frac{x_i-y_i}{a})

ここで、両方のh(x)はマザーウェーブレット関数を表します。 Li Zhang、Weida Zhou、Licheng Jiaoによる論文では、h(x)の可能性を次のように示唆しています。

h(x)=cos(1.75x)exp(-frac{x^2}{2})

これは許容可能なカーネル関数とし

ソースコード

上記のほとんどすべてのカーネルのソースコードの最新バージョンは、以下の場所で利用可能です。Accord.NET フレームワーク。 いくつかは、この記事の続編であるKernel Support Vector Machines For Classification and Regression in c#でも利用できます。 これらは、C#でのSvm(Support Vector Machines)の包括的で簡単な実装とともに提供されます。 ただし、バグ修正やその他の機能強化が含まれている可能性のある最新のソースについては、利用可能な最新バージョンをダウンロードしてくださAccord.NET…..

も参照してください

  • カーネルサポートベクターマシン(kSVMs)
  • 主成分分析(PCA)
  • カーネル主成分分析(KPCA)
  • 線形判別分析(LDA)
  • カーネルを使用した非線形判別分析(KDA)
  • C#でのロジスティック回帰分析
  • カーネルサポートベクトルマシン(KSVMS)
  • カーネルサポートベクトルマシン(KSVMS)
  • カーネルサポートベクトルマシン(KSVMS)
  • カーネルサポートベクトルマシン(KSVMS)
  • カーネルサポートベクトルマシン(KSVMS)
  • カーネルサポートベクトルマシン(KSVMS)
  • カーネルサポートベクトルマシン(KSVMS)
  • Accord.NET フレームワーク:.NETの科学的コンピューティング

  • Haar-c#での機能オブジェクト検出(Viola-Jones分類器)
  • カーネル判別分析を使用した手書き認識
  • 手書き認識: カーネルサポートベクターマシン
  • ロジスティック回帰分析
  • オンライン予測Wikiの貢献者。 “カーネルメソッド。”オンライン予測Wiki。 http://onlineprediction.net/?n=Main.KernelMethods(2010年3月3日アクセス)。
  • Genton,Marc G.”機械学習のためのカーネルのクラス:統計の視点。”機械学習研究のジャーナル2(2001)299-312.
  • Hofmann,T.,B.Schölkopf,And A.J.Smola. “機械学習におけるカーネルメソッド。”アン。 統計学者 第36巻、第3号(2008年)、1171-1220。
  • Gunn,S.R.(1998,May). “分類と回帰のためのサポートベクターマシン。”技術報告書、工学部、理数科電子計算機科学の学校。
  • Karatzoglou,A.,Smola,A.,Hornik,K.and Zeileis,A.”Kernlab–カーネル学習のためのRパッケージ。” (2004).Karatzoglou,A.,Smola,A.,Hornik,K.and Zeileis,A.”Kernlab–An s4package for kernel methods in R.”J.Statistical Software,11,9(2004).この記事は、ウィキペディアのkaren Lab(改訂履歴)の記事を複製、再配布したものにあたり、
  • Karatzoglou,A.,Smola,A.,Hornik,K.and Zeileis,A.”R:カーネル関数。 パッケージ’kernlab’バージョン0.9-5のドキュメント。 http://rss.acs.unt.edu/Rdoc/library/kernlab/html/dots.html(2010年3月3日アクセス)。
  • Howley,T.and Madden,M.G.”the genetic kernel support vector machine:Description and evaluation”. 人工知能のレビュー。 第24巻第3号(2005年)、379-395頁。
  • “SVM分類のためのカーネル幅の選択:メタ学習アプローチ。”International Journal of Data Warehousing&Mining,1(4),78-97,October-December2005.
  • Hsuan-Tien LinとChih-Jen Lin。 “SVMのためのシグモイドカーネルに関する研究とSMO型法による非PSDカーネルの訓練。”国立台湾大学コンピュータサイエンス学科技術報告書、2003年。
  • Boughorbel,S.,Jean-Philippe Tarel,And Nozha Boujemaa. “プロジェクト-Imedia:オブジェクト認識。”INRIA-INRIA活動報告-RalyX. http://ralyx.inria.fr/2004/Raweb/imedia/uid84.html(2010年3月3日アクセス)。
  • 黄、Lingkang。 “マルチクラスサポートベクターマシンにおける変数選択とゲノムデータ解析における応用。”博士論文、2008年。
  • Manning、Christopher D.、Prabhakar Raghavan、およびHinrich Schütze。 “とコメントしている。”スタンフォードNLP(自然言語処理)グループ。 http://nlp.stanford.edu/IR-book/html/htmledition/nonlinear-svms-1.html(アクセスMarch3,2010)。
  • フォーメル、セルゲイ。 “逆Bスプライン補間。”スタンフォード大学探検プロジェクト、2000年。 http://sepwww.stanford.edu/public/docs/sep105/sergey2/paper_html/node5.html(2010年3月3日アクセス)。
  • バサック、ジャヤンタ。 “ボックス制約を持つ最小二乗カーネルマシン。”国際パターン認識会議2008 1(2008):1-4.
  • Alashwal,H.,Safaai Deris,And Razib M.Othman. “タンパク質–タンパク質相互作用の予測のためのベイジアンカーネル。^“International Journal of Computational Intelligence5,no.2(2009):119-124.2009.2009.2009.2009.
  • Hichem SahbiとFrançois Fleuret。 “カーネルメソッドと三角カーネルを使用したスケール不変性”。 INRIA研究報告書、N-5143、2004年3月。
  • サブリ-ボホールベル、ジャン=フィリップ-タレル、ノージャ-ブジェマ。 “画像認識のための一般化されたヒストグラム交差カーネル”。 2005年画像処理会議論文集、第3巻、161-164頁、2005年。
  • ミチェリ、チャールズ。 散乱データの補間:距離行列と条件付き正定値関数。 第2巻第1号(1986年11月22日)に掲載された。
  • Wikipedia contributors,”Kernel methods,”Wikipedia,The Free Encyclopedia,http://en.wikipedia.org/w/index.php?title=Kernel_methods&oldid=340911970(accessed March3,2010)。
  • ウィキペディアの貢献者,”カーネルトリック,”ウィキペディア,フリー百科事典,http://en.wikipedia.org/w/index.php?title=Kernel_trick&oldid=269422477(accessed March3,2010).
  • Weisstein,Eric W.”正の半正定値行列。”MathWorld-Wolfram Webリソースから。 http://mathworld.wolfram.com/PositiveSemidefiniteMatrix.html
  • Hamers B.”Kernel Models for Large Scale Applications”,Ph.D.,Katholieke Universiteit Leuven,Belgium,2004.
  • 李張、Weida周、Licheng交通。 ウェーブレットサポートベクターマシン。 システム、人間、およびサイバネティックスに関するIEEEトランザクション、パートB, 2004, 34(1): 34-39.
  • Vedaldi,A.And Zisserman,A.明示的な特徴マップを介した効率的な加法カーネル。 IEEE Transactions on Pattern Recognition and Machine Intelligence,Vol. XX、いや。 XX,六月,2011.

この作品を引用

ご希望の場合は、この作品を次のように引用してください:Souza、César R.”機械学習アプリケーションのためのカーネル関数。”17Mar. 2010. ウェブ… <http://crsouza.blogspot.com/2010/03/kernel-functions-for-machine-learning.html>。

Related Posts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です