- 在线时间
- 481 小时
- 最后登录
- 2026-8-25
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7859 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2946
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1177
- 主题
- 1192
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
( ^0 `: P) \1 ` E; Z0 }! {# S7 }, |& W5 b4 Y
### Logistic 回归原理- x7 Y- H+ m* G, ]
& p* P' s8 ^& M' A0 \! `1. **Sigmoid 函数**:+ A9 L# N5 G: G, n
\[' _/ c4 o9 _# a) V. t8 q3 V
\sigma(z) = \frac{1}{1 + e^{-z}}
- i& X* I }- D) f- x5 X" m2 [ \]' g- Y% d& [/ T7 I% o( |
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
' y1 c1 }$ z9 t2 y" A* g8 K% x+ _# ^+ `1 o9 |! T8 u- k4 [
2. **损失函数**:
\, N! m7 [# I Logistic回归的损失函数是对数损失函数(Log Loss):
. q) ^2 [ k* l: F7 D, d. X2 I \[* X, {( o3 y3 J9 a) q( \1 B
J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} [y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)}))]" Y8 L2 ?& z9 b/ j- O
\]- D: T( ]2 }2 J; A, U
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
1 C. h4 \( b( x4 V+ E
}" {' |7 A, P$ R* q+ X3. **梯度下降法**:1 j( S% R' I8 \8 r0 i0 O# j
梯度下降更新参数的公式为:# G- P. Q+ f6 ]% f& f9 S
\[5 o4 F1 B' x. S( r) K0 t$ W, p
\theta := \theta - \alpha \nabla J(\theta)2 `) P1 Q# q9 l+ g3 e3 A
\]) w- {$ v$ _' U$ C
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
6 W8 u7 y! {- }1 Z: \
. r+ s/ s0 v+ T& D9 {9 A3 E( K9 A" H- X/ H! o
( h9 t. B7 z# s8 P" |0 P' j
4 a. U+ w+ u/ F |
zan
|