- 在线时间
- 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回归,并使用梯度下降法来学习模型参数
9 V. Y; i6 w# R: J' P, r. R! w! y( F% Q3 ]4 [& V" R! H( ^
### Logistic 回归原理
% [, L u$ H- z5 x2 D; X
) u3 v1 e( W, G( K% t# p4 X1 n1. **Sigmoid 函数**:6 o$ R5 ]! r7 r( z9 [
\[6 k" ]; ]2 h. w6 N
\sigma(z) = \frac{1}{1 + e^{-z}}0 a/ ]6 M+ x; l9 \5 a; p+ H
\]
! P$ u! H2 q+ t" U" @% f7 L* l# P 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
. b q7 }5 _2 l/ `! ^
h d# K; `% X$ ?; O2. **损失函数**:
+ t* Q: _/ p! G$ o/ c/ O Logistic回归的损失函数是对数损失函数(Log Loss):
0 W2 j- B H6 P& y \[. i- u" H" ~' r2 i
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)}))]
- ~$ @! ?! S; H" x3 C2 R8 a \]
# I" `; U0 r' h/ [" M9 P 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。, f9 H7 z4 l) U7 e4 F* x' r& F, b
: O, y: a9 t' q. W7 X- C9 r) g( N
3. **梯度下降法**:
- P/ e. O. S0 N# n 梯度下降更新参数的公式为:5 @/ _: O9 N% C% x, I
\[
" C$ e0 R. m: L9 J' B' v% P \theta := \theta - \alpha \nabla J(\theta)1 X. S! A( b) I! A3 O% e
\]
" U0 r( Q5 G( m% Y+ B g 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。# y0 y2 `- S# E# Q- y; V7 _& p! k
+ w2 c6 A9 ~( O6 F! h
4 Q4 f$ Q+ B8 k( t/ S& y; V6 S+ Y# E$ p% x: t1 R" M* Z
; B5 v) b! |2 g% m3 V s6 C |
zan
|