Boosting for Transfer Learning

Wenyuan Dai, et. al, Boosting for Transfer Learning, ICML2007.

少しの新しい学習データがあれば、Adaboostを借りて、古い学習データの中から使えるものを選び出す(高いウェイトをつける)、という方法。前半のIterationでは新しい学習データを強化し、後半で新しい分布に対しても有用な古い学習データを強化する。PACの枠組みで、理論的な裏づけも当然ある。構成とわかりやすさがよい。ページが限られており、詳細な定理の証明はないが、直感的にどういうことなのかの説明が特にわかりやすかった。

実験はSVMをweak leanerとした本手法と、SVMを比較している。これがちょっと首をかしげた。斜め読みなのではずしているかもしれないが、weaklearnerとboostingを戦わせるのって意味があるの?Adaboostと戦わせる、という流れなのかと思ったが違う。weak learnerにSVMを使うって、実用上どうなのか?

追記:まず、比較はSVM vs. TrAdaBoostだけでなく、TSVM vs. TrAdaBoostもやっている。SVMとの比較では、確かにweak learnerとの比較には疑問があるのだが、次のように述べている。「Transductive Learningでは、必ずしも汎化誤差を小さくしない場合があるため、SVMと比べてみた」。汎化誤差を必ずしも小さくしないことは、次の論文で研究されている。

R. Caruana, Multitask learning, Machine Learning, 28(1), pp101--126, 1997.

またTSVMとの比較では、確かにTSVMよりもいい結果を出している。TrAdaBoostでは、新しい分布上での学習データも学習時に利用するが、この条件でもそう。ただ、TrAdaBoostは、新しい分布の学習データが不可欠な点は注意。だが、これ自体悪くはない。そういう仮定の下で、上手に問題を解く、と言う方向性はあり。

2007 ICML: Accepted Papers