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
78
ふんわり理解するロジスティック回帰
所属する団体で使用予定のスライドです。
Yamamoto
June 05, 2024
Tweet
Share
More Decks by Yamamoto
See All by Yamamoto
ゼロから始めるニューラルネットワーク CNN編
yamamotoeigo
0
130
Other Decks in Technology
See All in Technology
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
React19.2のuseEffectEventを追う
maguroalternative
0
260
ソースを読むプロセスの例
sat
PRO
13
6k
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
640
このままAIが発展するだけでAGI達成可能な理由
frievea
0
110
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
4.8k
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.4k
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
390
2025-10-09_プロジェクトマネージャーAIチャンス
taukami
0
140
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
330
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
Featured
See All Featured
Building an army of robots
kneath
306
46k
Building Applications with DynamoDB
mza
96
6.7k
The Cost Of JavaScript in 2023
addyosmani
55
9k
What's in a price? How to price your products and services
michaelherold
246
12k
GitHub's CSS Performance
jonrohan
1032
470k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A better future with KSS
kneath
239
18k
Designing for Performance
lara
610
69k
The Cult of Friendly URLs
andyhume
79
6.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Balancing Empowerment & Direction
lara
4
690
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の実数値を出⼒ • 最尤推定法、勾配降下法を⽤いてパラメータを最適化