Ridge Regression, Hubness, and Zero-Shot Learningを読んだ

以前、小町さん(ファンタジスタドールではない)の日記(2015-08-29 - 武蔵野日記)で紹介されていた論文が面白そうだったので、読んでみました。

[1507.00825] Ridge Regression, Hubness, and Zero-Shot Learning


Zero-Shot Learning のハブ問題を解決するよ、という論文です。

Zero-Shot Learning については過去の記事(Zero-Shot Learning with Semantic Output Codesを読んだ - EchizenBlog-Drei)を参照してください。簡単に言うと、機械学習の分類問題で正解ラベルを特徴ベクトルの形式で表現することで教師データにないラベルも推定できるようにする、というものです。

ハブ問題というのは、Zero-Shot Learning による分類先が一部のラベル(ハブ)に集中してしまう問題のことです。


論文では、正解ラベルの特徴ベクトル空間が単峰性である場合に原点からの距離が近いラベルほどハブになりやすいことが示されています(直感的にもそんな感じがする)。

また、Zero-Shot Learning で正解ラベルの特徴量をリッジ回帰(正則化の係数が0の場合も含むので自乗誤差最小化もこの話に含まれる)で推定するのですが、リッジ回帰によって推定された正解ラベル(の特徴ベクトル)の原点からの距離が、真の距離よりも小さくなることが示されています。


以上の2つから、Zero-Shot Learning をリッジ回帰で解くとハブが発生しやすくなるようです。この問題を解決するために論文では、教師データと正解ラベルを入れ替えて学習する手法を提案しています。

つまり、|WX - Y|を最小化するのではなく|WY - X|を最小化することを提案しています。こうするとリッジ回帰で予測されるのが正解ラベルではなく、教師データのほうになるのでハブ問題が解消されるということのようです。

実際、実験によってハブ問題が解消し精度も向上しているようでした。


ハブが起きる理由が直感的で、また手法も簡潔であり効果も大きく、よい論文だと感じました。あととても読みやすかったです。

ただひとつ気になる点があって、XとYを入れ替えたことでXのベクトルの次元がYのベクトルの次元より大きい場合は問題が起きないのだろうか、と思いました。

実験ではXとYの次元を揃えていたので上記の問題はおきないようでしたが、Xの次元がYの次元よりも大きい場合にそのまま学習させると、Xの特徴量ごとに充分な教師データがない状況にならないか、また次元圧縮でXの次元をYの次元に揃えた場合に精度への影響はあるのか、などちょっと気になりました。