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
超平面で分ける方法もある