- 在线时间
- 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 F, P. v* q% X! I( y9 X. N+ y- F( ^- \/ @& ^) }2 c
### Logistic 回归原理
6 @5 j6 `# P8 W9 m+ B; x9 G: |" ?; \% E
) l- L9 [; {- t5 t0 Y1. **Sigmoid 函数**:
p2 r( M) e6 r$ u+ _; X+ y! V \[
- I$ c/ \* b6 B; Q8 d \sigma(z) = \frac{1}{1 + e^{-z}}; g$ y: E% N; T8 k
\]6 K7 _+ ?# `/ w2 e' z, i" `2 J
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。0 q" A& x, w: b2 O- Z
/ P" [3 G9 f8 p4 F0 \2. **损失函数**:
* `3 s* o) \# E" u8 X Logistic回归的损失函数是对数损失函数(Log Loss):/ N! {( q6 T8 G R7 Q- l
\[& t5 T+ v5 {) }2 Q" X
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)}))]: \. M" @' L/ Z- y1 O
\]0 L5 ~5 f* S% l7 Y. W
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
6 z7 }* a& Y+ T2 _8 Q9 \: P2 a ^7 B$ l# c& a& n: g- z
3. **梯度下降法**:* T/ Y4 B8 ]% r7 w( u
梯度下降更新参数的公式为:
- V% S; j, Z0 S, b; R/ `& N \[! G5 f6 q) P, y
\theta := \theta - \alpha \nabla J(\theta)
4 M+ m$ }& y/ ?: E9 ]6 }* } \]
f9 C9 A1 K: u$ p6 i5 {1 a 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
+ k/ Y- J9 w8 b9 q& y+ Q T+ Q( s: r0 t, U* o! Y
$ Z, z; s7 J" _
- F% c8 _& K, ?4 H( N
' B1 N7 p; {, X# n* \( G |
zan
|