NIPSは毎年12月頃に開催される機械学習関連の国際会議です。
Proceedingsはweb上に公開されているので、
今回は昨年末に開催されたNIPS2011の中から、
興味を惹かれた論文を何本か適当にチョイスして読んでみました。
斜め読みした程度なので、かなり理解が甘いです。
でも、自分用メモ書としてブログに書いちゃう。
Sparse Filtering
タイトルのシンプルさに惹かれ、思わず保存した論文。
M個のサンプルが与えられて、
教師なし学習でそれぞれのサンプルをより良い
特徴ベクトルにしてあげましょうというものです。
(この枠組みがUnsupervised Feature Learningと言われるそうですが、
次元削減とかとは違うのでしょうか?)
で、各サンプルの特徴ベクトルの要素は、
という線形和で得るんですが、
なるべく、得られる特徴ベクトルはスパースにしたい(0要素を多くしたい)。
もう少し言うと、特徴抽出後のM個のサンプルは
Population Sparsity、Lifetime Sparsity、High Dispersalという
3つの性質を有した集合にしたい。
そのためには、
ただし、
を解けばいいのよーというものです。
超パラメータがすくないぜ(抽出後の次元数だけ?)、
実装楽チンだぜ、収束速いぜという3拍子がそろってるらしいので、
試してみたいですね。
Learning a Distance Metric from a Network
ネットワークの解析にリンク情報だけでなく、
各ノードの特徴ベクトルも考慮しましょうという論文。
例えば、twitterなんかのSNSを利用していると、おすすめのユーザが提示されますが、
その推薦のために、リンク関係(twitterだとフォロー関係)だけでなく、
各ユーザの特徴ベクトル(twitterでは、ツイートから構築される特徴ベクトル)も
考慮すれば、より洗練された推薦ができるようです。
じゃあ、具体的にどうするのって話ですが、これには計量学習の枠組みを利用します。
これは特徴ベクトル集合とネットワークの接続行列から
特徴ベクトル同士の距離の計算方法を学習するというものです。
この距離は、半正値行列を用いて、
として表されるので、とから最適なを求めることになります。
さて、どのようなを求めればよいのかですが、
の各特徴ベクトル同士の(で計算される)距離関係のみから
得られる接続行列(例えば、あるサンプルのk近傍のサンプルは接続しているとみなす)が
実際のネットワークの接続行列と一致するように、を求めるというものです。
その(特徴ベクトルの距離関係から計算される)接続行列を得る方法として、
k-nearest neighborを使う場合と、maximum weight subgraphを使う場合の
2つの場合の最適化アルゴリズムが、論文内に示されていますが、
その辺りはまだよくわかりません。
Metric Learning with Multiple Kernels
計量学習をマルチカーネル化する手法を示した論文。
多くの計量学習はこの論文に示されている方法で、
マルチカーネルに拡張できそうです。
まず、マルチカーネル学習ですが、
のように、個あるカーネル関数を重みつきで足し合わせることで、
新たなカーネル関数を作るための重みを学習する枠組みです。
このカーネル関数で、内積が定義される空間をとし、
元の特徴ベクトルをに写像したベクトルをとするとその空間上での計量距離は、
となるので、学習サンプルから最適な半正値行列とカーネルの重みを求めるのが、
マルチカーネルの計量学習となります。
多くのカーネル空間上の計量学習アルゴリズムは、
という最適化問題を解いていて、その最適解はになるようです
(は、各行が写像後の学習サンプルの行列)。
しかも、多くの計量学習アルゴリズムはになります。
そして、マルチカーネル化したいアルゴリズムの最適解がという形なら、
マルチカーネル化した時の、最適解もとなるそうです。
あとは、これを行列を固定してを求めて、次にを固定してを求める
という操作を収束するまで繰り返します。
このまま、とを求めるのが、と論文内で呼んでいるもので、
これは、採用する計量学習アルゴリズムが凸なら、を固定しての最適解を解く問題も
凸になりますよという手法です。
また、として、最適化式をちょっと変形したも
提案しているのですが、これは、計量学習アルゴリズムがに対して線形で、
カーネル数が少ない時には、を固定してを求める問題が、
等価な凸最適化問題に変換できるというものです。
更に、を半正値行列内にひっくるめてしまうことで、
そののみを推定する問題になるので、
既存の計量学習アルゴリズムをそのまま利用できる
というものも提案しています。
マルチカーネル学習+計量学習がこれまで提案されていなかったって言うのがちょっと意外でした。
Trace Lasso: a trace norm regularization for correlated designs
回帰問題などで正則化項としてノルムを利用すると、
解がスパースが得られやすくなります。
これはlassoと呼ばれ、多くの研究で特徴選択や回帰・分類問題に利用されています。
ところが、特徴間に強い相関がある場合、lassoはあまりよろしくない結果をもたらします。
ということで、特徴間の相関に適応する新たな正則化項を提案したのがこの論文です。
まず、学習サンプルとし、n個のサンプルをまとめた行列を
とします。
一般に線形の教師あり学習は、
(は学習のラベル、は損失関数)
を解くことになるんですが、ここでとして
ノルム の2乗を採用すればリッジ回帰、
ノルム を採用すればlassoになります。
このとき、の各列が正規化(たぶん、ノルムを1にする正規化)されていれば、
, と変形できます。
(はフロベニウスノルム、は各列のノルムの和)
リッジ回帰もlassoもノルムが異なるだけで、その中身は共通しています。
そこで、このノルムをトレースノルムを採用しよう
というのが、この論文で提案しているトレースlassoです。
(トレースノルムはというもので、の特異値の和になります。)
このトレースlassoですが、の各列同士が直交してる(各特徴量同士無相関)なら、
通常のlassoと等価になります。
一方、の各列が全て同じベクトルの場合、これはリッジ回帰と等価になります。
従って、トレースlassoは学習サンプルにおける特徴間の相関が強ければリッジ回帰、
弱ければlassoに近いふるまいをするといえます。
また、もっと一般的に各列が単位ベクトルである適当な行列を用いて、
という正則化項も提案しています。
この次第で、lassoもリッジ回帰も今話題の(?)グループlassoも記述できるようです。
今回はここまで。
全体を通して感じた印象としては、
- やっぱり皆スパースがお好き
- 数年前に比べて、Multi ViewとかMulti Taskとかの論文が少なくなった?
- どの論文読んでも、最適化や近似のテクニックが眩しすぎる
- グループlassoうまそう
- タイトルがシンプルな論文が多い
などなど
あと、自分のチョイスが偏りすぎてちょっとよろしくないのかなって気がします。
しかも、チョイスしたのはいいけど、読んでてちんぷんかんぷんの論文や、
パッと見ただけでそっと閉じた論文も多々あり、
自分の知識や能力、モチベーション的な何かの欠如を改めて実感しました。
研究を行う機関に所属していない自分にとっては、
NIPSやICMLなど、ただでProceedingsをweb公開してくれる国際会議は本当にありがたいです。