SVMでラプラシアングラフを使用した多様体正則化
Matlabのサポートベクターマシン(SVM)に多様体正則化を実装しようとしています。Belkin et al。(2006)の論文の指示に従っていますが、その中に方程式があります。 f∗=argminf∈Hk∑li=1V(xi,yi,f)+γA∥f∥2A+γI∥f∥2If∗=argminf∈Hk∑i=1lV(xi,yi,f)+γA‖f‖A2+γI‖f‖I2f^{*} = \text{argmin}_{f \in H_k}\sum_{i=1}^{l}V\left(x_i,y_i,f\right)+\gamma_{A}\left\| f \right\|_{A}^{2}+\gamma_{I}\left\| f \right\|_{I}^{2} ここで、Vはある損失関数であり、γAγA\gamma_AはRHKSの関数のノルム(または周囲のノルム)の重みであり、は可能な解に平滑性条件を適用し、γIγI\gamma_Iは関数のノルムの重みです。低次元多様体(または固有ノルム)。これは、サンプリングされたMに沿って滑らかに実行されます。アンビエントレギュラライザーは問題を適切な状態にします。その存在は、多様体の仮定が低い程度に当てはまる場合、実用的な観点から本当に役立ちます。 。 それはBelkin等で示されました。(2006) 、そのf∗f∗f^*の点で拡張を認めnnn Sの点、 f∗(x)=∑ni=1α∗ik(xi,x)f∗(x)=∑i=1nαi∗k(xi,x)f^*(x)=\sum_{i=1}^{n}\alpha_i^*k(x_i,x) その決定関数クラス+1と-1を区別するのはy(x)=sign(f∗(x))y(x)=sign(f∗(x))y(x)=sign(f^*(x))です。 ここでの問題は、MATLABでLIBSVMを使用してSVMをトレーニングしようとしているが、元のコードを変更したくないため、入力データを取得する代わりに、事前に計算されたバージョンのLIBSVMを見つけ、出力グループをパラメーターとして取得したことです。 、計算されたカーネル行列と出力グループを取得し、SVMモデルをトレーニングします。私は、正規化されたカーネルマトリックス(グラムマトリックス)を使用してフィードを試行し、残りを実行させます。 カーネルを正規化する式を見つけようとしましたが、次のようになりました。カーネル行列と同じ次元を持つ恒等行列としての定義、IIIKKK G=2γAI+2γILKIG=2γAI+2γILKIG=\frac{2\gamma_AI + 2\gamma_ILK}{I} Gram=KGGram=KGGram = KG ここで、はラプラシアングラフ行列、はカーネル行列、は単位行列です。そして、は2つの行列と内積を使用して計算されます。LLLKKKIIIGramGramGramKKKGGG これがどのように計算されるかを理解するのを手伝ってくれる人はいますか?