2

3D 画像データセットで PCA を実行し、最初の n 個の PC を線形 SVM の特徴として使用しました。PCごとにSVMの重みがあります。ここで、PC の重みを元の画像空間に射影して、画像のどの領域が分類プロセスでより識別力があったかを調べたいと思います。重みベクトルに inverse_transform PCA メソッドを使用しました。ただし、結果のイメージには正の値しかありませんが、SVM の重みは正と負の両方でした。これは、私のアプローチが有効なものであるかどうかを考えさせます。誰か提案はありますか?

前もって感謝します。

4

1 に答える 1

0

画像空間でこの投影を行うプログラムがあります。認識すべきことは、重み自体が「識別」重みを定義していないことです (このペーパーでも呼ばれます)。カーネル係数によって重み付けされた入力の合計が必要です。

このおもちゃの例を考えてみましょう:
クラスAには 2 つのベクトルがあります:a1=(1,1)a2=(2,2)
クラスBには 2 つのベクトルがあります:b1=(2,4)a3=(4,2).

これを描くと、手動で決定境界を構築できます。これは(x,y)x+y == 5. 私の SVM プログラムは、w_a1 == 0(サポート ベクターなし)、 、およびw_a2 == -1)の解を見つけます。w_b1 == w_b2 == 1/2bias == -5

これで、射影ベクトルp = a2*w_a2 + b1*w_b1 + b2*w_b2= -1*(2,2) + 1/2*(2,4) + 1/2*(4,2)=を作成できます(1,1)

言い換えると、すべての点が直線上に投影さy == xれ、新しいベクトルvの場合、内積<v,p>はクラス A ベクトルでは 5 未満、クラス B ベクトルでは 5 を超えます。バイアスを追加することで、結果を 0 付近に集中させることができます。

于 2016-02-25T09:23:14.883 に答える