Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ふんわり理解するロジスティック回帰
Search
Yamamoto
June 05, 2024
Technology
0
83
ふんわり理解するロジスティック回帰
所属する団体で使用予定のスライドです。
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
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
1
200
学習データって増やせばいいんですか?
ftakahashi
2
480
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
240
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
420
regrowth_tokyo_2025_securityagent
hiashisan
0
250
ディメンショナルモデリングを支えるData Vaultについて
10xinc
1
110
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
140
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
210
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
430
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Building Applications with DynamoDB
mza
96
6.8k
Statistics for Hackers
jakevdp
799
230k
Six Lessons from altMBA
skipperchong
29
4.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Being A Developer After 40
akosma
91
590k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Producing Creativity
orderedlist
PRO
348
40k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Testing 201, or: Great Expectations
jmmastey
46
7.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の実数値を出⼒ • 最尤推定法、勾配降下法を⽤いてパラメータを最適化