読者です 読者をやめる 読者になる 読者になる

#3 Building Text Classifiers Using Positive and Unlabeled Examples

論文100本ノック 機械学習 半教師あり学習

Bing Liu, Yang Dai, Xiaoli Li, Wee Sun Lee and and Philip Yu.
Proceedings of the Third IEEE International Conference on Data Mining (ICDM-03), Melbourne, Florida, November 19-22, 2003.

この論文も正例とラベルなしデータからの学習に関する論文。これ関係の手法は大体2つのステップを踏むものが多く、それぞれのステップは独立していることが多いので、そのステップの組み合わせを試してみた、というのが内容の一つ。内容の二つ目は(そういうステップを適応に組み合せるのではなく)原則に基づいたアプローチであるバイアス付きSVM(表現合ってるか分からん)の手法を提案した、というもの。実験によると既存のどの手法よりよい精度が出たとある。

既存手法の2つのステップの組み合わせ

正例とラベルなしのデータによる学習には

  • S-EM
  • PEBL
  • Roc-SVM

などがある。それらの手法は大体二つのステップに分解することができる。

ステップ1
ラベルなしデータの中から負例であると信頼できそうなデータを見つけてくる。
ステップ2
iterationを分類器にかけて、その中でよい学習器を選択する。

この2つのステップというのは、正例は正例で正しく分類しつつ、ラベルなしデータの中からきちんと負例と分類できるような学習器を作っていると考えることができる。このような考え方で分類器を作ると、(サンプル数が十分にあれば)よい学習器が作れるということは理論的に示されている。

The Proposed Biased SVM

さっきのところで言ったところをSVMの考えで体現したのがこの論文で提案されている手法。最初のk個に正例、残りがラベルなしデータというように並べておいて、正例のものを負例とするのにはちょっとの誤差も許さない(ハードSVMの考え方)。一方ラベルなしデータのほうはちょっとくらい間違えたって許容してあげる(ソフトSVMの考え方)。理論面で示されたことをうまく体現しているな、という感じ。

さて、定式化としてはこれでもいいんだが、なるべくなら普通のSVMと似たように定式化されているほうが実装面でも(たぶん)やりやすい。というわけで、正例のほうも多少誤差を許す形にはするものの、Cの値を正例と負例によって変えてあげるようにしてあげるのがポイント。直感的には正例のほうで間違われると困るので、正例のほうのCは大きく、負例のほうのCは小さく、といった具合である。

それぞれのCの値はcross-validation的なもので決めるが、実際には負例がないので、さてどうしよう?となる。が、負例がなくてもF値のようにパフォーマンスをはかれる指標が提案されている。ので、この論文ではそれを使ったと書いてある。

実験の結果は、ステップ1、ステップ2と色々な組み合わせでやったもののBestな方法よりも提案したBiased-SVMのほうがよい!という結果だった。理論的に分かっていることをSVMの考え方に乗せてあげて、そこからうまく定式化&実験結果も出ているという意味でいい論文なのかなーと思った。