- 在线时间
- 477 小时
- 最后登录
- 2025-12-17
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7772 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2916
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1169
- 主题
- 1184
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数$ A# Q; s5 L, a: E3 ~
* m L9 F! ^- i8 a
### Logistic 回归原理( }. j: l4 ]" x- f" r m1 \- ~
2 a2 C9 m, Z0 {$ k, ^# u* _$ T+ a
1. **Sigmoid 函数**:6 S% [7 _9 W/ n% w
\[/ W1 ~) w) t n& B/ ~; ^5 t* `" o% T3 k
\sigma(z) = \frac{1}{1 + e^{-z}}
! Q1 F' H& h4 D \]9 v5 U" ]+ @ F5 W" G2 W2 @0 B
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
; {! ~ Y, E. Q, ]. s) Q' l
u7 M' \0 g; q4 Z" H2. **损失函数**:5 q" T/ [' {& l8 X# u/ S
Logistic回归的损失函数是对数损失函数(Log Loss):2 N- J4 r+ k5 h- h1 h6 h5 ~2 s
\[1 B1 B9 d; Y# V& p- g
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)}))]
2 c' S V3 p0 T \]
3 o) |1 l) h# s6 r 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
" Z; _4 a( @* s' S4 J H- C
4 ~9 y7 l( ~2 D3. **梯度下降法**:
' H! Y) T5 U$ |7 A# I 梯度下降更新参数的公式为:( R0 r. U9 O0 j% F7 t3 ?
\[" {" @. Q/ Z, C; \! G
\theta := \theta - \alpha \nabla J(\theta)
% D1 D6 ~- N' i) o$ h% B% M1 N- y' q \]1 W9 n$ l- \6 I" `" f
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
6 I- z+ X/ X5 S
5 V1 F5 P+ v& D) f% r) q1 W9 ~* O; `, \* b4 X+ M! j- d
7 s" g& Y Q, j1 o/ a; R% ]2 r( f4 D) x$ Q" j: D
|
zan
|