bag-of-wordsの次元削減法まとめ
bag-of-wordsはともかく次元が大きい。出現する単語の種類数分の次元がある。
1万次元などは余裕で行ってしまう。このままではまともに識別機を作ることは困難なので
何らかの手段で圧縮してやる必要性がある。
参考:Text Mining Handbook
単語頻度
単純に単語の出現頻度が低いものを考慮から外して次元の削減をするというもの。上位10パーセントの単語のみを使っても識別の精度は変わらないらしい。これは頻度が高い単語の重要度をあげるというTF/IDFの考えに真っ向から反しているが、低すぎる頻度の単語は意味がないのでこれでいいらしい。
Information Gain
\(\text{InformationGain}(x|w)=H(x)-H(x|w)\)
ここで\(x\)は特徴量すなわちbag-of-wordsで\(w\)はある単語。
\(H(x)\)は特徴量のエントロピーで\(H(x|w)\)はある単語\(w\)が発生したとき(わかったとき)特徴量のエントロピー。
つまり$\text{Infomation Gain}$とは、ある単語(次元)を知ることによって、どの程度エントロピーが下がったかという指標。
もっと噛み砕くと、文書を何個かのクラスに分類しようとするとき、単語\(w\)を知ることで、どれだけ分類の特定をすすめられたかの指標になる。
Latent Semantic Indexing
Latent Semantic Indexingとは、まんまSingular Value Decompositionのこと。
bag-of-wordsにSVDを適用して次元削減することをこんな風に呼ぶらしい
SVDに関しては、過去の記事を参照
http://satomemocho.blogspot.jp/2014/10/rsvd.html
なぜわざわざLatent Semantic Indexingと呼ぶかというと、なんか同義語とかを処理できるようだが、詳しくは不明。
以下のサイトをよもう!
http://chasen.org/~taku/blog/archives/2005/11/_tfidf_1.html