上巻を読むこともあります。何か問題点がありましたらご指摘いただけますと幸いです。節では、「各訓練データを特徴空間に埋め込んで線形回帰する」という問題は、「入力空間内の各点に各訓練データが張る密度を線形回帰する」という問題に読み替えることができることを確認しましたね。求めることになります。張る密度といっても構いませんが)。いうかだいたいいつも発散するんじゃない?発散したらダメなんですか?え?僕は「確率」密度とはいってませんよ。2.5.1節「カーネル密度推定法」では目的が確率密度推定でした。今の目的は回帰や分類です。それぞれのデータ点が周囲に張り巡らす「場」は空間全体で積分したら発散するようなものであっても構いませんし、それを各点で足し上げる重みも負であっても構いません。ハヤトの言う通りこんなカーネル関数がいいと選んだものではなく「特徴の内積」として結果的に出てきたものです。いっても、実際にカーネル法で解こうとするような場合はやはり特徴ではなくカーネル関数の方を決めるようですね。節でみていきましょう。どんだけカーネル関数ごり押しだよ...まあ先に進むか。節には、「カーネル関数を構成するには、特徴から構成するアプローチと、カーネル関数を直接定義するアプローチとがある」って書いてあるな。スクリプトは記事の最下部です)。パラメータは目算で合わせました。同じ絵...だけど、何も要するにになってないし。上段と下段も何なのかわかんないけど。真ん中の列が一番わかりやすいんじゃないかと思うんです。手書き数字のグレースケール画像を分類するような場合を想像してください。その場合は入力空間は1次元でなく画像のピクセル数の次元があるわけですが、上のグラフは1次元ですし無理やり1次元だと考えてください。同じ正解ラベルをもつ画像は入力空間での距離が近いと考えるのが自然でしょう。未知データに対する予測も、その未知データに近い訓練データがより大きな影響を及ぼすようなものであってほしいです。個々の訓練データは入力空間に、そのデータの位置で最も濃く、データから離れるほど薄くなるようなカーネル関数の煙幕を張りたいんです。中央列の最下段のように。軸上の各点とバツ印の点(にある訓練データ)とのカーネル関数」なのか。問題はこのようなカーネル関数を得るのにどのような特徴をとればいいのかということですが...天下りになってしまいますが、このようなカーネル関数を得るには「入力空間で少しずつ中心をずらしたガウス関数たちを特徴とすればよい」んです。ついてプロットしたものです。最上段のプロットには訓練データの位置に破線を入れていますが、最上段の例えばピンク色の曲線を、「破線との交点の値」倍すると中段のピンク色の曲線に移ります。他の色の曲線(特徴)もそうです。値を変えてみてもらえると確かにわかると思いますが、バツ印の位置を横にずらせば中央列最下段の分布も横にずれます。色々な位置の訓練データ点に対してこのように訓練データを中心にした密度を張り巡らせることができるので理想的なわけです。バツ印をずらした場合もわかるようにアニメーションとかにしといてよ。これらは訓練データを中心に広がる分布、って感じじゃないけど...。右の列は2値分類のようなイメージですね。迷惑メールかどうかの分類で、「このメールよりあちら側なら迷惑メールっぽいし、こちら側なら迷惑メールっぽくない」という煙幕でしょうか。この最上段の各特徴は中心を少しずつずらしたシグモイド関数です。左の列は解釈が難しいので説明を割愛します。あ、それに関連して、基底関数というのは「あるクラスに含まれる関数たちの全てがその関数の線形結合であらわせる」ようにとった関数たちのことです。