- 在线时间
- 479 小时
- 最后登录
- 2026-5-9
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7813 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2931
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1173
- 主题
- 1188
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
" p3 K7 }3 ]% Y! p& o; u2 Q$ n' W8 ?$ A B3 I. k
### Logistic 回归原理3 c* i1 I% a: `7 k! Z! K6 ~" `
5 ?( _9 D7 i9 n" L# L5 a9 o1. **Sigmoid 函数**:
/ M; q K$ r, c6 c% ~/ q- M \[# q, Z8 n( [( A5 z- l3 X
\sigma(z) = \frac{1}{1 + e^{-z}}% D+ K1 `: Y9 Q9 X
\]
6 l$ V q U$ |& N- k& l2 t. M 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。0 C9 j7 C* M3 \4 K- K
3 V5 S( C! Y+ M" s2 c) R2. **损失函数**:1 [7 m8 D' B6 J+ |% M; R
Logistic回归的损失函数是对数损失函数(Log Loss):
) N; S( C. h4 e5 I$ q4 `. \ G5 F1 B2 K \[
# Z' c6 S+ E! d" k 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)}))]
. K. {! o5 x% i+ T: K \]
6 X# c8 ^( O' Z% J4 h: t 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
4 f( s! P! L2 ?! p# n9 r
& E* l4 G; h5 d0 W' q. d3. **梯度下降法**:
# D6 ^% \% m& S4 ~0 q 梯度下降更新参数的公式为:
) k7 e4 V) P" Y3 u7 g; A \[
/ U, x: G* _- ? \theta := \theta - \alpha \nabla J(\theta); E7 X4 C: V, A
\]
4 i7 G, J* n2 b+ H n8 q 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。 k5 @( z' e; ~7 `' }1 V H8 N* r
9 K% ~( D' q# [% j7 h& n% j* k! M5 A$ c7 I) ]& j$ Z: L
) \' X) D. b9 a. J4 H1 B
& D2 p( h' N" F V) \7 ? |
zan
|