Document

Overview of
Supervised Learning
近山・田浦研 M1
斎藤 大
Supervised Learningとは?

入力から出力を予測したい
–
–


いくつかの入力⇒出力(= 訓練データ)が与えられる
新しい入力が与えられた時、出力はどうなる?
入力から出力を求めるモデルを立てて
訓練データからモデルを修正していく
例)スパムフィルタ
手書き文字認識
株価予測
Supervised Learningとは?
出力の分類
 数量 Quantitative
–
–

性質 Qualitative
–
–

Ex) 株価
数量を予測すること = “回帰”
Ex) spam or not
性質を予測すること = “分類”
(順序付性質:Low, Mid, High)
例:スパムフィルタ

訓練:メール本文中の特定単語の出現確率
george
you
your
hp
spam
0.00
2.26
1.38
0.02
email
1.27
1.27
0.44
0.90

出力:スパムかどうかの判断
If (%george < 0.6) & (%you > 1.5) then spam
If (0.2×%your – 0.3×%hp) > 0 then spam
例:手書き文字認識



様々な人が書いた数字から
共通の特徴を見つける
訓練:16×16 pixel
256grayscaleのデータ
+それがどの数字を表すか
出力:どの数字か?
–
“どの数字にも属さない”の回答もあり得る
→分類ミスを減らす
発表の流れ
1.
2.
Supervised Learningの概要
基礎的な手法
–
–
3.
4.
5.
6.
最小二乗法
k-nearest neighbor
高次元問題
一般的な統計モデル
様々な手法
まとめ
最小二乗法



二乗誤差が最小となる直線を求める
線形モデルを想定(=強い仮定)
特徴
–
–
–
ある程度不正確
柔軟でない
安定している
最小二乗法の数式表現

線形モデルを想定

二乗誤差:下の式を最小にする
を求める
機械学習への適用


訓練データから入力⇒出力直線を求める
入力データに対し
–
–


回帰:直線から出力値を求める
分類:直線のどちら側に
いるかで分類する
少ない訓練データでも適応
例:2次元平面で2値の分類
座標→色(Red or Green)
k-nearest neighbor



k個の近傍点から出力を予測する
“近傍”はユークリッド距離で測定
特徴
–
–
–
–
ある程度正確
柔軟
あまり安定しない
特定のモデルを定めず
k個の近傍を選ぶ
k=3
k-nearest neighborの数式表現


k個の近傍点の平均
はxのk個の近傍
 仮定1:出力は他の出力の平均で予測出来る

仮定2:ある点の出力は近隣の点に類似する
機械学習への適用


訓練データを入力空間に配置する
入力データに対し、そのk個の近傍点を集めて
–
–

数量の予測:出力を平均
性質の予測:出力を多数決
例:先と同じ例(k=15)
–
最小二乗法より良さそう
最適な近傍数k

例:1-nearest neighbor
–
–
訓練データの誤分類無し
これがいい分類?
訓練データ自体の
誤差も考える必要がある
 トレーニングの誤分類率
≠実際の誤分類率
⇒最適なkを求めるために二乗誤差が使えない

2つの手法の比較:偏りと分散

最小二乗法
–
–

訓練データが少ない場合
k-nearest neighbor
–
–

強い偏り
低い分散
弱い偏り
高い分散
訓練データが多い場合
どちらもデータを平均している点は同じ
k-nearest neighborの問題点


訓練データが十分存在する場合
→k-nearest neighborは一般に
様々な種類の問題に対し良い性能を示す
問題点
–
十分なサンプル数が無いケースでは不安定
近傍の探索
–
高次元での性能低下
–
高次元の問題

“curse of dimensionality”
–


あらゆる学習アルゴリズムに影響を及ぼす
「高次元では、あらゆるものが遠くに見える」
例:ユークリッド距離
次元が増えるほど、距離が増える
高次元の問題

p次元の
hypercubeで
全体のrだけの
断片が欲しい

hypercube全体の内10%を取得したい
→10次元では1辺が最大の長さの80%
高次元の問題

k-nearest neighborで近傍が遠くなる
–
–

多くのエラーを含む
他の近傍点を使う手法でも同様のことが言える
低次元の場合と同等の精度を得るためには
→訓練データ数もexponentialに増加
統計モデル

Supervised Learningの一般モデル構築
特に数量予測(=回帰)の場合について
出力Y=入力Xをある関数に通し誤差を加える

誤差

Xに依存しない
ex)測定誤差
統計モデル

訓練中
を計測し を修正

訓練完了時
–
–

理想は全ての に対し
として実際ありえそうなものを一通り選んでいる
として適切なモデル(関数)を仮定し
Supervised Learningを関数近似として扱う
関数近似


関数近似にはいくつかパラメータが存在し
一般に で表す(線形モデルでは
)
Linear basis expansion
は様々な関数(x, cos(x), x^2)

この関数を最小化する、単純な最小化問題へ
様々な手法




最尤推定
Roughness Penalty
Kernel Method
Basis function
最尤推定

最小二乗法よりも広い範囲に適用できる
観測データの出現確率から関数を推定する

この式を最大化するようにθを定める

Roughness Penalty


によりRoughness Penaltyを与える
Cubic smoothing spline
–
–
Penaltyはつかない
線形モデルしか認めない
Kernel Method



高次元空間へ写像し、データを扱いやすくする
カーネル関数
ガウスカーネル
ユークリッド距離から類似度を求める

Basis function

線形関数、多項式を組み合わせる

Neural Network
–
ただし
まとめ

Supervised Learningとは
–
–


最小二乗法
k-nearest neighbor
–


訓練データを用いて、モデルを推測する
モデルの構築に様々な手法
高次元の問題
モデルの一般化
様々な手法の紹介