- 在线时间
- 479 小时
- 最后登录
- 2026-4-13
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7789 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2922
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数* i! X. L1 T' G; f4 q7 X
) N/ m& d' W0 U C: C! z9 i7 F### Logistic 回归原理
! Z" I% U; U6 U" J2 k. b& n1 c' r. @% j$ L4 B/ F9 w! M, G: Z( \
1. **Sigmoid 函数**:
. Y; {' ]9 e7 k) C \[
0 |3 q& m3 T3 v2 x \sigma(z) = \frac{1}{1 + e^{-z}}' u( J4 E$ t* t% F
\]
9 Y# {6 l% O- Z- F7 k 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。4 K! a$ x9 w* t
4 A0 |6 K! m/ u: ~/ Q2. **损失函数**:
0 ]/ M4 j2 j2 x, P0 T Logistic回归的损失函数是对数损失函数(Log Loss):6 z& G" q3 ^4 M/ o e
\[
, q, I! I e& `. S& r A+ { 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)}))]6 T3 ]6 K) y; h) `( E1 [2 r0 j9 o
\]
5 G4 Q3 x& j9 Y$ a" x6 k. } 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。" H+ g# n0 H) E
6 V' l! Q7 O9 r8 p7 Q3. **梯度下降法**:1 [! x; i( p' ]2 i
梯度下降更新参数的公式为:
0 Q! }% c! K" x \ \[% v, r8 _- I7 O- j
\theta := \theta - \alpha \nabla J(\theta) ?- p3 Y7 p3 e" Z( z
\]; j( }, |2 e+ H# e2 f2 v3 `
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
6 F! }$ ?0 `" o0 J# v! b8 u
9 n/ G! O' ?+ S+ Z+ l6 F) ~
; M* q, H% I" h t6 j( \/ \% R- C) @/ e' }6 T
2 J4 p) I# V2 |2 `) U- Q! ]- B! x& w |
zan
|