- 在线时间
- 479 小时
- 最后登录
- 2026-4-17
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7790 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2923
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
1 R- p0 }7 y5 y! O
4 X2 @6 D6 Z$ q& G0 Q### Logistic 回归原理
; [2 X7 e3 g( U; x. m5 B/ \" @3 y# x+ F. p
1. **Sigmoid 函数**:( E0 V. S4 A/ ]/ N
\[
' J7 Q' a+ ]7 q! N m- g0 z \sigma(z) = \frac{1}{1 + e^{-z}}
) U6 l7 |5 u$ k4 k \]
) V& ]* ~( X/ f& R: U$ Y$ v4 s: @ 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
9 @1 y3 ^4 d" N5 R3 f5 @9 t2 T2 n4 E l/ p9 x' P
2. **损失函数**:7 F' w5 G- x1 d. p3 z o- w
Logistic回归的损失函数是对数损失函数(Log Loss):4 r; x0 |! Q% M: L+ {1 q7 e
\[
; L" Y8 i5 o0 U, F0 [ 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)}))]' T. P7 h. U! `9 {" _+ Z$ L
\]
+ |! ?" f \# c/ d$ A: l 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
( W0 S: f) X1 e+ P
3 @3 w9 R: ?0 I5 C; w' r3. **梯度下降法**:2 h) }3 C, x$ [3 y5 i
梯度下降更新参数的公式为:! _; Y5 _+ T& M3 q
\[
, ?* [8 b. L0 G! z* r' W( w \theta := \theta - \alpha \nabla J(\theta)+ w5 p& A& w, V% u# B+ X* ?
\]
% z0 G6 q0 H% v6 Q) P/ b 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
5 ?5 `0 m L" T" Q1 h& K
& F6 A+ y4 N. {+ a: b8 j+ p
$ h N, w6 m$ L) _( F5 y' A
6 `( J, a7 y' P8 M: A& s/ Y R1 O5 M0 H8 e
|
zan
|