数学、ときどき統計、ところによりIT

理論と実践の狭間で漂流する数学趣味人の記録

統計的機械学習

今回から数回に亘って統計的機械学習について取り上げたいと思います。

学習の定義

はじめに学習理論を説明するために必要となる基本的な言葉を定義します。本記事中で使用する確率論に関する用語および記号は「数理統計学 4 測度論的確率論」をご参照下さい。

定義 

  1. 不確実性を伴う現象について、現在および将来において観測により得ることが可能な情報をデータと呼ぶ。
  2. データから将来の予測や意思決定に役に立つ情報を抽出する行為を学習と呼ぶ。
  3. データの内、現在時点で観測により得られるもので、学習に利用可能であるもの教師データと呼ぶ。
  4. データの内、将来時点で観測されうるもので、学習の予測精度を評価するためのものをテストデータと呼ぶ。

学習理論では、将来の予測や意思決定に役に立つ情報を、あるデータを別のデータと関連付ける対応関係によって表現します。あるデータを別のデータに関連付ける行為を「予測する」または「説明する」という言葉で表すことにします。これを踏まえ、以下の言葉と記号を定義します。

定義 

  1. データの内、説明変数として使われるものを入力値、被説明変数として使われるものを出力値と呼ぶ。入力値全体を \mathcal{X}、出力値全体を \mathcal{Y} で表す。
  2. 入力値 x\in\mathcal{X} に対する出力値が y\in\mathcal{Y} であるとき、入出力値を組にして (x,y)\in\mathcal{X}\times\mathcal{Y} と表す。
  3. 出力値 y\in\mathcal{Y} を入力値 x\in\mathcal{X} によって予測する為に導入される \mathcal{X} から \mathcal{Y} への写像を仮説という。複数の仮説を想定する場合、それら複数の仮説が作る集合を仮説集合と呼ぶ。
  4. h:\mathcal{X}\to\mathcal{Y} を仮説とする。予測値 h(x)\in\mathcal{Y} と出力値 y\in\mathcal{Y} の誤差を \ell(h(x),y) とするとき、関数 \ell:\mathcal{Y}^{2}\to\mathbf{R}_{\ge0} を損失関数と呼ぶ。
  5. 入出力値の集合 (\mathcal{X}\times\mathcal{Y})^{n} から仮説集合 \mathcal{H} への写像 \hat{h} を学習アルゴリズムと呼ぶ。入出力値が s\in (\mathcal{X}\times\mathcal{Y})^{n} であるとき、学習アルゴリズム \hat{h} によって得られる仮説を \hat{h}_{s} と書く。

ここではテストデータについて予測するための仮説を、学習アルゴリズムによって構築する方法・技術、いわゆる教師あり学習を考察の対象とします。

 

予測損失とベイズ誤差

初めに、学習においてベンチマークとなる仮説について考えます。目標とする仮説 h は、テストデータ (X,Y) について予測値 h(X) と出力値 Y の誤差 \ell(h(X),Y) を小さくするものです。ただしテストデータ (X,Y) は将来時点で得られるデータであることから確率変数として扱う必要があります。一般に、確率変数に対して評価を行う場合、平均的な振る舞いを見ることが良く行われます。

 定義 (\Omega,\mathcal{F},P) を確率空間、(X,Y):\Omega\to\mathcal{X}\times\mathcal{Y} をテストデータ、 h:\mathcal{X}\to\mathcal{Y} を仮説、\ell:\mathcal{Y}^{2}\to\mathbf{R}_{\ge0} を損失関数とする。

  1.  \begin{equation*}\begin{split}R(h,\ell) & :=E_{P}[\ell(h(X),Y)]\\ & :=\int_{\Omega}\ell(h(X(\omega)),Y(\omega))P(d\omega)\\ & =\int_{\mathcal{X}\times\mathcal{Y}}\ell(h(x),y)P^{(X,Y)}(d(x,y))\end{split}\end{equation*}を損失関数 \ell の下での仮説 h の予測損失という。
  2. {\displaystyle \inf_{h:\text{可測}}}R(h,\ell) を損失関数 \ell の下でのベイズ誤差と呼ぶ。またベイズ誤差を実現する仮説 h_{0} が存在するとき、h_{0}ベイズ規則と呼ぶ。

 

