- 在线时间
- 469 小时
- 最后登录
- 2025-8-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7563 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2849
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1160
- 主题
- 1175
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
" `& K/ x! {8 V$ N7 ]2 H+ p" T& j6 g, g9 T7 K# T
### Logistic 回归原理) D! I" ^6 z5 U7 W! q
3 T6 K# M- }2 i2 t
1. **Sigmoid 函数**:
3 C$ I/ h0 R# a+ M- p: e! B7 a0 [* x) A \[
$ {" R0 z! c7 i- p! e& ^/ ^ \sigma(z) = \frac{1}{1 + e^{-z}}
# V# ~/ r& ?" { \]
2 v7 f R2 Z; Z 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。' F' N: q: u( u) n$ ]+ ?
' ~! W+ S6 k: S3 _1 G/ ?9 P. Y G
2. **损失函数**:
9 u+ K0 u+ F* N7 n) O+ i6 o# a Logistic回归的损失函数是对数损失函数(Log Loss):
% R: f$ r, V. W1 D; e \[
6 K# q; P, J$ j2 b% `! |; u/ n 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)}))]
% E$ G$ y2 n' g \]
& m1 L/ c5 r5 l7 F+ m3 Z: F2 \( B 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。* a+ R0 p/ Z8 I+ V, a4 e
+ T8 R: E: ^1 v9 _0 |: Q
3. **梯度下降法**:
( H- r, }$ [& o* K6 Y 梯度下降更新参数的公式为: c! l4 L! t2 ?# ?$ G* Y0 M( T i/ i
\[! Q/ P; K" ?9 x- H, B
\theta := \theta - \alpha \nabla J(\theta)
/ H2 _' m; D" O \]" \1 t) ^1 u% y
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
) L- R! C, a5 n0 I- k+ t5 b( b; G, h n
5 F) U; v6 ^7 Z) b5 V
- ?8 A+ ~# W. ]6 Z' U
1 ~* n) x$ z9 p' B+ L ^ |
zan
|