- 在线时间
- 481 小时
- 最后登录
- 2026-8-23
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7858 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2946
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1177
- 主题
- 1192
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
( |$ @: D3 v8 \$ F- y- Z; S$ b; F" Q; p% {9 _: M2 ?
### Logistic 回归原理( `* r' T. m8 w# s
( L7 W( l, J8 I( ]
1. **Sigmoid 函数**:; R! c6 R8 O9 x3 a; ~
\[
5 \8 j# f1 c5 C; Z# i2 J# e \sigma(z) = \frac{1}{1 + e^{-z}}1 p5 `+ L" K8 [' l7 g
\]' {7 H/ x+ @" e2 [& O
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
5 l" k* q9 a( M6 R: N0 X) ?# } ?" _8 O+ ?
2. **损失函数**:
" s5 n1 a+ m9 O" P Logistic回归的损失函数是对数损失函数(Log Loss):: |- v( Z' r6 R* Y
\[
4 k/ p$ v. B6 ]9 P 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)}))]
9 V+ c" s" j: h$ b, _, b6 S, W. s; j \]. g f% R y9 m0 ?# b! i! D
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
2 Z, O$ S% G& Z2 h& D) @3 O% E O+ x* u( B3 V/ D- ?& |2 {
3. **梯度下降法**:
, ^' o# j2 p: T. r s9 j 梯度下降更新参数的公式为:7 o/ F3 ~( S! |+ H8 N4 [
\[
; B/ Q/ ~ e( F& q( L \theta := \theta - \alpha \nabla J(\theta)3 A4 B' x4 W' p: d
\]
4 \- h# `0 m& y# d 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。& \# B. U8 F) X6 U" ^9 K+ C0 n
, P2 G: j. [8 a$ x" e* n0 |! n7 e1 \. F6 o' G1 V3 J+ T. S
3 U. A2 ^7 s( e: C* O
2 ~2 n% W- z" P6 x. v |
zan
|