- 在线时间
- 479 小时
- 最后登录
- 2026-4-13
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7789 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2922
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
& a* {) e' m( e3 a5 _; r; u# ], i( h: |1 i1 p: n C
### Logistic 回归原理
4 P7 y3 t4 w; f& Y( M0 I
. D* B* n3 D5 ^) N1. **Sigmoid 函数**:
9 A, m8 T3 i8 z* l' j, `2 w- X \[
$ p4 Y+ c% |9 q2 w* k+ Q \sigma(z) = \frac{1}{1 + e^{-z}} d; B. T& n- g* l( D
\]' V. b5 @$ A. o5 a& A5 |- {6 h( _
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
& K4 Z* a1 Q( M; G
# y T% B* a: V6 M2. **损失函数**:/ G* H; r9 l4 S5 j" y2 j; m2 E
Logistic回归的损失函数是对数损失函数(Log Loss):( ]6 B$ v3 r/ t* H1 t3 Q
\[( N. E3 d. ~$ _) B3 Z
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)}))]! R+ A, s7 z/ c @* u( {: ]
\]
# t) t+ ^( r: Y4 v& C1 Z 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
9 _$ m/ i3 J# H' g4 m
3 ~& G) C1 e8 T( ^. Z8 B+ z5 n& m3. **梯度下降法**:3 e( x) M( C# B d9 G
梯度下降更新参数的公式为:2 `8 p, M2 T" D8 A* i8 ~2 l; Y3 U
\[, A0 F/ q, g f5 M3 i
\theta := \theta - \alpha \nabla J(\theta)3 h; d" v% c) z; ^0 N1 b% m
\]
- H5 Y4 a6 ~) T" O 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
- N% f$ ~3 K6 L* H; [7 T
( C/ _* A& p' J; S- L; T" d4 v% H# S4 j( }! J5 B$ K1 A F: A
5 w3 j& M/ l# ^% E
. m: K y, J% f9 e6 v' s |
zan
|