Transcript ppt
Linear Methods for Classification
修士1年
斎藤 大
今日紹介する手法
入力空間を線形に分類する手法
LDA(Linear Discriminant Analysis)
Logistic Regression
Hyperplaneを用いた分類
一般的な分類
あるクラスkに対し、入力から
“kらしさ”を求める関数
が存在する
全てのkに対して
を計算する
が最も大きいクラスを選ぶ
“kらしさ”とは?
“kらしさ”が最大のものに分類する
→”kになる確率”を求めればよい
事後確率
入力がxの時、kに分類される確率
も事後確率と同様に扱える
ただし、負の値、1以上の値もあり得る
線形分類
クラスの境界が線形、という仮定
が線形なら、境界も線形
境界の関数を求める
最小二乗法
仮定
f(x)
二乗誤差が小さい
直線が適切
全ての点について
f(x)との二乗誤差を
求める
問題点:masking
左:回帰
右:LDA
左では緑のクラスが分けられていない
LDA(Linear Discriminant Analysis)
LDAとは
線形判別分析
各クラスの境界を
直線で求める
以下のモデルを仮定
各クラスのばらつき(=分散)は等しい
各クラスはガウス(正規)分布に従う
「分散が等しい」の意味
ガウス(正規)分布
1次元正規分布の確率密度関数
p次元正規分布の確率密度関数
μ:平均
∑:分散
ベイズの定理
k→xの確率
x全体の確率
:条件付確率(kの時xが起こる確率)
:事前確率(kが起こる確率)
境界の式
境界の式の条件
ガウス分布を用いると
xに関して線形
実際の計算
実際に訓練データから学習する時の
各パラメータの計算
:kが起こる確率
→訓練データ中にkが出てきた数
:平均値
→クラスkの全入力の平均
:分散
→全クラスの分散
QDA(Quadratic Discriminant Analysis)
二次判別分析
分散が等しい、の仮定を除く
クラスの境界が曲線となるため、より柔軟
な状況に適用できる
しかし、推定すべきパラメータ数が増えるので、
計算が大変
LDAの入力を増やすと(
QDAとほぼ同等の結果を出せる
)
直感的な理解(1)
LDAは結局何をしているのか?
入力を、次元の低い(K-1次元)特徴に射影
境界の直線→それに直交する特徴軸
例:K=2
直感的な理解(2)
クラス内分散を最小に
クラス間分散を最大に
同じクラスは出来るだけ集めたい
それぞれのクラス間で共通部分が少ない方が
良い
から最適なパラメータを求める
Logistic Regression
Logistic Regressionとは
結果が2値のモデルで主に用いられる
医学・薬学の分野など
→病気か否か、など2値化が容易
ある事象が発生する確率を直接予測する
モデル:事後確率の比の対数(logit)は線形
2値では
と同義
モデル
事後確率(2値の場合)は以下の形
一般化:
Logistic Regressionの特徴
入力の各値に係数が付くため、どの要素が
判別に効いているのか理解しやすい
注意点:入力の次元を多く取り過ぎない
出力と関係無い値や相互関係を持つ値を入力
に用いすぎるとおかしな結果が出ることがある
パラメータ推定
出力と予測が揃った時に高評価
ただし、
は2値の出力(0/1):aに分類される時の値
上の式を変換すると
この式を最大化する
Logistic Regressionの例
標準化されたスコア
心臓病の要因の推定
2以上→有意
要素
係数
Err
Z Score
血圧
0.006
0.006
1.023
タバコ
0.080
0.026
3.034
コレステロール
0.185
0.057
3.219
親族
0.939
0.225
4.178
肥満
-0.035
0.029
-1.187
アルコール
0.001
0.004
0.136
年齢
0.043
0.010
4.184
直感的な理解
logit
1
0.9
0.8
Logit負:確率50%以下
0.7
0.6
p
0.5
0.4
0.3
0.2
-2.5
-1.5
Logit正:確率50%以上
0.1
0
-0.5
0.5
log(p/(1-p)):logit
1.5
2.5
LogisticとLDAの比較
両方とも
事後確率Pr(G=k|X=x)を用いて分類する
境界は線形になる
の式を用いる
経験的に二つの手法の結果はほぼ同じ
Logistic Regressionは
各クラスの分散が等しい、等の仮定が無い
Hyperplaneを用いた分類
Hyperplaneとは?
超平面
クラスを“出来る限り”分けるための平面
SupportVectorMachine等はこれを用い
ている
以下、特定のモデルを立てるのではなく、
二つのクラスを分ける最もよい平面を考
える
超平面とLDAの比較
赤ラインはLDA
誤分類が一つ
完全に二つに分類す
る直線は青ライン
いくつか考えられる
適切な超平面は?
Perceptron Learning Algorithm
ニューラルネットワークの手法
誤分類の点と境界との距離を最小にする
完全に分離出来る時は分離したい
この手法の問題点
完全に分離出来る直線がたくさん存在
計算ステップ数が多い
特にクラス間の間隔が小さい時
データが完全に分離できない場合、
収束しないことがある
最適な超平面を求める
クラスを二つに分類し、かつ
各データ点との距離が最大となる超平面
を引く→マージン最大化
唯一解
クラス間距離最大
Support Vector
各クラスで相手に最も近い点
→Support Vector
最小二乗法やLDAと違い、全てのデータ
を見る必要がない
分離平面に近くの点だけでよい
データが完全に分離できない場合
→Support Vector Machine
まとめ
線形にデータを分類する手法
LDA
Logistic Regression
超平面で分ける方法もある