Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

はじめてのパターン認識 第2章

More than 5 years have passed since last update.

第2章 識別規則と学習法の概要

学習内容

  • 識別規則と学習法の概要
  • 学習データを用いて汎化能力を推定する方法

2.1 識別規則と学習法の分類

2.1.1 識別規則の構成法

 代表的な識別規則の構成法を以下に紹介する。
(a)事後確率による方法(代表例: ベイズの最大事後確率法)
 パターン空間に確率分布を仮定し、事後確率が最大のクラスに分類する。事後確率に関しては後章で解説。
(b)距離による方法(代表例:最近傍法)
 入力ベクトル$x$と各クラスの代表ベクトルとの距離を測定し、最も近い代表ベクトルクラスに分類する
(c)関数値による方法(代表例:サポートベクトルマシン)
 $f(x)$の正負あるいは最大値でクラスを決める。識別のために用いられる$f(x)$を識別関数と呼ぶ。
(d)决定木による方法
 識別規則の真偽を順次適応し、決定木の形でクラスを決める。

2.1.2 教師付き学習

 識別規則は入力データからクラスへの写像を$y=f(x)$で表す。識別規則の学習はこの写像の性質を、学習データを用いて決める必要があり、その学習により変化するパラメータを$w$で表す。学習の目的は、入力データが正しいクラスに対応する関数値を出すよう、$w$を調整することである。
識別規則が学習をするためには、入力データとそのクラスを指定したデータを対にした学習データが必要になる。クラスを指定したデータを教師データという。
教師データは2クラスの場合 $t$ $\in$ { $-1,+1$ } 、3以上ある場合は$t=$ { $0,1,0,0,0,0,0$ }$^T$のように表し、これらの学習に必要な全てのデータの対の集合を学習データセットといい$D_L$で表す。
前述したが、学習の目的は学習データを正しく識別できる$w$を求めることである。学習は学習データセットを用いて識別関数の出力と教師データの誤差が小さくなるよう$w$を調整することで行われ、調整の終わった識別関数は学習に使用しなかったテストデータセット($D_T$)を用いて性能評価を行う。

2.1.3 教師付き学習と線形回帰

教師付き学習では、識別関数$f(x)$は教師データとして与えられた関数値に近似させる能力を保つ必要があり、この能力は識別関数の複雑さに対応する。この問題を関数近似と呼び、線形関数で近似する場合は線形回帰と呼ばれる。線形回帰は経済分野などで活躍している。

2.1.4 教師なし学習

教師がいない学習も存在しており、この場合は入力データ間の距離や類似度によって自動的にクラスタリングすることが主目的になる。このような学習は、教師なし学習、あるいは自己組織型学習と呼ばれる。
最近では、一部のデータのみに教師データをつけて学習を行う形質導入学習という学習法も提案されている。この手法は、教師を一部のデータのみに付与し、そのデータからデータの持つ共通した特徴を手がかりに教師の形質を導入する手法で、コストが低い。

汎化能力

  • 汎化能力:未知のデータに対する識別能力
  • 汎化誤差:未知のデータに対する識別の誤差

2.2.1 学習データとテストデータの作り方

前提条件
  • 全てのデータの集合を母集団と呼び、母集団を分割して学習データセット$D_L$とテストデータセット$D_T$を作成する。それぞれのデータセットの特徴ベクトルの分布を$p_L$, $p_T$とし、$D_L$を用いて設計し、$D_T$を用いてテストした際の誤り率を$\varepsilon(p_L, p_T)$と表すことにする。
  • 母集団を用いた$d$次元特徴の分布を真の分布とよび、$p$で表すことにする。$p_L$や$p_T$は真の分布からランダムにサンプルされたもので、各特徴の平均や分散が$p$とおなじになるとは限らない。このズレをバイアスという。
  • 真の誤り率$\varepsilon(p, p)$は真の分布$p$を用いて設計し、$p$を用いてテストした時の誤り率を表す。
  • 母集団からサンプリングした同じデータを学習とテストに用いた際の誤り率を$\varepsilon(p_L, p_L)$とし、再代入誤り率と呼ぶ。

母集団を分割して学習とテストを行う手法の代表的なものとして以下のものがあげられる。
(1)ホールドアウト法
母集団を分割して一方を学習に使い、他方をテストのために置いておき、誤り率の推定に使用する。これによって求められる誤り率をホールドアウト誤り率という。学習精度と性能評価がトレードオフの関係にあるため、手元に大量のデータがない場合は良い性能評価を行うことができない。
(2)交差確認方
母集団を$m$個のグループに分割し、$m-1$個のグループを用いて学習を行う。そのあと残りの1つのグループでテストを行う。これを全グループがテストに用いられるよう$m$回繰り返し、その誤り率の平均を性能予測値とする。$i$番目のグループの誤り率を$\varepsilon_{-i}$とすると、誤識別率の予測値は$\varepsilon = \sum _{i=1} ^{m} { \varepsilon{-i} }$と予測される。分割によってグループごとのデータのバイアスがかかる可能性があるので、分割方法を変えて交差確認法を繰り返す必要がある。
(3)ジャックナイフ法
交差確認法においてデータ数とグループ数を等しくして行う。組み合わせが1つなので1回だけやればよい。
(4)ブートストラップ法
再代入誤り率バイアスを補正するために使用される。総数N個の母集団に対して、N個のデータを用いて設計し、N個のデータでテストすることで再代入誤り率を求め、真の誤り率との差分をとることでバイアスを明らかにする。最低でも50回程度のリサンプリングを繰り返して施行を重ねてバイアスの精度を高めていく。

2.2.2 汎化能力の評価法とモデル選択

学習データによってパラメータ調整を行い、誤り率を評価しても、目標以上の精度が出ない場合は識別関数を変える必要がある。誤り率が最も小さくなるパラメータを選択する方法をモデル選択という。

ssnnkkhh
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away