以下の本を読みます。上巻を読むこともあります。何か問題点がありましたらご指摘いただけますと幸いです。
- 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
- 出版社/メーカー: 丸善出版
- 発売日: 2012/02/29
- メディア: 単行本
- 購入: 6人 クリック: 14回
- この商品を含むブログを見る
特徴の内積として定義されたカーネル関数でしたが、現実には特徴を意識せずにいきなりカーネル関数を構成したい。でも勝手な関数にするわけにはいかないので、前回は、「 が有効なカーネル関数である」、つまり「任意の訓練データの組合せに対して が の形にかけるような、入力空間から特徴空間への写像 が存在する」ことの必要十分条件は、「 行 列の成分が であるような行列(グラム行列)が半正定値である」ことを確かめました。といっても、適当な関数を選んで「カーネル関数たる資格があるかどうか」を調べるのも面倒なので、既知のカーネル関数から6ページの公式 (6.13)~(6.22) を利用して新しいカーネル関数を構成するのが便利なようです。前回はここの証明はとばしたので証明の概略を考えてみます。
- (6.13) は、新しい特徴を とすればよいことから明らかですね。
- (6.14) も、新しい特徴を とすればよいです。
- (6.17) ですが、半正定値行列は「全ての固有値が非負」の他に「2次形式が非負」という定義づけをすることもできます(証明略)。ので、 を成分とする行列も半正定値です。
- (6.18) は、新しい特徴が になるはずです。
- (6.15) は、(6.13)、(6.17)、(6.18) を繰り返せば導出できるはずです。
- (6.16) は、(6.15) に のマクローリン展開を適用すればよいと思います。
- (6.19) は、 ですかね。
- (6.20) は、 は半正定値なので、 の固有値の非負の平方根を対角成分に並べた対角行列を と、適当な直交行列 によって とかけるので、 ですね。
- (6.21) (6.22) は と考えればここまでの公式から導かれる気がします。
(6.29) 式は と が同じ 番目の分布に所属しているかどうかといった感じがしますね。重み が乗じられますが。(6.30) 式も、配列 と配列 が同じ隠れ状態 から生成されたかどうかをみているようです。なるほどこれらのモデルは と (配列 と配列 )の類似度を直接測るよりも訓練データへの依存性が低いモデルになりそうですが、データの性質をよく表現する生成モデルや隠れマルコフモデルが用意できるかというのはまた別の問題ですよね。
フィッシャースコアは式 (6.32) の通り対数密度のパラメータベクトルに関するナブラですよ。そしてフィッシャー情報行列はその分散共分散行列です。あるパラメータベクトルにおける。式 (6.34) ですね。
え、式 (6.34) ってフィッシャースコアの分散共分散行列になってる?
フィッシャースコアの期待値はゼロベクトルになるので。
ふーん…それにしても、カーネル関数って、一方の点から他方の点につくる密度みたいな感じだったけど、これだとそれぞれの点での対数密度をパラメータで偏微分してから掛け合わせてるから密度ではないよな。パラメータが1次元だと考えると、(6.33) 式ってこうなる?
- パラメータに関する偏微分がゼロになるような点(例えば正規分布の平均をパラメータと考えているとしたら、その平均にあたる点)については、どこの点とのカーネル関数を計算してもゼロになる。
- ある点と同じ点とのカーネル関数は、その点でのパラメータに関する偏微分の絶対値が大きいほど大きい(ゼロ以上)。ガウスカーネルのようにどの地点でも一定値ではない。
- 例えば正規分布の平均をパラメータと考えているとしたら、このカーネル関数が最小になる地点の組み合わせは、正規分布の左側の傾きの絶対値が最大になる点と正規分布の右側の傾きの絶対値が最大になる点で、最大になる地点の組み合わせはそれらの点の同じ点どうし。
「生成モデルのパラメータを少し動かしたときに密度がどれだけ急に変わるか」を主役にした類似度ですね…確かに密度のパラメータに関する偏微分の絶対値が大きい点ではパラメータを少し動かすと全体の尤度への影響が大きいですが…。ある点とある点のカーネル関数が大きなプラスだったら、その点どうしは「自分たちの尤度を大きくするためにパラメータを同じ方向に動かすことに強く同意し合っている」、大きなマイナスだったら「パラメータを動かす方向について意見が全然合わない」、ゼロだったら「どちらでもない」といった感じですね。と考えればある意味「点どうし気が合うか」を測っているような気はしますが…。フィッシャーカーネルは文書や画像の認識で威力を発揮するようですが、テキストの9ページからはその心を読み取りづらいですね。そこに言及がある情報幾何を知っていればもっと理解できるのでしょうが…。
でもなんかフィッシャーカーネルって聞くとケンタッキーフライドフィッシュ思い出さない? そんなの一時期売ってなかった?
え? すいません僕ファストフードに詳しくないんで…。
ニューラルネットワークとの関連の話は後の節でまた出てくるようなので、6.3節に進みましょうか。
いやいや雑すぎるだろ! そんな山3個置いただけのがあらゆる に対するモデルになってる気がしないんだけど! いやそもそも3点しかないから全体の姿はなんかもう全然わかんないけど!
ええ、通常このようにはしないというような記述がありますね。
なんでそんな歯切れ悪いの?
プロデューサーさんは大学で散々グリーン関数を扱ったはずなのに何も説明できないんですよね。
残念すぎるな。
でも訓練データは点電荷じゃないじゃん。
はい。
式 (6.39) は確率的なノイズがある場合の回帰モデルの最適化ってことだよな。Nadaraya-Watson モデルっていうのか。それでなんか 6.3 節導入部の最後に、カーネル密度推定を用いた回帰では各データ点に基底関数が関連付けられているから計算コストがかかるけど、基底関数(ここでは各データ点を中心にした RBF を全部特徴の成分にするつもりだったんだよな、それは計算コストがやばそうだな)の数を削減する方法もあるってかいてあるな。削減方法の例には直交最小2乗法(誤差の2乗和を最も削減する点から順に選んでいく)や K-means クラスタリングして重心を採用するとかがあるのか。…で 6.3.1 節がいきなり「3.3.3 節では(中略)等価カーネルによって与えられた」からはじまってるんだけど、俺等価カーネルって何か知らないんだけど、というか他にも 6.3 節ってちょいちょい3章を回顧してない? 上巻の3章ってどんな内容だったんだろ?
3章は「線形回帰モデル」というタイトルですね。3.1節ではまず特徴の線形和でかけるモデルが導入されていて…なんか図 3.1 に図 6.1 と全く同じ絵が…。そのパラメータ推定ですが、加法的な正規ノイズの場合は最尤推定と最小2乗推定が等価だと…それはそうですよね。図3.2 は面白いですね。特徴が2次元の場合の絵にみえます。 は全データの特徴の1つめの成分を並べたベクトルで、 は2つめの成分を並べたベクトルで、これらの線形和で各データに対応する被説明変数を並べたベクトル をつくりたいわけですが、線形和は面 内しか動けないので の への正射影を最適解とするしかないという状況ですね。あとは正則化の話もあって…3.2節にはバイアス-バリアンス分解による推定のやり方のよさの議論なんかもあるんですね。節の最後で「ここからはベイズ的にいく」って感じで決別されてる感じですけど。3.3節はベイズ線形回帰というタイトルで、パラメータ の分布を更新しようという話になってますね。このとき事後分布の平均は (3.53) 式 となり、これによる予測は(3.61) 式 となってこの を等価カーネルとよぶと。これは、未知の点 での値の予測において、訓練データ中の被説明変数をどれだけの割合ずつ混ぜるべきかと解釈できるんですね()。図 3.10 のように、ガウス基底関数を選んだときのカーネル関数を についてプロットすると、相手の点 の周りに局在するというのは僕が前回プロットで示したのと同じですね(もっとも、前回プロットしたカーネル関数は単なるガウス基底関数の内積であって、事後分散共分散行列 を挟んでいませんでしたが)。つまり、未知の点に対する値を予測したいときは、その点に近い説明変数に対する被説明変数をより多く混ぜよ、という直感的な結果になりますね。