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
ふんわり理解するロジスティック回帰
Search
Yamamoto
June 05, 2024
Technology
0
17
ふんわり理解するロジスティック回帰
所属する団体で使用予定のスライドです。
Yamamoto
June 05, 2024
Tweet
Share
More Decks by Yamamoto
See All by Yamamoto
ゼロから始めるニューラルネットワーク CNN編
yamamotoeigo
0
25
KC3 Shinkan-Fes AI/機械学習
yamamotoeigo
0
9
Other Decks in Technology
See All in Technology
「開発生産性を上げる改善」って儲かるの?に答えられるようにする / Is development productivity profitable?
i35_267
20
10k
効果的なLLM評価法 LangSmithの技術と実践
knishioka
0
110
超入門 SRE
ryuichi1208
6
3.3k
まずはパネル「Table」を使い倒してみよう@GrafanaMeetupJapan#2
rinchoku
1
260
APIテストで見えた新しい未来 / 20240627_cloudsign_mablersjp
bengo4com
0
1.3k
なぜ僕たちは 開発生産性指標を見ていないのか / Our Strategy for Development Productivity Metrics
kakehashi
15
4k
透過 Cloud Function + Firebase 與 Gemini Pro Vision 打造一個旅遊小幫手 LINE ChatBot
line_developers_tw
PRO
0
210
Lernen durch Schmerzen! Mit Reinforcement Learning selbstlernende Systeme entwickeln
joergneumann
0
210
AWSアーキテクチャ図をスマートに描く方法をいろいろ試してみた
kiku3
0
150
プラットフォーム開発の実例と撤退から学ぶ / Learning from examples of platform development and withdrawal
kaminashi
1
150
マルチエージェントで性能が上がったText-to-SQLのいま/Text-to-SQL
yoshidashingo
2
1.4k
プロダクト開発の落とし穴と改善したいマインド
maidol
2
200
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
26
4.2k
Infographics Made Easy
chrislema
238
18k
Become a Pro
speakerdeck
PRO
14
4.7k
A better future with KSS
kneath
231
17k
Rails Girls Zürich Keynote
gr2m
91
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
24
1.7k
Teambox: Starting and Learning
jrom
129
8.5k
Happy Clients
brianwarren
93
6.5k
Being A Developer After 40
akosma
68
580k
Building Applications with DynamoDB
mza
89
5.8k
Optimizing for Happiness
mojombo
372
69k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.8k
Transcript
ロジスティック回帰 総合理⼯学研究科エレクトロニクス系⼯学研究室 ⼤規模情報処理システム研究室 ⼭本 瑛悟
話すこと ロジスティック回帰について シグモイド関数について パラメータの最適化について
話すこと ロジスティック回帰について シグモイド関数について パラメータの最適化について
ロジスティック回帰とは ロジスティック回帰について • ロジスティック回帰は基本的にはニ値分類に使⽤される • 「回帰」と呼ばれているが実際は「分類」である。 回帰と分類 • 分類:離散値を出⼒する(クラスとかカテゴリとか) •
回帰:連続値を出⼒する(テストの点数とか売り上げとか)
線形回帰とロジスティック回帰 線形回帰とロジスティック回帰の⼤きな違い • 線形回帰:(連続値である)予測値を出⼒する • ロジスティック回帰:発⽣確率を出⼒する 例) 線形回帰:Aさんのテストの点数を予測 ロジスティック回帰:Aさんがテストに合格するかを予測
重回帰 ⋯ 𝑥! 𝑥" 𝑥# ∑ 𝑤" 𝑤! 𝑤# 𝑦
= 𝑓(𝑥) 𝑥! : ⼊⼒ 𝑏! : ⼊⼒に対する重み 𝑦: 出⼒ 𝑧 = 𝑏 + * !"# $ 𝑤! 𝑥! 𝑥 𝑦 𝑓(𝑥)
ロジスティック回帰 ⋯ 𝑥! 𝑥" 𝑥# ∑ 𝑤" 𝑤! 𝑤# 𝑦
= 𝑓(𝑥) 𝑥! : ⼊⼒ 𝑏! : ⼊⼒に対する重み 𝑓(𝑥): 出⼒ 𝑓(𝑧): (標準)シグモイド関数 𝑧 = 𝑏 + * !"# $ 𝑏! 𝑤! 𝑓(𝑧) 活性化関数
話すこと ロジスティック回帰について シグモイド関数について パラメータの最適化について
シグモイド関数 • シグモイド関数の出⼒は 0~1の間に収まる → 確率として解釈 例) • ある学⽣のテストの得点𝑥に対して線型結合を⾏う。 •
シグモイド関数を適⽤して、合格する確率を計算する。 𝑓(𝑧) = 1 1 + 𝑒"#
シグモイド関数の理解 オッズ • ある事象が起こる確率と起こらない確率の⽐ → ある事象の起こりやすさ • 事象が起こる確率を𝑝とした場合以下の式で表される 𝑝 1
− 𝑝
シグモイド関数の理解 試験の合否のオッズを考える。 試験に合格:𝑝 試験に不合格:1 − 𝑝 𝑝 1 − 𝑝
合格数 1 8 不合格数 8 1 オッズ 0.125 𝟏 𝟖 8
シグモイド関数の理解 試験の合否のオッズを考える。 試験に合格:𝑝 試験に不合格:1 − 𝑝 𝑝 1 − 𝑝
合格数 1 8 不合格数 8 1 オッズ 0.125 𝟏 𝟖 8 1 2 < 𝑝 0 ≤ 𝑝 ≤ 1 2 :(1, +∞) : [0, 1]
シグモイド関数の理解 ロジット変換(ロジット関数) 𝑦 = log 𝑝 1 − 𝑝 •
対数関数を使うと尺度を合わせることができる → 対数を取ると対称性が出るので⽐較しやすくなる 勝利数 1 8 敗北数 8 1 ロジット 関数 -2.0794 2.0794
線形回帰とロジスティック回帰 線形回帰とロジスティック回帰の⼤きな違い • 線形回帰:(連続値である)予測値を出⼒する • ロジスティック回帰:発⽣確率を出⼒する 例) 線形回帰:Aさんのテストの点数を予測 ロジスティック回帰:Aさんがテストに合格するかを予測
(標準)シグモイド関数の理解 ロジット関数の逆関数を取る 𝑦 = log 𝑝 1 − 𝑝 𝑒%
= 𝑝 1 − 𝑝 (1 − 𝑝)𝑒% = 𝑝
(標準)シグモイド関数の理解 𝑦 = log 𝑝 1 − 𝑝 𝑒$ =
𝑝 1 − 𝑝 (1 − 𝑝)𝑒$ = 𝑝 𝑒% = 𝑝(1+𝑒%) 𝑝 = 𝑒% 1 + 𝑒% 𝑝 = 𝑒% 3 𝑒&% 1 3 𝑒&% + 𝑒% 3 𝑒&% 𝑝 = 1 𝑒&% + 1
話すこと ロジスティック回帰について シグモイド関数について パラメータの最適化について
ロジスティック回帰 ⋯ 𝑥! 𝑥" 𝑥# ∑ 𝑤" 𝑤! 𝑤# 𝑦
= 𝑓(𝑥) 𝑥! : ⼊⼒ 𝑏! : ⼊⼒に対する重み 𝑓(𝑥): 出⼒ 𝑓(𝑧): (標準)シグモイ ド関数 𝑧 = 𝑏 + * !"# $ 𝑤! 𝑥! 𝑓(𝑧) 活性化関数 𝑓(𝑧) = 1 1 + 𝑒"#
パラメータの最適化 • ロジスティック回帰では最尤推定法を⽤いる。 • 最尤推定法は確率論的モデルのパラメータを変化させて、観測デー タにもっともよくあてはまるところを探索する⼿法。 例) • 1~100の実数の⽬が出る不思議なサイコロを10回降る •
正規分布に従うと仮定 • このサイコロはどんな⽬を出しやすい?出しにくい?
パラメータの最適化 𝑓 𝑥 = 1 2𝜋𝜎! 𝑒𝑥𝑝 − 𝑥 −
𝜇 ! 2𝜎! 正規分布の確率密度関数 𝑥! : ⼊⼒ 𝜇: 平均 𝜎$: 標準偏差 𝐿 𝜇, 𝜎! = 9 %&" "' 1 2𝜋𝜎! 𝑒𝑥𝑝 − 𝑥% − 𝜇 ! 2𝜎! 尤度関数
パラメータの最適化 𝑥! : ⼊⼒ 𝜇: 平均 𝜎": 標準偏差 𝐿 𝜇,
𝜎" = . !#$ $% 1 2𝜋𝜎" 𝑒𝑥𝑝 − 𝑥 − 𝜇 " 2𝜎" 尤度関数 𝜇と𝜎$を調整して最も尤度 が⾼くなるものを選ぶ!
シグモイド関数の理解 オッズ • ある事象が起こる確率と起こらない確率の⽐ → ある事象の起こりやすさ • 事象が起こる確率を𝑝とした場合以下の式で表される 𝑝 1
− 𝑝
(標準)シグモイド関数の理解 𝑦 = log 𝑝 1 − 𝑝 𝑒$ =
𝑝 1 − 𝑝 (1 − 𝑝)𝑒$ = 𝑝 𝑒% = 𝑝(1+𝑒%) 𝑝 = 𝑒% 1 + 𝑒% 𝑝 = 𝑒% 3 𝑒&% 1 3 𝑒&% + 𝑒% 3 𝑒&% 𝑝 = 1 𝑒&% + 1
最尤推定法 𝐿 𝑤, 𝑏 = & !"# $ 𝑝 !
%% 1 − 𝑝! #&%% 尤度関数 𝑥! : ⼊⼒ 𝑦! : ⼊⼒{0, 1} 𝑝! : シグモイド関数の出⼒ log 𝐿 𝑤, 𝑏 = log & !"# $ 𝑝 ! %% 1 − 𝑝! #&%% log 𝐿 𝑤, 𝑏 = - !"# $ 𝑦! log 𝑝! − 1 − 𝑦! log 1 − 𝑝! (ロジスティック回帰はベルヌーイ分布を仮定)
最尤推定法 • パラメータがどれだけモデルを説明できているか → モデルの予測が実際のラベルからどれだけ離れているか • クロスエントロピー誤差と呼ばれる。 • 解析的に解くことができない 𝐽
𝑤, 𝑏 = − log 𝐿 𝑤, 𝑏 = − - !"# $ 𝑦! log 𝑝! − 1 − 𝑦! log 1 − 𝑝!
パラメータの最適化 前スライドの式は解析的に解けない → 勾配降下法などの数値解析的なアプローチ 勾配降下法 • ⽬的関数の勾配(微分)を利⽤して、関数が最も急速に減少する⽅ 向を探索するアプローチ • 最急降下法
• SGD • Adam
パラメータの最適化 最適化したいパラメータは 𝑤, 𝑏の⼆つなのでそれぞれについて微分する。 𝐽 𝑤, 𝑏 = − <
%&" # 𝑦% log 𝑝% − 1 − 𝑦% log 1 − 𝑝% 𝑤 ≔ 𝑤 − 𝜂 𝜕𝐽 𝜕𝑤 𝑏 ≔ 𝑏 − 𝜂 𝜕𝐽 𝜕𝑏 𝜂: 学習率
パラメータの最適化 𝑓 𝑥 = 𝑥 − 2 ! + 1
𝜕𝑓 𝜕𝑥 = 2(𝑥 − 2) 初期値 𝑥 = 5, 𝜂 = 0.8 𝑥5 = 𝑥 − 𝜂 A 2(𝑥 − 2) 𝑥5 = 5 − 0.8 A 2 5 − 2 𝑥5 = 0.2
パラメータの最適化 𝜂 = 0.8 𝜂 = 0.2
おわり おさらい • ロジスティック回帰は確率を出⼒する。 → シグモイド関数によって0~1の実数値を出⼒ • 最尤推定法、勾配降下法を⽤いてパラメータを最適化