- 在线时间
- 478 小时
- 最后登录
- 2026-1-5
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7781 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2919
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1170
- 主题
- 1185
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数* g, x7 r$ |0 N7 C" w8 ?
2 j( x* n b) J1 }% {### Logistic 回归原理
& y" W+ X4 G7 ~: P
1 M6 k* P! B: r0 P& E4 s% e1. **Sigmoid 函数**:
- o( m1 U$ E O; x7 j7 j \[7 b* ?, _# `4 h4 M3 v1 p3 |
\sigma(z) = \frac{1}{1 + e^{-z}}% }' {' ^% m4 u
\]
Y+ [2 Z7 h+ ]# a 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。1 [2 P9 O9 I# P9 `
/ j3 {6 m5 v9 s, h7 ~: D' Z$ d
2. **损失函数**:! k" \1 A/ V1 H. F) m2 J
Logistic回归的损失函数是对数损失函数(Log Loss):
, b/ Y- ?8 Y: G; l \[
! v' @" u A5 A: ?5 V! d* ~/ f 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)}))]
4 Z! K6 l" c1 m! ^( l: i7 O- d \]
" J3 ~7 X6 R, c+ e* I, s 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。0 t' z8 f9 M, B4 ~
6 ^3 [. X, F( Z# E4 M! L3 \# q; M3. **梯度下降法**:
( O2 Z1 y2 v& I6 w4 P 梯度下降更新参数的公式为:
* s' ^. _0 U+ E% a2 P \[6 G6 U% A& `" b
\theta := \theta - \alpha \nabla J(\theta)
+ {' R- ?, B/ N8 j! }1 A- a+ \$ g \]$ ~$ m g% S: t' }
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。+ o% o" y" [5 T' K& h7 n; T
9 u/ \! y3 ]. O
4 S: T$ ?) j, Q
/ s% ^6 h* Q" E1 a I: j8 g, D
9 C+ S8 i3 U8 O5 h5 P" j$ I |
zan
|