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