- 在线时间
- 469 小时
- 最后登录
- 2025-8-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7561 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2848
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1160
- 主题
- 1175
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数1 q; Z( a9 d# F- e0 _$ s. E: u
1 T1 n' c2 X, R5 Q
### Logistic 回归原理
! o+ ]0 K! u* ^: [2 c4 t% R- B) Z" N, |. o( P$ w3 E+ ?
1. **Sigmoid 函数**:
% |/ ~2 x7 H9 } \[
@+ M- o" G1 ^+ h# M \sigma(z) = \frac{1}{1 + e^{-z}}! G# Y& i- `+ P/ }
\]
3 w& \/ z4 J: u& Z/ D) S 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。- a, f! H' Z2 ~. W8 t
. O C$ P" h0 Y- @+ x2. **损失函数**:
! x. W3 I6 D' O Logistic回归的损失函数是对数损失函数(Log Loss):
9 q) k ]4 f1 x. M6 | \[& n6 k& B6 e" m `: v& P
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)}))]
# D0 W' Z" a0 \+ A1 D0 [0 | M8 I \]
6 z: e, E+ j# ^0 q& ^ 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
/ @. [5 r9 P/ ]) K# x3 Q x! W3 J
7 i+ v0 X/ q4 ~# \( p3. **梯度下降法**:, c6 K4 S9 i3 T2 b6 B! q
梯度下降更新参数的公式为:- z4 o" ?5 Q' J: L+ G, x, b
\[
# P2 l: Y X; \ \theta := \theta - \alpha \nabla J(\theta)
' [8 H1 d& h0 { \]6 e/ ~5 ~) {7 E. y, g' u- M
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。+ X5 o' t H/ T/ |# D" p* E( \
. O6 I7 }5 h, k2 B: y+ M+ `( ^
- D: L& V+ W$ D; C, s6 k* e# w& s
0 b* M/ }8 J W+ c
8 D% q9 \5 ^- `, y/ i2 V |
zan
|