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