« いろんな学会 | Main | 論文紹介:複数の単一言語コーパスから対訳語を抽出 »

2008.06.04

侮れないbias項

最近改めて知ったこと

線形識別器は入力x, 出力y から定義される素性ベクトルφ(x,y) とモデルパラメータの重みベクトル wの内積
s(x,y) := w φ(x,y)
をスコアとして考えて、これが最大となるような出力yを識別結果とします。このwは訓練データを使って、何か訓練のための基準を定めて(最大エントロピー法だと対数線形モデル作って最尤推定、SVMだとヒンジ損失を最小化するようにとか)、それを最小化 or 最大化するという最適化問題で解くのが一般的です。
大抵
w = \arg \min \sum 各データに関するフィットの損失関数 + C |w|^2

で、線形モデルには一応bias項があって
s(x,y) := wφ(x,y) + b_y
という感じでwとは独立にモデルパラメータb_yがyの個数分付く。でもこれってφ(x,y)をy次元分増やしてそこに1を置いておけば式としては等価だから、あまり本質的ではないよねと思っていたのですが・・実は訓練の時にこうやっちゃうとかなりダメっぽいです。

なぜなら、バイアス項に関する重みは正則化項でのペナルティ(|w|^2)をあたえてはいけない。つまり、バイアス項はペナルティを気にせず思う存分データにフィットさせてあげて、その上で、マージン最大化とかをしないといけないのです。まぁ、言われればその通りで最初はちゃんと理解していたんだけど、いつのまにやら忘れてしまう

ただ、オンライン学習の時はこれが結構面倒で今年のCOLT2008の
"Online Learning of Maximum p-Norm Margin Classifiers with Bias", K. Ishibashi., et. al. [pdf]
で真面目に行なう方法が紹介されています。やはり、バイアス項をちゃんと入れてあげたほうが精度がいいようです。


|

« いろんな学会 | Main | 論文紹介:複数の単一言語コーパスから対訳語を抽出 »

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3041/41428163

Listed below are links to weblogs that reference 侮れないbias項:

« いろんな学会 | Main | 論文紹介:複数の単一言語コーパスから対訳語を抽出 »