- 在线时间
- 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回归,并使用梯度下降法来学习模型参数( @' [+ A+ T8 |
# \% | T. i& ^! D### Logistic 回归原理
( C4 p0 F9 ?! ~+ \4 Y- Z
, M n X, ~! ?" w1. **Sigmoid 函数**:
3 F5 k5 J4 v$ ]% ^0 y2 B+ B \[, N/ f. u" w9 G) A, K8 U
\sigma(z) = \frac{1}{1 + e^{-z}}
5 o; h/ @% k- ]! h' I \]
! w j( |2 C8 R2 t( v# n2 b 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。; O. K2 v+ A K
! Y5 ?/ @% d" y2 ~0 @6 F
2. **损失函数**:# F1 O' ]& O8 |% T( z8 d
Logistic回归的损失函数是对数损失函数(Log Loss):
7 c& ?8 W3 F( F3 t- Q+ F& m \[
# A! o: d$ a: f4 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)}))]( u" K, T+ h' ~' O @% h. m
\]) |+ o" C6 ?, `: u, A# ~" ?
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
0 j* v( r0 b$ [) ?: M }" d
( J* o4 B) G- a) Q1 M6 d3. **梯度下降法**:
. B/ v8 ?1 B; A5 w- b 梯度下降更新参数的公式为:
, `* B4 W& `& n! ?# C7 R4 x \[1 q P6 }7 m/ N Q4 R
\theta := \theta - \alpha \nabla J(\theta)+ H) p8 a4 C; v0 Q# o
\]# h8 T0 j5 R0 W7 E$ O
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。( N' _! s1 ?1 i9 S9 [& z/ ]( c
' q! N" [8 l p$ _* I8 ~$ C- D1 x7 o$ T& |
: a; O6 V( g2 M- R" ~6 S- N8 d# E$ p: q1 e+ o, g0 m9 p
|
zan
|