- 在线时间
- 468 小时
- 最后登录
- 2025-7-19
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7461 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2818
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1160
- 主题
- 1175
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
, E' c2 }8 S$ n3 D2 ` L- @7 s/ P- V5 d* Z7 w" i" q& L5 P; }
### Logistic 回归原理; ?( Z* B: \* X7 R2 N3 b1 N
4 w' Q0 E& Q% U' V* S
1. **Sigmoid 函数**:" n* v% W8 L# b, V% w; C+ H
\[
0 K4 O+ n6 h5 X% y7 C1 b- f \sigma(z) = \frac{1}{1 + e^{-z}}" g0 I- ^/ _5 ~8 I) b+ Q' B
\]: x q B6 f7 h" z6 N0 y
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
. `, Q0 B+ M( }* o0 J
/ v- e" J: @+ Y! \2. **损失函数**:
& y! Y, q ~/ S5 \ Logistic回归的损失函数是对数损失函数(Log Loss):
9 v9 |; d# F# ]% j) f3 T4 \5 [ \[4 a4 c: Y9 E+ A" U
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)}))]" U# K/ S( I( r2 I8 J+ W% u
\]& n) U: r F/ k2 S
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。1 Q, f3 G1 l: d( `$ S2 j# }
7 L7 l9 \2 U) Z3. **梯度下降法**:5 V- W: n1 H2 ~- X- b
梯度下降更新参数的公式为:% X4 y* } h0 M: }2 b% @
\[
2 i2 w1 g$ m! Q. g( G \theta := \theta - \alpha \nabla J(\theta)
* ~* u% p; `* M+ s$ X5 v$ y& O& v \]- q4 E3 {; L! X: y7 `) u
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
8 I* _3 a8 {- m' I y: u( H1 W4 {9 V( t( K9 R
, A" P8 t( h' |) t
5 Y$ K& c0 c$ X' h ~( p& A5 l/ i& I
, Z" o+ ]+ M+ I4 d% \ |
zan
|