- 在线时间
- 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回归,并使用梯度下降法来学习模型参数
3 C& T4 m: v. |' A8 F: P+ s L) B; b
### Logistic 回归原理
* h' f! T7 W; D8 ^5 F5 R/ A
% D" l0 l' G, y5 {0 O2 a9 l" p# f1. **Sigmoid 函数**:
7 H6 W3 [ r' R: _ \[
0 h: ^8 ^# }+ @6 ~7 z+ ]+ b0 v4 @ \sigma(z) = \frac{1}{1 + e^{-z}}: i5 `- P' ?- E
\]
' F! {4 J' i8 h. t3 i* D 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。# @7 c2 G& I8 W- I; X5 V; ?) V
6 f% ]1 w" k( n1 L3 n- T, n
2. **损失函数**:
5 |. z q7 z' @, W) C Logistic回归的损失函数是对数损失函数(Log Loss):
3 q9 `* p5 a! F \[
% V1 j0 Z( l4 S 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)}))]
" O, F* y* ?% D. y0 h6 E* e0 s \]1 \ n, Z- \" |. ~; G
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。9 W: b% e. ~; @( S/ S9 t( y- ]
' `! u. h. s3 y/ u+ d3. **梯度下降法**:3 P$ |7 d6 h& \9 g% _ C$ {% Z
梯度下降更新参数的公式为:
5 C* z7 e) \' y/ L \[
. z5 o( d0 Q4 `: n \theta := \theta - \alpha \nabla J(\theta)# l" `) X. r6 k$ ~
\]
4 a. Y$ O7 p0 u i7 y 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。, W3 f$ u+ p& H$ I9 G
: ^3 z7 s: W% i; S4 J5 k( g2 ]8 w$ g' q* A: J) Y# ]$ G- _
9 ]9 h |/ a" Q: V* V* l6 v/ I* y y3 K4 }
|
zan
|