- 在线时间
- 473 小时
- 最后登录
- 2025-11-11
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7699 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2891
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1162
- 主题
- 1177
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
9 I* m3 [) c- q) H/ ]* \0 l0 j" [5 p! p& m& O* h! ~
### Logistic 回归原理% }6 Q. r0 F+ ~' B3 y+ I: T0 I( J
' j% s- X3 u# N% ^' B
1. **Sigmoid 函数**:( G6 u3 I8 ~6 R5 Q1 \
\[- n# r$ X' c3 ?7 Z/ k
\sigma(z) = \frac{1}{1 + e^{-z}}: l$ g- a2 `; m/ B8 L' E
\]
8 L7 F) @( ~1 q# B$ \: G( U2 Q7 q" ~ 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
4 q9 }8 n6 l4 V8 l4 n
0 G- I4 u9 _. q& ~! L& Q$ O2 @$ t2. **损失函数**:
; D5 V5 R! ^8 @1 O Logistic回归的损失函数是对数损失函数(Log Loss):
* i2 ]& T) q7 `. d6 ` \[
" m* N1 k7 F+ 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)}))]3 V" G) C/ |' Q7 i
\]% l6 F2 J# Y) P0 m0 f; N' Y; @
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。1 t3 i% o% h D+ A+ X, O7 ~
' p O1 n: a! e9 P( M/ L4 k3. **梯度下降法**:* H$ ^1 q' S6 J5 k2 y
梯度下降更新参数的公式为:0 @* ]5 `6 T/ e- w5 Z2 a! a
\[8 L' c1 @! K# P/ z \& ]7 k
\theta := \theta - \alpha \nabla J(\theta)( R( L# e4 M" H# c* Q% D
\]
# Y `5 X) J. K7 R 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。# L) Z/ L5 m% |% }: x q
3 N% C4 {' c% r+ J8 c# o
7 N' z& R7 Q$ ?% s3 S) ~1 i |' m- u! a, G
7 Q' k5 ^" O; H& K4 L/ R' U
|
zan
|