標準的な {-1,+1} 機械学習の問題があります。主な違いは、データ ポイントがバイナリ文字列であるため、それらの近接性がハミング距離によって測定されることです。この場合、SVM を適用できますか? このタスクに適した SVM ライブラリはどれですか?
2828 次
4 に答える
2
これはおそらく、カスタム カーネル関数 (libSVM、SVMLight、scikits など) を作成できる SVM ライブラリを使用して処理するのが最適です。次に、ハミング距離関数を記述して 2 つの文字列間の距離を計算し、それをカーネル関数としてプラグインする必要があります。
唯一の問題は、ハミング距離が実際にカーネルであるかどうかわからないことです。これは、マーサーの条件を満たしているためです。明らかに対称ですが、正定かどうかはわかりません。
于 2011-04-08T14:55:37.310 に答える
1
StompChickenが言うように、ハミング距離が有効なカーネルであるかどうかは不明です。
何かが足りない場合を除いて、これは有効なカーネルだと思います。これは、次のスペースの内積であるためです。K( "aab"、 "baa")= [0,1,0,1,1,0] \dot[1,0,0,1,0,1]。
この「エンコード」を理解すると、線形カーネルをサポートする任意のSVMライブラリを実際に使用でき、前の例のように文字列をエンコードできます。
于 2011-04-10T19:02:59.210 に答える