*LibSVM [#i1a24718] **LibSVMとは [#xd93c22f] -SVM(Support Vector Machine) ツールの一つ -学習が早い -幾つかの種類のカーネル関数を選べる **簡単な使い方 [#da463469] -学習データを用意する(場合によっては評価データも) --書式: クラスID 1:値 2:値 3:値 4:値 ... --例 +1 1:0.97 2:1.4 3:1 4:2 5:1.3 -1 1:-1.2 2:0.1 3:0.1 4:-2 5:1.1 ---クラスIDが判定させたいブール値.基本的には2値だが,LibSVMは多値分類もできる.その際はIDを増やすだけでOK. ---クラスID以降に素性値を入力していく ---SVMを活かすも殺すも素性次第! -svm-scaleで各素性値をスケーリングする --学習データと評価データが同じ場合の例(Cross Validation を使う際も含む) $ ./svm-scale data.train > data.scale --学習データと評価データが違う場合の例 $ ./svm-scale -s data.minmax data.train > data.train.scale $ ./svm-scale -r data.minmax data.measure > data.measure.scale (学習データと評価データのスケールを同じにするため,学習データの最大値と最小値をファイルに保存することで評価データの方にも同じスケーリングを施している) -svm-trainで学習する --モデルファイルの作成 $ ./svm-train data.train.scale ---これでdata.train.scale.modelという名前のモデルファイルができる --10-Fold Cross Validationを行う ---学習データの量が少ないとき,評価データを用意していないとき等に行う評価方法 ---学習データを10個に分割して,1個を評価データ,残りの9個を学習データとして評価する --- $ (音声に関連させると) ***テーマ: 「 [#f781af11]