1-classSVM の異常スコアについて
1 view (last 30 days)
Show older comments
評価用のサンプルプログラム mynutCNNfeature_alexnet
の中で、1-classSVMにより異常スコアを計算しているのですが
この異常度を表すスコアは、どういう計算をして導出しているものなのか教えていただけませんでしょうか?
直接説明が難しければ、参考文献などでも結構です。よろしくお願いいたします。
0 Comments
Accepted Answer
Hiro Yoshino
on 2 Nov 2020
Kentaさんのおススメのカーネル多変量解析は非常に良い本です! 流石です。
カーネル法を理解している、representer定理とか分かるという場合なら、当該書籍の該当ポイントを読めば「なるほどね」ということになりますが、最初から読み始めてP107のone-class svmに到達するのはシンドイかなと思い、概要だけ書きます。
まず、SVMは高次元特徴量空間における、線形識別器です。つまり
を考えます。(one-class) svmは元のベクトルから、無限次元の高次元特徴量を作成して、高次元特徴空間上に写像します。この時の非線形写像関数ϕは明には分からないが、その内積は分かるというのが、いわゆるカーネルトリックです。なお、bold体はベクトルを表しています。
この時、を正常データとします。異常データ%を設定していると思うので、異常データに対してはとなります。
高次元特徴空間でを分離超平面とします。この超平面からの距離をスコアとしています。
特徴ベクトルは無限次元ですが、同じく無次元のと内積を取ることで、スカラーになるというのがポイントです。
3 Comments
Hiro Yoshino
on 4 Nov 2020
ありがとうございます。最近は計算機パワーを活用したブラックボックス機械学習の時代なので、こういう話はあまり流行りませんが、非常に興味深い分野だと思います。Kentaさんはさすがですねー!
More Answers (1)
See Also
Categories
Find more on Biotech and Pharmaceutical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!