Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PRML勉強会 第四章 - 岡田正平 作成分
Search
takegue
June 02, 2014
Technology
0
1.3k
PRML勉強会 第四章 - 岡田正平 作成分
代理Upload
takegue
June 02, 2014
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
830
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
takegue
2
12k
カルチャーとエンジニアリングをつなぐ データプラットフォーム
takegue
4
6.3k
toC企業でのデータ活用 (PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2019)
takegue
4
1k
Rettyにおけるデータ活用について
takegue
0
870
Sparse Overcomplete Word Vector Representations
takegue
0
200
Aligning Sentences from Standard Wikipedia to Simple Wikipedia
takegue
0
210
High-Order Low-Rank Tensors for Semantic Role Labeling
takegue
0
120
Dependency-based empty category detection via phrase structure trees
takegue
0
72
Other Decks in Technology
See All in Technology
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
140
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
310
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
500
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
140
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
1
340
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
10
3.7k
EDRの検知の仕組みと検知回避について
chayakonanaika
11
4.8k
AIエージェント元年
shukob
0
160
内製化を加速させるlaC活用術
nrinetcom
PRO
2
140
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
クラウドサービス事業者におけるOSS
tagomoris
4
1k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Designing Experiences People Love
moore
140
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GraphQLとの向き合い方2022年版
quramy
44
14k
Six Lessons from altMBA
skipperchong
27
3.6k
RailsConf 2023
tenderlove
29
1k
Designing for Performance
lara
604
68k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
Transcript
第4章 線形識別モデル PRML勉強会@長岡 presented by 岡田 正平
おことわり • 勉強会用資料です – 口頭で説明することを前提にしているため, スライド単体では説明不十分な部分があります • スライド中の情報の正しさは保証しません 2
はじめに 3
この章について • 分類問題について扱います • 決定領域 • 決定境界 – 決定面とも 4
目的変数の表現 • 1-of-K符号化法 – = 5クラスの例 t = 0,1,0,0,0 T
– の値はクラスが である確率と解釈可能 5
3つのアプローチ (recall that 1章) 6
3つのアプローチ (recall that 1章) • 識別関数 • 生成モデル • 識別モデル
– みんな大好きSVM 7
ちょっと3章も思い出して • 入力xに対して出力値を予測 • 最も簡単なモデル x = wTx + 0
∈ ℝ 8
分類問題では? • は離散値を取るクラスラベル – もっと一般的には領域(0,1)の値を取る事後確率 9
分類問題では? • は離散値を取るクラスラベル – もっと一般的には領域(0,1)の値を取る事後確率 • 非線形関数(⋅)によって変換 x = (wTx
+ 0 ):一般化線形モデル (⋅):活性化関数 10
4章の構成 4.1 識別関数(判別関数) 4.2 確率的生成モデル 4.3 確率的識別モデル ---------------------------------------------------- 4.4 ラプラス近似
4.5 ベイズロジスティック回帰 11 ↓ 省略
4.1 識別関数(判別関数) 12
識別とは • 入力ベクトルxをクラス に割り当てる関数 • 本章では決定面が超平面となる 線形識別のみを扱う 13
2クラス • 最も簡単な線形識別関数 x = T + 0 :重みベクトル 0
:バイアスパラメータ ≥ 0ならばクラス1 決定面は = 0 14
2クラス • は決定面の法線ベクトル • 0 は決定面の位置を決定する • 決定面から点への距離は = 15
16
2クラス • ダミー入力値0 = 1を導入 � = 0 , ,
� = 0 , を導入 = �T � スッキリ! – ベクトルの次元が1増えてる 17
多クラス • 1対多分類器・1対1分類器 – 曖昧な領域が存在 18
多クラス • 個の線形関数で構成される単独のクラス 識別を考える = T + 0 = �T
� – すべての ≠ に対して () > ()である場合 点はクラス 19
多クラス • , 間の決定境界は = = 0 • つまり −
T + 𝑘 − 𝑗 = 0 – 2クラスの時と同様の幾何学的性質が適用される – 各決定領域は凸領域 20
21
パラメータの学習 • 最小二乗 • フィッシャーの線形判別 • パーセプトロンアルゴリズム 22
最小二乗法 • (結論)学習データ集合{ , }に対して � = T �† T
:番目の行が Tである行列 �:番目の行が Tである行列 �†: �の擬似逆行列(→3.1.1) – が,いろいろ問題がある 23
最小二乗法の問題 • 分類問題においては外れ値に特に弱い (「正し過ぎる」予測にペナルティ) 24 分類問題に対する誤 差関数(→7.1.2)に よりある程度は避け られるが...
最小二乗法の問題 • 3クラス分類問題の例 25 (´・ω・`)
そもそも • 最小二乗法は確率分布にガウス分布を仮定 • 2値目的変数ベクトルはガウス分布から かけ離れている ハナから無理があるってもんですよ 適切な確率モデルを採用しよう! (次回?) 26
フィッシャーの線形判別 • 次元の削除という観点から • これまでは次元入力ベクトルを1次元(実 数)に射影していた – 当然情報は落ちるが,重みベクトルを調整す ることでうまく分離する –
最も単純な方法は射影されたクラス平均の分離 度を最大化 27
フィッシャーの線形判別 しかし... 28 (・A・)イマイチ
フィッシャーの線形判別 • フィッシャーさん,考えた • 射影されたクラス内の分散が小さくなるよ うにすれば... 29
フィッシャーの線形判別 30 (・∀・)イイ!!
フィッシャーの線形判別 実は目的変数に1-of-K符号化法とは異なる表現を もちいた場合の最小二乗法と等価 = 1 for 1 2 for 2
31
パーセプトロンアルゴリズム • 2クラスのモデル • 入力ベクトルを変換して得られる特徴ベク トル()に対して = (T ) ただし,
= � +1, ≥ 0 −1. < 0 32
パーセプトロンアルゴリズム • 目的変数の表記は ∈ {−1,1} – 活性化関数との相性がいい 33
パーセプトロンアルゴリズム • 誤差関数の選択 – 誤識別したパターン総数 殆どの場合で勾配0 学習アルゴリズムが難しい – パーセプトロン規準 34
パーセプトロンアルゴリズム • パーセプトロン規準 = − ∑ ∈ℳ = ℳ:誤分類された全てのパターン集合 •
確率的最急降下アルゴリズム(→3.1.3) – +1 = − = w + 35
パーセプトロンアルゴリズム 36
パーセプトロンアルゴリズム • パーセプトロンの収束定理 – 厳密解が存在する場合,パーセプトロン学習ア ルゴリズムは有限回の繰り返しで厳密解に収束 することを保証 実用的には,分離できない問題なのか,単に収 束が遅いのかの区別が収束するまでわからない という点に注意
37
4.2 確率的生成モデル 38
ベイズ! • 2クラスの場合を考える 1 x = x 1 1 x
1 1 + x 2 (2) = 1 1+exp (−) = = ln x 1 1 x 2 (2) 39
ロジスティックシグモイド関数 • = 1 1+exp (−) • 「スカッシング(押し込み)関数」とも 40
多クラスの場合 • = x ∑ x () = exp ∑
exp () = ln( x ) – 正規化指数関数 • ソフトマックス関数とも 41
連続値入力 • クラスの条件付き確率密度がガウス分布と 仮定 • すべてのクラスが同じ共分散行列を仮定 x = 1 2
2 1 1 2 exp − 1 2 x − T−1(x − ) 42
連続値入力 • 指数部分にあるxの二次の項がキャンセルさ れるため,正規化指数関数の引数がの線形 関数になる 43
連続値入力 • 共分散行列が異なる場合は? 境界が非線形(二次関数) 44
最尤解 • もう一度2クラス,ガウス分布,共通の共分 散の場合を考える • データ集合 x , が与えられていると仮定 =
1, ⋯ , = � 1 for 1 0 for 2 45
最尤解 • 尤度関数は t, X , 1 , 2 ,
= � x 1 , 1 − 𝒩 x 2 , 1− =1 ただし = 1 , ⋯ , T, = 1 46
最尤解 • 各パラメータの最大化は = 1 1 = 1 1 ∑
x =1 2 = 1 2 ∑ (1 − )x =1 47
最尤解 = 1 S1 + 2 S2 S1 = 1
1 ∑ x − 1 x − 1 ∈1 S2 = 1 2 ∑ x − 2 x − 2 ∈2 • この結果は多クラスにも拡張可能 48
離散特徴 • 特徴が離散値 の場合を考える • 2値 ∈ 1,0 , 特徴数個の場合
– 特徴量を抑えるためナイーブベイズを仮定 x = � 1 − 1− =1 49
離散特徴 • 正規化指数関数の引数は = �{ ln 𝑘 + 1 −
ln 1 − 𝑘 } =1 + ln ( ) 入力値 の線形関数となる 50
指数型分布族 • クラスの条件付き確率が指数型分布族のメ ンバーであると仮定 • x = ℎ x λ
exp {λ Tu x } • u x = xとなるような分布については,正規 化指数関数の引数がxの線形関数となる 51
4.3 確率的識別モデル 52
識別アプローチの利点 • 決めるべき適用パラメータが少ない 53
固定基底関数 • 基底関数ベクトル(x)を使って入力を非線 形変換 – 決定境界を非線形にできる – SVMでいうところのカーネル関数 54
固定基底関数 55
ロジスティック回帰 • 事後確率(2クラスの場合) 1 = = (wT) • ロジスティックシグモイド関数 2
= 1 − (1 |) • パラメータの数=の次元数 56
最尤法によるパラメータ決定 • データ集合 , , ∈ 0,1 , = ,
= 1, ⋯ , に対する尤度関数 t w = � 1 − 1− =1 – t = 1 , ⋯ , T, = (1 | ) 57
最尤法によるパラメータ決定 • 負の対数をとって誤差関数とする w = − ln t w =
− ∑ ln + 1 − ln 1 − =1 – 交差エントロピー誤差関数 58
最尤法によるパラメータ決定 • 誤差関数の勾配をとると w = � − =1 – なんか簡単な形に!
59
最尤法に寄るパラメータ推定 • 線形分離可能なデータに対して,過学習を 起こしてしまう点に注意 60
反復重み付け最小二乗 • ロジスティック回帰では最尤解を解析的に 導出することはできない • しかし誤差関数は凸関数 唯一の最小解を持つ • ニュートン・ラフソン法を用いる w(new)
= w old − H−1(w) 61
反復重み付け最小二乗 • 二乗和誤差関数の場合 w = ∑ wT − = ΦTΦw
− ΦTt =1 H = ∑ =1 = ΦΦ – Φは番目の行が Tで与えられる × 行列 62
反復重み付け最小二乗 • 代入して,整理すると w new = ΦΦ −1Φt – w
old が消えた 反復回数1回で正確な解が求められる 63
反復重み付け最小二乗 • 交差エントロピー誤差関数の場合 • w new = ΦTRΦ −1 ΦTRz
– Rは要素が = { 1 − }の対角行列 – z = Φw old − R−1(y − t) – 重み付き最小二乗問題に対する正規方程式集合 64
多クラスロジスティック回帰 • 事後確率 = = exp ∑ exp • ソフトマックス関数
= w T 65
多クラスロジスティック回帰 • 尤度関数(1-of-K符号化法を使用) 1 , ⋯ , = ∏ ∏
𝑛 𝑛 =1 =1 • 以下,2クラスの場合と同様に導出可能 66
プロビット回帰 • ロジスティック回帰で,どんなときでも事 後確率が簡単な形になるわけではない 別のタイプの識別確率モデルも見てみよう • 2クラスの場合を考えます = 1 =
() = wT, ⋅ :活性化関数 67
プロビット回帰 • 雑音しきい値モデル = � 1 if ≤ 0 otherwise
• の値が確率密度()で与えら得る場合 = � 𝑑 −∞ 68
69
プロビット回帰 • ()が標準正規分布の場合の() プロビット関数 • プロビット関数に基づく一般化線形モデル をプロビット回帰という 70
プロビット回帰 • 点線部分がプロビット関数 – (実線はロジスティックシグモイド関数) 71
プロビット回帰 • ロジスティク回帰の結果と似る傾向がある • より外れ値に敏感 • ロジスティック回帰のベイズ的な扱いにお いて,利用法がある(4.5節) 72
4.4 ラプラス近似 73
ラプラス近似とは • 連続確率密度分布をガウス分布に近似 74
4.5 ベイズロジスティック回帰 75
この節では... • ロジスティック回帰のベイズ的取り扱い 厳密に適用するのは難しい ラプラス近似を適用して考える 76