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
April 21, 2014
Technology
0
1.5k
PRML勉強会 第三章 - 宮西由貴 作成分
PRML勉強会 第三章 - 宮西由貴 作成分 代理upload
takegue
April 21, 2014
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
800
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
takegue
2
11k
カルチャーとエンジニアリングをつなぐ データプラットフォーム
takegue
4
6.1k
toC企業でのデータ活用 (PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2019)
takegue
4
940
Rettyにおけるデータ活用について
takegue
0
820
Sparse Overcomplete Word Vector Representations
takegue
0
180
Aligning Sentences from Standard Wikipedia to Simple Wikipedia
takegue
0
190
High-Order Low-Rank Tensors for Semantic Role Labeling
takegue
0
98
Dependency-based empty category detection via phrase structure trees
takegue
0
62
Other Decks in Technology
See All in Technology
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
5
1.6k
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
1
360
MixIT 2024 - Pulumi : Gérer son infra avec son langage de programmation préféré
ju_hnny5
1
120
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
210
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
Next.js に疲れた私は Vue3 に癒やされた
akagire
0
130
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
5
710
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
2
590
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
510
Handling focus in 2024
tahia910
0
220
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
380
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
4
650
Featured
See All Featured
The Cult of Friendly URLs
andyhume
74
5.7k
The Invisible Side of Design
smashingmag
294
49k
Producing Creativity
orderedlist
PRO
338
39k
Navigating Team Friction
lara
179
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
In The Pink: A Labor of Love
frogandcode
138
21k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Infographics Made Easy
chrislema
238
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Transcript
PRML勉強会 第5回
こんにちは 第三章を担当します 一章でやったことがたくさん出ます 数式に関してはざっくり行きます 抜かした節もいくつかあります(ごめんね☆)
第三章について 1. 線形基底関数モデル 2. バイアス-バリアンス分解 3. ベイズ線形回帰 4. ベイズモデル比較 5.
エビデンス近似 6. 固定された基底関数の限界
第三章について 1. 線形基底関数モデル 2. バイアス-バリアンス分解 3. ベイズ線形回帰 4. ベイズモデル比較 5.
エビデンス近似 6. 固定された基底関数の限界 今回説明する部分
線形基底関数モデル・・・の前に 線形回帰モデルについて 利点:解析的に扱いやすい 欠点:入力空間が高次元の場合は適切でない 変数or係数の足し算・引き算のみで 表された数式 (変数×係数はOK)
単純な線形回帰モデル 入力変数に関しては非線形なモデルに拡張 , = 0 + 1 1 + ⋯
+ = (1 , ⋯ , ) 入力 0 , ⋯ , パラメータ 特徴 パラメータに関する線形関数になっている 入力変数 に関する線形関数でもある =表現能力が乏しい
拡張した線形回帰モデル , = 0 + () −1 =1 () 基底関数
0 バイアスパラメータ パラメータ数 特徴 入力変数に関しては非線形 パラメータに関しては線形なので線形モデル =解析は容易
ちなみに・・・ 先ほどの関数について0 = とすると… , = () −1 =1
= = (0 , ⋯ , −1 ) = (0 , ⋯ , −1 ) 単純になりました!
基底関数、何にする? 一章の多項式回帰: = 入力空間の一部での変化が全領域に及ぶ 入力空間を分割 それぞれの空間に多項式を当てはめる
「スプライン関数」と呼ぶ 「ガウス基底関数」 「ロジスティックシグモイド関数」 フーリエ基底「ウェーブレット」 「本章で示すほとんどのことは基底関数に依存しません。」 ということなので 省 略 です。 解決!!
最尤推定と最小二乗法の関係 最尤推定で回帰を論じる = , + ガウスノイズ (期待値0,分散の逆数=精度がのガウス確率変数) , ,
= Ν , , −1 一章より、二乗損失関数を仮定することで 予測値は目標値の条件付き期待値となる = = (, )
先ほどの式に手を加えて… 入力が = {1 , ⋯ , }, 目標値が1
, ⋯ , = = の尤度関数 , , = Ν ( ), −1 =1 入力変数の分布をモデル化したいわけではない →これからはを式から抜いて表示 多次元出力関数の観測値ではない 調整可能なとの関数になっている ということが重要!
尤度関数をごにょごにょしよう 対数を取る(掛け算→足し算にするため?) ln{ , , } = ln{Ν ,
−1 } =1 = 2 ln(β) − 2 ln 2 − () は二乗和誤差関数 = 1 2 { − ( )}2 =1 1変数ガウス分布 の標準形
を決定しよう(1) 最尤推定を使う 条件付きガウスノイズ分布での線形モデルは 二乗和誤差関数小=尤度関数大 対数化した尤度関数の勾配を取ると ln{ , ,
} = { − ( )}( ) =1
勾配=0の時(ガウス分布の頂点)、 0 = ( )−( ( )( ) =1
=1 これをについて解くと、 = ()−1 N×M行列 = ( ) ⋯ − ( ) ⋮ ⋱ ⋮ ( ) ⋯ − ( ) を決定しよう(2) 最小二乗問題の 正規方程式と一緒!
擬似逆行列の話 後々出てくるそうなので一応… ≡ ()−1 この行列をムーア―ペンローズ擬似逆行列と言う ムーア―ペンローズ擬似逆行列の意味 通常の逆行列の概念を、 非正方行列へと拡張したものと考えられる
バイアスパラメータの話(1) = 1 2 { − ( )}2 =1 =
(0 , ⋯ , −1 ) 0 = 1 ※ = 1 2 { − 0 − −1 =1 ( )}2 =1 ※ , = () −1 =1 =
バイアスパラメータの話(2) 先ほどの式を0 で微分=0として0 を解く 0 = − −1 =1
= 2 =1 目標値の平均 = 2 ( ) =1 基底関数の値の平均の重み付き和 バイアスパラメータの役割 と の差を埋め合わせている
を決定しよう 尤度関数から最大化する 手法としては、0 と一緒 2 ln(β) − 2
ln 2 − () ーーーーーーー手順は省略しますーーーーーーーー 1 = 1 { − ( )}2 =1
お詫び 3.1.2最小二乗法の幾何学 および 3.1.3逐次処理 に関しては省略します なんか説明の必要ないかなーと思ったので… よければ読んでみてください。
正則化項の話 誤差関数に正則化項を加える(過学習を防ぐ) + 正則化係数( と の重要度を制御) 正則化項で一番単純な値を使うと… =
1 2 = 1 2 { − ( )}2 =1 1 2 { − ( )}2+ 2 =1
荷重減衰 先ほどの正則化項の選び方のこと 機械学習の分野では荷重減衰 データのあてはめに必要ない重みが減衰するから 統計学ではパラメータ縮小推定
重みを0に近づけるから の勾配=0とすると最小二乗解の拡張
一般的な正則化誤差項 1 2 { − ( )}2+ 2 =1 =1
= 2 の時、荷重減衰の式と一緒 qの値によって変化する誤差項 特にq=1の時をlassoと呼ぶ lassoではλが大きい時、疎な解が得られる q=2 q=1
正則化の問題点 限られた訓練データで複雑なモデルを学習 ⇒過学習が発生! そこで使うのが正則化 根本的な問題は解決していない! 適切な基底関数の数を求める →適切なλを求めるに置き換えただけ
この問題については後半で…
出力変数が多次元の場合 今まで扱ってきたのは1次元のみ 応用場面によっては多次元もあるかも… 計算とか複雑なんだろうなー… K(>1)次元の出力を目標ベクトルとして、 の要素に対して異なる基底関数を用いる
複数の独立な1次元回帰問題に落とし込める! ※教科書に複雑な式もありますが最後には、 「単純化のため、1次元の目標変数tを考える」となっています。
3.1が終了しました お疲れ様でした これ以降の話をしましょう ベイズの枠組みを使って過学習をなくします その前にバイアスとバリアンスについて学びます
今日はバイアス-バリアンスまでです
バイアスとバリアンスの導出 期待二乗損失の話 = − ℎ 2 + ℎ −
2 , ℎ = | = (|) 損失を少なくしたいので第一項(非負)を0にする = ℎ ならば理想的! でも、ℎ は正しく求まらない・・・ (データと計算資源が無限にあれば可能)
予測関数 ; とする Dはデータ数 の第一項の積分はDに対して: { ; −
ℎ()}2 ; を↑の式に足して引く (めっちゃ面倒なのでホワイトボードで!!!!) 最後に全体の期待値を取ると… ; − ℎ 2 = { [ ; − ℎ()]}2+ [{ ; − [(; )]}2] 予測関数を使う バイアス バリアンス
つまりバイアス-バリアンスって? 視覚的にみてみよう!(1) 学習結果の平均(赤)と 真のグラフ(緑) 学習結果 学習結果がまとまっているが、結果と真のグラフは程遠い
つまりバイアス-バリアンスって? 視覚的に見てみよう!(2) 学習結果 学習結果の平均(赤)と 真のグラフ(緑) 結果と真のグラフは近いが、学習結果がまとまっていない
つまりバイアス-バリアンスって? (1)について 学習結果がまとまっている バリアンスが小さい 結果と真のグラフは程遠い
バイアスが大きい (2)について 学習結果がまとまっていない バリアンスが大きい 結果と真のグラフが近い バイアスが小さい トレードオフ の関係!
終わりです お疲れ様でした!
先週の続きです 先週:3章の3.2まで進みました 基底関数 最尤推定 正則化
バイアス・バリアンス など… 自分の番が終わるのがうれしい(本音)
第三章について 1. 線形基底関数モデル 2. バイアス-バリアンス分解 3. ベイズ線形回帰 4. ベイズモデル比較 5.
エビデンス近似 6. 固定された基底関数の限界
3.3 ベイズ線形回帰
これまでの議論と提案 線形回帰モデルパラメータ:最尤推定で決定 問題によってモデルの複雑さを選択する必要有 尤度関数を最大にするモデル=過度に複雑 ⇒過学習が発生! 正則化した場合…
正則化パラメータ=モデルの複雑さ 線形回帰モデルをベイズ的に扱う • 過学習を回避 • 訓練データのみを使ってモデルの複雑さを自動決定
パラメータwと事前確率分布 , = = Ν ( ), −1 =1
尤度関数 が定義される場合… 共役事前分布は = 0 , 0 0 期待値 0 共分散 事後分布(尤度関数×事前分布)は = , = 0 −10 + , −1 = 0 −1 +
続き 事後確率を最大にする重みベクトル = 無限に広い事前分布(0 = −1( → 0))では
= 最尤推定値(= ΦΦ −1Φ) N=0の場合は事後確率が事前確率と一致
今後の表記 議論を簡単に→精度パラメータ=α, 期待値=0 = , −1 等方的ガウス分布 = ,
事後分布(変化はない) = , −1 = + 事後分布の対数 ln p | = − 2 { − ( )}2− 2 + 定数 =1 ↑をwについて最大化 =二乗和誤差関数と二次正則化項の和を最小化
図3.7を使った説明
予測分布 wではなく、新しいxに対するtを予測したい 予測分布を評価する t , α, = ,
, , t , α, 予測分布 訓練データの目標値からなるベクトル 2.3.3の(2.115)より予測分布は、 t , , α, = , 2 2 = 1 + () 予測分布の分散
図3.8を使った説明
3.4 ベイズモデル比較
ベイズの立場からのモデル比較 モデルに関する不確かさを表す⇒確率を使用 確率の加法・乗法定理を使用 モデル ℳ = 1,
… , を比較 モデルの事後分布 ℳ を評価する 事後分布 ℳ の式 ℳ ∝ ℳ ℳ 訓練集合 ※簡単のため、事前分布は全モデルにおいて等しいとする
モデルエビデンス モデルエビデンス ℳ が重要 データから見たモデルの好み 周辺尤度とも呼ぶ (モデル空間でのパラメータを周辺化した尤度関数)
2つのモデルに対するエビデンス比はベイズ因子 ℳ / ℳ
モデル平均の近似 単純なのはモデル選択 一番もっともらしいモデルを一つ選ぶ方法 ℳ = , ℳ ℳ
周辺尤度: 事前分布からパラメータをランダムにサンプリングした 時に、データ集合が生成される確率 & ベイズの定理によってパラメータの事後確率を計算す る際、分母に現れる正規化定数
正しいモデルが選択される?(1) 2つのモデルℳ1 , ℳ2 を考えて確認 ℳ1 が正しいモデルとする 有限データ集合では正しくないモデルのベイズ因子が
大きくなることも… ⇒ベイズ因子をデータ集合の分布に関して平均 ⇒期待ベイズ因子が得られる ℳ1 ln ℳ1 ℳ3 ※真のデータ生成の分布に関して期待値を取る 仮定: モデルの集合中に、データが生成される真の分布が存在
正しいモデルが選択される?(2) カルバック-ライブラーダイバージェンス 2つの分布が等しい時に0 それ以外の場合は常に正の値 期待ベイズ因子は カルバック-ライブラーダイバージェンスの一例
仮定が成り立つ時、 平均的には正しいモデルのベイズ因子が常に大きい
3.5 エビデンス近似
Αとβにも事前分布を! 線形基底関数モデルを全てベイズ的に扱う ⇒αとβに事前分布を導入&周辺化したい! 全変数の上での解析的な周辺化は困難 パラメータwに関して積分 (周辺尤度関数を得る)
周辺尤度関数を最大にするα,βを決定 エビデンス近似 超パラメータ
超パラメータに事前分布を導入 予測分布:同時分布をw,α,βに関して周辺化 p t = , , , ,
ちなみに、 , , = Ν , , −1 (3.8) = , (3.49) = (3.53) −1 = + (3.54) 省略 事後分布
予測分布 事後分布が , の周りで鋭く尖っている α,βを , に固定&wを周辺化→予測分布を得る ≅ ,
, = , , , , の値は? ベイズの定理より事後分布は , ∝ , , 事前分布が比較的平坦な場合 ⇒ 周辺尤度関数 , を最大にする =エビデンス関数
最大化の手法 解析的にエビデンス関数を評価 エビデンス関数を評価 エビデンス関数の導関数=0とおく Αとβの再推定方程式を得る
EMアルゴリズムを使用 訓練データのみを用いて 超パラメータの値を決定できる こちらを説明
エビデンス関数の評価 , = , ↑周辺尤度関数 =同時分布をパラメータwについて積分 評価方法
エビデンス関数に変形 指数関数の中身を平方完成 ガウス関数の正規化係数の一般形を使用
(再掲)尤度関数をごにょごにょしよう 対数を取る(掛け算→足し算にするため?) ln{ , , } = ln{Ν ,
−1 } =1 = 2 ln(β) − 2 ln 2 − () は二乗和誤差関数 = 1 2 { − ( )}2 =1 1変数ガウス分布 の標準形
, = , を変形 , = 2 2 2 2
−() = , −1 E = β + = 2 | − |2 + 2 :wの次元数 ↑エビデンス関数 E と正則化二乗和誤差関数は定数倍の差のみ
(再掲)正則化項の話 誤差関数に正則化項を加える(過学習を防ぐ) + 正則化係数( と の重要度を制御) 正則化項で一番単純な値を使うと… =
1 2 = 1 2 { − ( )}2 =1 1 2 { − ( )}2+ 2 =1
指数関数の中身E(w)を平方完成 E = + 1 2 − − = +
= ヘッセ行列 = 2 || − ||2 + 2 = −1Φ 事後分布の平均
評価 exp − = exp − exp − 1 2
− − = exp − 2 2 ||−1 2 上記のように評価可能 周辺尤度の対数は ln , = 2 ln + 2 ln − − 1 2 ln − 2 ln (2)
αについて最大化(1) 固有ベクトル方程式を定義 = = + なので、固有値 + を持つ 周辺尤度の対数に含まれるln
|A|の項のαに関する導関数 ln = ln ( + ) = ln + = 1 + 周辺尤度の対数のαに関する停留点は以下を満たす 0 = 2 − 1 2 − 1 2 1 +
αについて最大化(2) 先ほどの式に2αを掛けて式を整理 = − 1 + = 上記の式の青字部分より、 =
の時に、周辺尤度が最大になる γはiに関する和の部分にMが含まれる場合、 = +
βについて最大化(1) αの方法と同じ(固有ベクトルも) 固有ベクトル = 固有値 はβに比例⇒ = なので
ln = ln ( + ) = 1 ln + = 周辺尤度の停留点 0 = 2 − 1 2 { − ( )}2− 2 =1
βについて最大化(2) 最終的には・・・ 1 = 1 − { − (
)}2 =1
固定された基底関数の限界 今回扱ったもの 固定の非線形基底関数を線形結合したモデル パラメータに関する線形性を仮定している 最小二乗問題の閉じた解が求まる
ベイズ推定の問題が簡単に! 入力変数から目標変数への非線形変換をモデル化 基底関数の選び方による 問題点の一つ: 「訓練データ集合を観測する前に基底関数を固定する」という仮定 ⇒次元の呪いが問題に! ↓ 現実的なデータでは軽減される
固定された基底関数の限界 今回扱ったもの 固定の非線形基底関数を線形結合したモデル パラメータに関する線形性を仮定している 最小二乗問題の閉じた解が求まる
ベイズ推定の問題が簡単に! 入力変数から目標変数への非線形変換をモデル化 基底関数の選び方による 問題点の一つ: 「訓練データ集合を観測する前に基底関数を固定する」という仮定 ⇒次元の呪いが問題に! ↓ 現実的なデータでは軽減される 致命的な欠点がある || より複雑なモデルを 扱う必要有!
ということで… 次回の方頑張って ください!