- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
2 w: W+ t7 u: Y2 A) O' [0 R; w: Q3 D+ ]& v% x7 m
### Logistic 回归原理% w3 q; k7 _( k O5 y
8 w' ?8 Y' ^$ m) T
1. **Sigmoid 函数**:
2 U0 @2 G% b( I! i4 h \[
0 Y0 M5 K3 C1 z& [8 v \sigma(z) = \frac{1}{1 + e^{-z}}; i4 Y$ d' N! d4 {2 U8 u! z7 X
\]2 e8 r5 n" q$ L8 F8 O" |- T+ A
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。/ {. H0 Y( ~ P+ J! D5 C
) Z2 `5 G3 Z1 j2 |* |- |2 H
2. **损失函数**:- p$ a- H' c) w+ i1 a; S- v
Logistic回归的损失函数是对数损失函数(Log Loss):3 k& `- J \3 K. R
\[
/ @4 g, I" i2 B! H+ G% L# [ 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)}))]+ g) w( w: P' A5 |1 ]( A1 p8 R
\]
7 I+ C8 r5 r1 s* M 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。+ A3 L- K6 ^3 g7 S
% I8 n; B& z* F7 J/ z# j4 L3. **梯度下降法**:3 A7 o$ M8 _/ D7 t+ X
梯度下降更新参数的公式为:2 b+ ?0 m$ U: R! l2 e
\[
% M- Q, n. g' C* G( q \theta := \theta - \alpha \nabla J(\theta)
# S, [3 N+ D) w! ?) ` \]6 L+ W H' u8 t# b' B8 _0 j
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
w N" z6 q: y4 w) ?( r
+ f) Y1 p7 J. t3 G5 `3 Z
7 r ~" v, @* ^7 x# h5 |( v4 ]% t {; }# k1 ?
: L7 y8 t, s2 e/ G6 d |
zan
|