LoginSignup
0
0

More than 3 years have passed since last update.

PRML 演習問題 6.3(基礎) 解答

Posted at

問題

最近傍法(2.52節)は、新しい入力ベクトル$\mathbf{x}$を、訓練集合の中でこれにもっとも近い入力ベクトル$\mathbf{x} _ {n}$を持つものと同じクラスに分類する。最も単純な場合では、距離はユークリッド距離$||\mathbf{x} - \mathbf{x} _ {n}||^2$が用いられる。これをスカラー積で表すことで、カーネル置換を用いて、一般的な非線形カーネルを用いた最近傍法を導け。

解答

この問題は本文において二乗和誤差に対してカーネル置換を用いたのと同じように、最近傍法に対してもカーネル置換が適用できることを確認する問題である。
ユークリッド距離はスカラー積で表すと、

\begin {align*}
\left\|\mathbf{x}-\mathbf{x}_{n}\right\|^{2}=\mathbf{x}^{\top} \mathbf{x}-2 \mathbf{x}^{\top} \mathbf{x}_{n}+\mathbf{x}_{n}^{\top} \mathbf{x}_{n}
\tag{ex6.3.1}
\end {align*}

となる。
線形カーネル$k(\mathbf{x}, \mathbf{x'}) = \mathbf{x}^{\top} \mathbf{x'}$を用いて(ex6.3.1)を書き直すと、

\begin {align*}
\left\|\mathbf{x}-\mathbf{x}_{n}\right\|^{2} = k(\mathbf{x}, \mathbf{x}) - 2k(\mathbf{x}, \mathbf{x}_{n}) + k(\mathbf{x}_{n}, \mathbf{x}_{n})
\tag{ex6.3.2}
\end {align*}

線形カーネルを用いてユークリッド距離での最近傍法を表現できる。
また、今回はユークリッド距離を用いた最近傍法について述べたが、距離表現には様々なものがあり、例えば、

  • ミンコフスキー距離
\begin {align*}
d\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)=\left(\sum_{k=1}^{q}\left|x_{i k}-x_{j k}\right|^{p}\right)^{1 / p}
\tag{ex6.3.3}
\end {align*}
  • チェビシェフ距離
\begin {align*}
d\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)=\max _{k}\left(\left|x_{i k}-x_{j k}\right|\right)
\tag{ex6.3.4}
\end {align*}
  • キャンベラ距離
\begin {align*}
d\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)=\sum_{k=1}^{q} \frac{\left|x_{i k}-x_{j k}\right|}{\left|x_{i k}\right|+\left|x_{j k}\right|}
\tag{ex6.3.5}
\end {align*}

などが定義されている。
最近傍法においてこのような距離を用いる場合を考慮して、(ex6.3.1)における$\mathbf{x}^{\top} \mathbf{x'}$を非線形カーネル$\kappa(\mathbf{x}, \mathbf{x'})$で置き換えれば、

\begin {align*}
\kappa(\mathbf{x}, \mathbf{x}) - 2\kappa(\mathbf{x}, \mathbf{x}_{n}) + \kappa(\mathbf{x}_{n}, \mathbf{x}_{n})
\tag{ex6.3.6}
\end {align*}

これで一般的な非線形カーネルを用いた最近傍法を導くことができた。
(参考:PRML本文p7)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0