糞糞糞ネット弁慶

読んだ論文についてメモを書きます.趣味の話は http://repose.hatenablog.com

アニソンの歌詞から作詞家を推定する問題としてのベンチマークをやってみる

目的

とりあえずどれぐらいでできるものかベンチマークとしてやってみる.

データ

作詞家 データ数
大森祥子 126曲
森由里子 176曲
こだまさおり 187曲
くまのきよみ 200曲
畑亜貴 377曲

この5クラス分類に取り組む.
特徴量は歌詞に含まれる名詞/動詞/形容詞の頻度.

モデル

普通にSVM
LIBSVM -- A Library for Support Vector Machines
SVM実践ガイド (A Practical Guide to Support Vector Classification) - 睡眠不足?!を読みつつgrid.pyを使う.スケーリングは[-1, 1]でやると「スパースだから[0, 1]でやれや」と教えてくれるので[0, 1]でやる.

設定

データを3分割,1/3をtest,2/3をtrainにしてtrainは5-fold cross validation.都合3つのモデルができる.

結果

まずは学習.

python ./tools/grid.py ../../data/libsvm/song_all.tsv_train_1.scale
512.0 0.00048828125 71.669
python ./tools/grid.py ../../data/libsvm/song_all.tsv_train_2.scale
2048.0 3.0517578125e-05 68.7237
python ./tools/grid.py ../../data/libsvm/song_all.tsv_train_2.scale
2048.0 0.0001220703125 74.4741

だいたい7割ぐらい.
続いて予測.

./svm-predict ../../data/libsvm/song_all.tsv_test_1.scale song_all.tsv_train_1.scale.model result1
Accuracy = 76.4873% (270/353) (classification)
./svm-predict ../../data/libsvm/song_all.tsv_test_2.scale song_all.tsv_train_2.scale.model result2
Accuracy = 80.17% (283/353) (classification)
./svm-predict ../../data/libsvm/song_all.tsv_test_2.scale song_all.tsv_train_2.scale.model result3
Accuracy = 75.6374% (267/353) (classification)

こちらもだいたい7から8割で予測できている.
誰をどう間違ったかの表も貼る.
モデル1

predict/ans 畑亜貴 くまのきよみ こだまさおり 森由里子 大森祥子
畑亜貴 121 15 14 10 15
くまのきよみ 1 50 2 5 1
こだまさおり 1 1 41 2 1
森由里子 2 0 4 40 7
大森祥子 0 0 1 1 18

モデル2

predict/ans 畑亜貴 くまのきよみ こだまさおり 森由里子 大森祥子
畑亜貴 114 9 8 13 9
くまのきよみ 7 54 2 3 4
こだまさおり 1 1 51 1 0
森由里子 3 2 1 40 5
大森祥子 0 0 0 1 24

モデル3

predict/ans 畑亜貴 くまのきよみ こだまさおり 森由里子 大森祥子
畑亜貴 121 15 19 14 13
くまのきよみ 4 49 2 3 0
こだまさおり 0 0 36 0 0
森由里子 0 2 5 40 8
大森祥子 0 0 0 1 21

その他

パラメータの解釈とか特徴語の話とかは今度やる.