LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

【読書会】はじめてのパターン認識_第2章:識別規則と学習法の概要

Last updated at Posted at 2017-07-03

100円の硬貨を識別する

その際、100円硬貨をたくさん集めてきて、微妙に異なる特徴ベクトルを
同様に100円硬貨として対応づける必要がある
このようなデータを学習データという

代表的な識別規則の構成法

(a)事後確率による方法
  例)ベイズの最大事後確率法
(b)距離による方法
  例)最近傍法
(c)関数値による方法
  例)パーセプトロン型学習回路、サポートベクトルマシン
(d)決定木による方法
  例)決定木
【図2.1】
スクリーンショット 2017-07-08 6.55.44.png

本書では、これらの識別規則の基本的な考え方を理解していく

教師付き(教師有り)学習

学習データに、既にクラスが指定されているデータ(教師データ)を用いた学習
線形回帰などに用いられ、経済などの分野で大活躍している。

教師なし学習

学習データに、クラスが指定されていないデータを用いた学習
入力データ間の距離や類似度、統計的な性質に基づいて、クラスを自動的に生成する
これについては第10章で解説する。

汎化能力

学習で得られた識別関数が、学習データに含まれていない未知データに対してうまくはたらくという保証はない
そこで、学習データから取り除いておいたテストデータを用いて性能評価を行い
未知データに対する動作をテストデータに対する誤り確率という形で予測する
ここで、未知のデータに対する識別能力を汎化能力といい、学習データの場合との誤差を汎化誤差という

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

100円硬貨を識別するために10000枚の100円硬貨を集める
そのうち、8000枚を学習データ(DL)、2000枚をテストデータ(DT)とする
100円硬貨の特徴量がd次元で表されるとする

スクリーンショット 2017-07-08 6.56.03.png

それぞれの特徴ベクトルのd次元空間内での分布をPL,PTで表すとすれば
DL、DTの分布から重さの平均値や分布などが計算できることになる
DLを使って設計し、DTを使ってテストした時の誤り率はε(PL,PT)で表される

手元にあるデータを学習用とテスト用に分割する代表的な方法

(1)ホールドアウト法

手元のデータを二つに分割し、一方を学習に使い、もう一方はテストのためにおいておき誤り率を推定するために使用する。
これをホールドアウト誤り率という

スクリーンショット 2017-07-08 6.56.12.png

ホールドアウト法は、有限のデータを学習用とテスト用に分割するため
学習用を多くすればテスト用が減り、学習精度はよくなるが性能評価の精度は悪くなる
したがって、手元のデータが大量にある場合をのぞいて、良い性能評価を与えないという欠点がある

(2)交差確認法

ホールドアウト法の欠点を補うものとしてよく使用され
交差検証法、交差妥当化法などともよばれている
手元の各クラスのデータをそれぞれm個のグループに分割し、m-1個のグループのデータを浸かって識別器を学習し、残りの一つのグループのデータでテストを行う
これをm回繰り返し、それらの誤り率の平均を性能予測値とする

スクリーンショット 2017-07-08 6.56.19.png

(3)一つ抜き法
交差確認法において、データの数とグループの数を等しくした場合をいう
1つ除いたデータで学習し、除いた一つでテストする
ジャックナイフ法と呼ばれる性能予測の基本的な方法

(4)ブートストラップ法
再代入誤り率のバイアスを補正するために利用される
※再代入誤り率
学習データとテストデータを同じものを使った場合に測定された誤り率
手元にあるN個のデータ集合で誤り率を予想すると、再代入誤り率が得られる
N回復元抽出を行いブートストラップサンプルを作成する
ブートストラップサンプルをいくつも生成し、それによって得られる誤識別率の差の平均値でバイアスを推定する

スクリーンショット 2017-07-08 6.56.27.png

汎化能力の評価法

汎化能力の評価には、学習データを学習することで得たモデルとテストデータを比較することで得られる

・MSE:平均二乗誤差
・RMSE:平均平方二乗誤差
http://mathwords.net/rmsemae

など

モデル選択

学習データによりパラメータを調整し、テストデータで誤り率を評価しても、誤りが目標より小さくならない場合にどうするか
→モデルを変える

・線形識別関数→非線形識別関数
・パラメータの数を変える
など

テストデータに対する誤り率がもっとも小さくなるパラメータを選択する方法をモデル選択という

例)パラメータを変えて試してみる

スクリーンショット 2017-07-08 6.56.34.png

一次関数:データから大きくはずれている(バイアスが大きい)が、近似した三本の直線はほとんど同じなので分散は小さい
三次関数:バイアスも分散も小さい
六次関数:ノイズを追ってしまうため、バイアスは小さいが分散が大きい
十次関数:ノイズを完全に追うためバイアスは小さいが分散は大きい

この様に、バイアスを小さくすれば分散が大きくなり、逆に分散を小さくすればバイアスが大きくなる現象をバイアス、分散トレードオフという

先ほどと同様に、次数を変えた場合の学習したパラメータを用いてテストデータに対する誤差を計算してみる

スクリーンショット 2017-07-08 6.56.40.png

これを見ると三次からすこしずつ誤差が増加していることがわかる
この様な現象を過学習という

この例の場合、汎化能力は三次の多項式の場合がもっとも高く、バイアスと分散が良いバランスだといえる

また、モデルのあてはまりの良さを評価する方法として
・赤池の情報量基準(AIC)
・ベイズ情報量基準(BIC)
・最小距離基準(MDL)
などがある

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