ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

機械学習コミュのカーネル法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
サポートベクターマシンに関する研究をしているのですが、おそらく必須であろうと思われる『カーネル法』についてあまり理解できません。

カーネル法に関して、なにか情報があったら教えていただけないでしょうか??
よろしくお願いします。

コメント(17)

もしかしたらご存知かもしれませんが,これはどうでしょう
http://www.neurosci.aist.go.jp/%7Ekurita/lecture/svm.pdf
http://www.neurosci.aist.go.jp/~akaho/papers/kernel-akaho.pdf
私が呼んだ論文の中では

赤穂昭太郎, 津田宏治:サポートベクターマシン, 数理科学, (2000), pp.52-58.
がベストでした。

他の統計手法に明るい方でしたら、他との比較が載っている
http://www.neurosci.aist.go.jp/~kurita/lecture/svm.pdf
はお勧めです。
って下のやつはもう、悩める大学院生に紹介して紹介していただいてましたね。すいません。

ついでですが、やや詳しく、かつ、SVM以外モデルへのカーネル法の応用を扱ったものとして
http://www.ist.temple.edu/~vucetic/cis526fall2003/SVMintro.pdf
があります。私はカーネルの解説がある最初の4ページくらいしか見てないですけど:p
何がどうわからなくて,どういう話を知りたいのか,わかりません.使っている教科書や文献はなんでしょうか.

Klaus のサーベイ論文は,関連する話題が一通り載っていていいですね.
失礼ですが、ヤスさんはここまでにどんな資料を読んでいらっしゃいますか? 

僕も Hilbert Spaceや、RKHSがどうも身についていなくて、完全に分かったような気がしないんですが、次のスレッドで紹介された一連の教科書には、一応、色々書いてあります。

http://mixi.jp/view_bbs.pl?id=5586827&comm_id=78736

オンラインでお薦めなのは Jordan のレクチャーでしょうか。

http://www.cs.berkeley.edu/~jordan/courses/281B-spring04/lectures.html

僕も Kernel(というよりRKHSの構造)は、なんとなくわかったようなわからないような感じなので、これ以上は、よくわかっている人に続きを譲りたいです。 ヤスさんも、このあたりをカバーした後で、もっと深く理解できるような資料をありましたら follow-upをお願いします。 

http://www.amazon.com/gp/product/1402076797/sr=8-1/qid=1150370142/ref=sr_1_1/103-2796481-2473422?%5Fencoding=UTF8

上のは、個人的に時間があったら読みたい本です。 RKHSに付け加えて、Stochastic Processも分かるような分からんような。。
不思議に思うことを書いてみます。 Normal distribution から Gaussian RBF Kernelを作ることができるのはよく知られた結果です。 しかし、似たような形をもったDistributionである、Cauchy distribution から、同じように kernel を作ろうとします。 形が似てるから、これも kernel としての定義をみたすだろう、と思ったんです。 

結論からいうと、Fourier Criterion:

A translation invaliant function k is a positive definite kernel if the Fourier transform is non-negative.

というものに引っかかって、Cauchy では kernel にならない事が分かるんですが、この結果は僕にはまだ直感的でないです。 

そこから先は、まだ今後の課題で、僕は RKHS, Regularization Operator & Representer Theorem, Fourier Transformationの関係をきちっと理解する所まではいっていないんですが、ここらへんがわかりやすい資料があったら、誰か紹介していただけるとありがたいです。 
> SVMを「利用する」という目的であるならば、

ふっけんさんに必要な情報はそれで十分でしょう。 このトピックの最初の質問者の目的は分からないし、僕がやりたいことからすると、その程度の理解では足りないと感じていますが。 kernelを必要に応じて作りなおす必要を多少なり感じてくると、もう少し知りたくなってきますよ。 

また、訓練用のサンプルは有限なのに、次元を無限に上げたりできるとなると、めちゃめちゃにOverfitしてしまう可能性がでてくるので、そのあたりの理論は個人的には押さえておいた方がいいかなと思っています。 
「実際にtrainingデータのほとんどがSV」は,νSVMではカーネルグラム行列の対角成分が大きいときに生じます.もちろん,汎化性能は低い.詳しくは
Kazushi Ikeda: Effects of Kernel Function on Nu Support Vector Machines in Extreme Cases, IEEE Trans. on Neural Networks, 17/1 (2006), 1-9.
を参照してください.


これは特徴空間の次元の高さが影響しているというよりは,特徴ベクトルの大きさと直交性が影響しています.というわけで,「標準的なカーネル」でマージン最大化を行えば,普通はスパースになるときいています.

# 「きいています」というのは,自分では SVM を走らせたことがないから^^;
上の論文はそういう話ではありませんが,分散で正規化する“マハラノビスの距離”を参考にした,“マハラノビスカーネル”というのもあるようです.

ただし,クラスターごとに導入するのではなくデータ全体に導入するので,従来のものとは似て非なるものではないかというのが私の印象です.
> 変数選択
特徴空間における変数選択≒カーネルのパラメータチューニング
http://scholar.google.com/scholar?hl=en&lr=&cluster=12044023808033472393
この論文では性能を代表するような指標をいくつか挙げて、カーネルのパラメータ空間での山登り(逐次更新)によって性能を改善しようとしています。
ただし、1回のカーネルパラメータ更新を行うためにはSVMの最適化問題を現在のカーネルパラメータにおいて行わなければなりません。
これは、最適化しようとしている指標がサポートベクトル数などの、一回SVMを解いてみなければわからない量の関数になっているためです。

一方、もうちょっとお手軽に、SVMを解く前に特徴選択を行える指標もあり、たとえば、kernel alignment
http://scholar.google.com/scholar?hl=en&lr=&cluster=9300467213889555266
などがあります。

ちなみに、特徴選択では、前者を「wrapper approach」、後者を「filter approach」などといったりします。
池田先生、鹿島さん、コメントありがとうございます。 コミュニティにお二人がいらっしゃると心強いです。 

この関連だと、ICML06の論文では、regularizerに掛け算でついてくる定数を自動的に推定する話が面白かったです。

http://www.icml2006.org/icml_documents/camera-ready/125_Two_Dimensional_Solu.pdf

overfittingを避けるのに役立つし、SVMの性能を手軽にチューンできそうです。 

ログインすると、残り6件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

機械学習 更新情報

機械学習のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。