機械学習を勉強する(元)社会人の日記

機械学習の勉強をしています。多分。数学も趣味レベルで勉強しています。

近況報告

■最近

合格発表からおよそ一か月経ちました。今は「はじめてのパターン認識」を読み進めています。

はじめてのパターン認識

はじめてのパターン認識

これを読み終わったら「データ解析のための統計モデリング入門: 一般化線形モデル・階層ベイズモデル・MCMC」を読もうかと思っています。

■気になる部分

はじパタですが、読み進めているうちに「???」となってしまう部分が多々あり、詰まってしまうときがあります。 例えばP13で、

(1)ホールドアウト法
 手元のデータを二つに分割し, 一方を学習に使い($\mathit{p}_{\mathit{L}}$で表す), もう一方はテストのために取り置いておき($\mathit{p}_{\mathit{T}}$で表す), 誤り率を推定するために使用する. これをホールドアウト誤り率(holdout error)といい, $\varepsilon(\mathit{p}_{\mathit{L}},\mathit{p}_{\mathit{T}})$で表す.
 真の誤り率と再代入誤り率, ホールドアウト誤り率の間には,

\begin{equation} \mathit{E}_{{\mathcal{D}}_{\mathit{L}}}\{\varepsilon(\mathit{p}_{\mathit{L}},\mathit{p}_{\mathit{L}})\} \leq \varepsilon(\mathit{p},\mathit{p}) \leq \mathit{E}_{{\mathcal{D}}_{\mathit{T}}}\{\varepsilon(\mathit{p}_{\mathit{L}},\mathit{p}_{\mathit{T}})\} \end{equation}

の関係が成り立つことが知られている.ここで, $\mathit{E}_{{\mathcal{D}}_{\mathit{L}}}\{\}$は多くの学習データセット$\mathcal{D}_{\mathit{L}}$を用いて設計し, 同じデータで誤りを測定した再代入誤り率の期待値を表す.また, $\mathit{E}_{{\mathcal{D}}_{\mathit{T}}}\{\}$は一つの学習データセット$\mathit{p}_{\mathit{L}}$を用いて設計した識別器を, 多くのテストデータセット$\mathcal{D}_{\mathit{T}}$でテストしたときの誤り率の期待値を表す.

…というように書いてあるのですが、単純に「なんで?」と思いました。

■参考文献を確認

 上記の点に関して幸いにも、福永 圭之介先生のIntroduction to Statistical Pattern Recognitionが参考文献としてあげられていたので、そちらを確認してみることにしました。P219よりこの話は始まります。

5.3 Holdout, Leave-One-Out, and Resubstitution Methods
Bounds of the Bayes Error

 When a finite number of samples is given and the performance of a specified classifier is to be estimated, we need to decide which samples are used for designing the classifier and which samples are for testing the classifier.

 Upper and lower bounds of the Bayes error: In general, the classification error is a function of two sets of data, the design and test sets, and may be expressed by

\begin{equation} \varepsilon(\mathscr{P}_{\mathit{D}},\mathscr{P}_{\mathit{T}}) \tag{5.109} \end{equation}

where, $\mathscr{P}$ is a set of two densities as

\begin{equation} \mathscr{P}=\{\mathit{p}_{1}(\mathit{X}), \mathit{p}_{2}(\mathit{X})\} \tag{5.110} \end{equation}

If the classifier is the Bayes for the given test distributions, the resulting error is minimum. Therefore, we have the following inequality

\begin{equation} \varepsilon(\mathscr{P}_{\mathit{T}},\mathscr{P}_{\mathit{T}}) \leq \varepsilon(\mathscr{P}_{\mathit{D}},\mathscr{P}_{\mathit{T}}) \tag{5.111} \end{equation}

The Bayes error for the true $\mathscr{P}$ is $\varepsilon(\mathscr{P},\mathscr{P})$. However, we never know the true $\mathscr{P}$. One way to overcome this difficulty is to find upper and lower bounds of $\varepsilon(\mathscr{P},\mathscr{P})$ based on its estimate $\hat{\mathscr{P}}=\{\hat{\mathit{p}}_{1}(\mathit{X}), \hat{\mathit{p}}_{2}(\mathit{X})\}$. In order to accomplish this, let us introduce from (5.111) two inequalities as

\begin{align} \varepsilon(\mathscr{P},\mathscr{P}) \leq {\varepsilon}(\hat{\mathscr{P}},\mathscr{P}) \tag{5.112} \\
\varepsilon(\hat{\mathscr{P}},\hat{\mathscr{P}}) \leq \varepsilon(\mathscr{P},\hat{\mathscr{P}}) \tag{5.113} \end{align}

Equation (5.112) indicates that $\mathscr{P}$ is the better design set than $\hat{\mathscr{P}}$ for testing $\mathscr{P}$. Likewise, $\hat{\mathscr{P}}$ is the better design set than $\mathscr{P}$ for testing $\hat{\mathscr{P}}$. Also, it is known from (5.48)*1 that, if an error counting procedure is adopted, the error estimate is unbiased with respect to test samples. Therefore, the right-hand side of (5.112) can be modified to

\begin{align} \varepsilon(\hat{\mathscr{P}},\mathscr{P}) = \mathit{E}_{\mathscr{P}_{\mathit{T}}}\{\varepsilon(\hat{\mathscr{P}},\hat{\mathscr{P}}_{\mathit{T}})\} \tag{5.114} \end{align}

where $\mathscr{P}_{\mathit{T}}$ is another set generated from $\mathscr{P}$ independently of $\hat{\mathscr{P}}$. Also, after taking the expectation of (5.113), the right-hand side may be replaced by

\begin{align} \mathit{E}\{\varepsilon(\mathscr{P},\hat{\mathscr{P}})\} = \varepsilon(\mathscr{P},\mathscr{P}) \tag{5.115} \end{align} Thus, combining (5.112)-(5.115),

\begin{align} \mathit{E}\{\varepsilon(\hat{\mathscr{P}},\hat{\mathscr{P}})\} \leq \varepsilon(\mathscr{P},\mathscr{P}) \leq \mathit{E}_{\mathscr{P}_{\mathit{T}}}\{\varepsilon(\hat{\mathscr{P}},\hat{\mathscr{P}}_{\mathit{T}})\} \tag{5.116} \end{align} That is, the Bayes error, $\varepsilon(\mathscr{P},\mathscr{P})$, is bounded by two sample-based estimates [12]*2.

ここまで書いておいてなんですが、のっけから「a specified classifier is to be estimated...」と書いてあって特定の分類器に指定した場合かよ!!となりました。
でも、とりあえずこれは一般的に成り立つものではないんだな~と納得できたので良かったです。
数学科が機械学習の勉強で詰まる所以はこういったところにあるのかなあ、とおそらく非常に低レベルな部分で詰まった自分をさておき思いました。

しばらくはこんな感じで自分がやったことの確認?メモ?雑記といった感じで更新していきたいと思っています。

では。

*1:\begin{align}\mathit{E}_t\{\hat{\varepsilon}\}&=\frac{1}{2}+\mathit{P}_{1}\bar{\alpha}_{1}-\mathit{P}_{2}\bar{\alpha}_{2} \\ &=\frac{1}{2}+\mathit{P}_{1}(\varepsilon_{1}-\frac{1}{2})+\mathit{P}_{2}(\frac{1}{2}-\varepsilon_{2})=\varepsilon\end{align}

*2:K. Fukunaga and T. E. Flick, A test of Gaussian-ness of a data set using clustering, IEEE Trans. Pattern Anal. and Machine Intell., PAMI-8, pp.240-247, 1986.