特定の \ell に依らない議論を行う場合は、予測損失 R(h,\ell)\ell を省略して単に R(h) と書くことにします。

上記の言葉を使えば、求めるべき仮説はベイズ規則 h_{0} ということになるのですが、テストデータは将来時点で得られるデータであり、仮にベイズ規則が存在していたとしても、それを直接求めることは一般には出来ません。

そこで現時点で入手可能な教師データを使って予測損失の推定量となるような損失を考え、学習アルゴリズム \hat{h} によってその損失を最小化する仮説(推定量)を求め、直接求めることのできないベイズ規則の代わりに用いることを考えます。その際、より妥当な仮説を導くために、教師データも確率変数として扱う必要があります。実際、不確実性を伴う現象を m 回観測して得られるデータ s_{1}, s_{2}, \ldots, s_{m} には通常、ばらつきが生じているため、これらを教師データとする仮説 \hat{h}_{s_{1}}, \hat{h}_{s_{2}}, \ldots, \hat{h}_{s_{m}} も(教師データのばらつきに応じて)揺れることになります。

次節では教師データが確率変数として振る舞う時、どのように学習アルゴリズムを評価すればよいのか、その方法について見ることにします。

 

学習アルゴリズムの評価方法

学習アルゴリズム \hat{h} の評価方法として次のものが考えられます。

1つ目は R(\hat{h}_{s}) の教師データ s に関する期待値\begin{equation*}\int_{(\mathcal{X}\times\mathcal{Y})^{n}}R(\hat{h}_{s})P^{S}(ds)\end{equation*}(これを期待予測損失と呼びます)を用いる方法です。

2つ目は R(\hat{h}_{s})ベイズ誤差との差が一定水準 \varepsilon\gt 0 よりも大きくなってしまう教師データ s の割合*1 \begin{equation*}P^{S}\left(R(\hat{h}_{s})-\inf_{h:\text{可測}}R(h)>\varepsilon\right)\end{equation*}を用いる方法です。

1つ目と2つ目の評価方法の間にはマルコフの不等式*2により\begin{equation*}P^{S}\left(R(\hat{h}_{s})- \inf_{h:\text{可測}}R(h)>\varepsilon\right)\le\frac{1}{\varepsilon}\int_{(\mathcal{X}\times\mathcal{Y})^{n}}\left(R(\hat{h}_{s})-\inf_{h:\text{可測}}R(h)\right)P^{S}(ds)\end{equation*}という関係が成り立ちます。

さて、2つ目の評価方法に関連し、学習アルゴリズムが持っていると望ましい性質として次のものがあります。

定義(統計的一致性) 任意の \varepsilon\gt 0\varepsilon'\gt 0 に対して、ある N\in\mathbf{N} が存在して\begin{equation*}P^{S_{n}}\left(R(\hat{h}_{s_{n}})-\inf_{h:\text{可測}}R(h)>\varepsilon'\right)<\varepsilon,\quad\forall n>N\end{equation*}が成り立つとき、学習アルゴリズム \hat{h} は統計的一致性を持つという。(ただし教師データが標本の大きさに依存していることを明確にするために本定義では Ss をそれぞれS_{n}s_{n} とした。)

つまり十分な数のデータを用意することで適切な仮説を導くことが出来るような学習アルゴリズムを、統計的一致性を持つ学習アルゴリズムと呼びます。

 

参考文献

  • 金森敬文,統計的学習理論, 講談社, 2015

*1:本来は\begin{equation*}P^{S}\left(\left\{ s\in (\mathcal{X} \times \mathcal{Y} )^{n} \ \bigg| \ R(\hat{h}_{s})-\inf_{h:\text{可測}}R(h)>\varepsilon \right\} \right)\end{equation*}と書くべきところですが、確率論および統計学の慣習に従い本文中にある様に略記します。

*2:確率不等式補題1を参照。