Upload
daisuke-yoneoka
View
985
Download
0
Embed Size (px)
Citation preview
統計学勉強会
第 7 回@kingqwert
まずは MCMC をちょっと
MCMC( メトロポリス法 )
• 対数尤度関数 L(q) を最大化することを考える
1. パラメーター q の初期値を選ぶ2. Q を増やすか減らすかランダムに選ぶ3. r= 対数尤度比 : L(New q)/L(q) をつくる4. 0≤R<1 なる一様乱数を生成する5. r>R なら受理、そうでないなら棄却
それで今日のメインはMachine learning!
とりあえず SVM とニューラルネットと、できたら集団学習(アンサンブル学習)を覚えればおk
Notations 1
• 教師付き学習 ( supervised learning ) と、教師無し学習 (unsupervised learning) – 入力データが与えられたとき、これに対する出力を正
しく予測することが目的→教師あり– 入力データだけが与えられ何らかの基準で最適化→
教師なし• クラスター分析、主成分分析、ベクトル量子化、自己組織化
マップ、強化学習
Notations 2
• 回帰問題– Def: 実数値を予測する教師つき学習
• 分類問題– Def: 離散的な出力を持つ条件付き確率分布を推定する問題
• わかりやすく言えば、– 出力が実数値∈ R である場合が「回帰」– 実現値が離散値、出力の取りうる集合が : 2 クラス分
類 :+1 と -1 の 2 値や多クラス分類 :{1,2, ...,C} の C 通り のような場合が「分類」
統計学俯瞰
クラスタリング 1: k-means
• K-means とは。。。– クラスタ数 k を指定してクラスタする方法
• Input: データセット x 、クラスタ数 k
1. 初期化:データからランダムに k 個選びクラスタ重心にする ( 境界上はランダムに配分 )
2. クラスタ決定: 最も近い重心のクラスタをそのデータのクラスタとし、全データに関して計算
3. 重心再計算:2で決定したクラスタ毎に重心を計算。これを収束するまで繰り返す。
注意点• 長所– 速い
• 短所– K の決定が恣意的になっちゃう• →x-means 、ギャップ統計量、カーネル主成分分析
– 暗黙の分散均一仮定
クラスタリング 2: Fisher 判別分析• 判別分析とは。。。
– 「どの群に属しているかが分かっている標本があるときに,まだ分類されていない標本がどちらの群に属するかを推定する手法」
• 以下の J(w) を最大化• フィッシャー:分散だけに着目
• w :固有ベクトル• 共分散 (χ2 乗 )/ 共分散 (χ2 乗 ) ~ F 分布• VBはクラス間分散、VWはクラス内分散
wVw
wVwwJ
wT
BT
)(
クラス内分散→小さくクラス間分散→大きく
うまく分かれるー
クラスタリング 3: k- 近傍法• K- 近傍法 (k-neighborhood とは ) 。。。– 「テストデータの近くにある学習データの多
数決でテストデータのラベルを予測する」
K 近傍法の特徴• 長所:わかりやすい、使いやすい
• 短所: - 更新の激しいデータに不向き(1から計算し直しになるから) - データの中に関係ないファクターが多数あると誤判断
ニューラルネットワーク• 脳機能に見られる特性をシミュレーショ
ンによって再現することを目指した数学モデル
ニューラルネットワークとは• 様々なモデル– 多層パーセプトロン ⇒ 今日はこれに注目– 自己組織化マップ–動径基底関数ネットワーク– 学習ベクトル量子化
• とりあえず多層パーセプトロン• 判別分析では 3層が多く用いられる(ら
しい)
機械学習勉強会@本郷キャンパス 16
ニューラルネットワークの線形モデル
• 回帰問題
• クラス分類問題
• :非線形活性化関数13/02/12
f() の返り値はクラスラベル y=1,2,…G
ニューラルネットワークの線形モデル
• 多値入力・多値出力な線形モデルの組み合わせ
サポートベクターマシーン(SVM)
• SVM とは。。。– データを +1,-1 に分ける超平面の推定をする際
に、マージン(学習データから超平面までの最短距離)を最大化する超平面が良いとする方法
SVM の特徴• 長所:次元が大きくても識別精度がよい(マージン最大化のため、2次計画問題であり、最適解が唯一に定まり局所的最適解に陥らない)わかりやすい、使いやすい
• 短所:線形分離不可能なときはデータを判別できない(カーネル化)
Kernel
• カーネルのイメージ– 高次元に写像したら一気に道がひらけたぜ!– カーネルトリック使うと、別に φ(x) を定義不要!
決定木• 決定木とは、データの特徴量を用いた簡単なルールで分岐を作り、特徴空間を分割することを通じて判別や回帰を行うモデルのこと
• CART (代表的なアルゴリズム)1. 木の構築:何らかの基準を満たすまで、予め定義しておいたコス
ト( GINI 係数やエントロピー)に基づいて特徴空間を 2 分割する手続きを繰り返す
2. 剪定 (pruning) :構築された木の深さが深いほど複雑なデータを扱うことができるが、過学習の可能性がある。そこで、過学習を防ぐため、予め定めておいたパラメータによってモデルの複雑度を制御すること
21
決定木の不安定性
22
• 決定木の問題点– 結果の分散が大きく、データが少し変わっただけで構築され
る木の構造や判別ルールが大きく変わってしまう。– あとで出るバギングやブースティングで木の安定性を測って
いる。
集団学習 ( アンサンブル学習 )
• アンサンブル学習とは。。。– 弱学習器を複数組み合わせて精度を向上させる手法
• バギング : 要は Bootstrap ・ adabag (R packages) ・ ipred(R packages)• ブースティング : 新しい弱学習器を追加する際に、逐次
的に重みを変えていく(誤差とかで修正していく) ・ ada (R packages) ・ adabag (R packages)
アダブースト・ U ブースト のイメージ
間違ったものに敏感になる弱学習器を作ってく
バギング特徴
• 過学習を起こしやすかったり、局所解に陥りやすいものほど効果高い(出力の平均化)
• ブースティングと違って、弱学習器が事例を重み付け出来なくても適用でき容易
• 並列に実行可能• 弱学習の強化には向かない(ショボ憎をいくら集めても
ショボイ)
ブースティング特徴
• バギングの各試行を独立じゃなくする• 弱学習器を追加する際、逐次的に学習させる。• 並列化が困難• 2値判別・・・アダブースト、 U ブースト• 多値判別・・・アダブースト M1 、 M2