以下のデータについてSVMを構成し認識能力を検証せよ。
standard set
Training: Set-A/Set-B, for #10, #100, and #1000.
Test: Set-A/Set-B, for #10, #100, and #1000 respectively.
線形・非線形(非線形については複数種のカーネルを用意すること)、
マージンのありなしの組み合わせについて、
それぞれSVMを構成すること。
SVMのプログラムを自身で書く必要はなく、
市販やフリーのライブラリやソフトウェアを用いてよい。
以下の項目について記述すること
以下に挙げる48種類のSVMを構成し、認識結果を示せ。
認識結果は True-Positive, True-Negative, False-Positive, False-Negative の形で示すこと。
True / False : 学習データ・テストデータにつけられた教師信号
Positive / Negative : SVMによる認識結果
例えば正負各100サンプルの場合、以下のようになる。
False | True | Sum | |
Negative | False-Negative | True-Negative | FN + TN = N = ? (100ではないかもしれない) |
Positive | False-Positive | True-Positive | FP + TP = P = ? (100ではないかもしれない) |
Total | FN + FP = F = 100 | TN + TP = T = 100 | 200 |
【考察】
テストデータによる認識率はそれぞれ100%に到達できたか?
到達できたとしたらそれはなぜか。
到達できてないとすればそれはなぜか。
どちらにせよ理由を示せ。
SVM (48種類)
2A-2で得た48種類のSVMについて、それぞれ認識能力を確認するためテストデータセットで認識試験を行うこと。
認識結果は True-Positive, True-Negative, False-Positive, False-Negative の形で示すこと。
【考察】
テストデータによる結果は学習データでの認識結果より悪くなることが多いと言われるが、
実験結果で実際にどうなったか報告せよ。
また、その結果について、理由を考察せよ。
以下のデータセットについて、SVMを構成し認識結果を示せ。
challange set
教師データセット: Set-A/Set-B, for #10, #100, and #1000.
試験データセット: Set-A/Set-B, for #10, #100, and #1000.
Data in CSV format (10/10までリンクが間違ってました)
認識率を最大化するように最適なSVMを構成せよ(線形非線形の選択やソフトマージンの利用の有無も含む)。 この課題では、最適なSVM1つを構成するだけでよいが、その構成法が妥当だと信じる理由を示すこと。
構成したSVMを用いて、学習データの認識結果を示せ。 認識結果は#10,#100,#1000のそれぞれについて True-Positive, True-Negative, False-Positive, False-Negative の表の形で示すこと。
2B-1で構成したSVMの認識能力をテストデータで確認せよ。 認識結果は#10,#100,#1000のそれぞれについて True-Positive, True-Negative, False-Positive, False-Negative の表の形で示すこと。
【考察】
データ分布の背後に隠されたデータ分布を推測し、その分布が従う関数を予想せよ。
この実験を通じてSVMの認識能力の上限や限界について考察せよ。
kameda[at]iit.tsukuba.ac.jp