- 在线时间
- 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回归,并使用梯度下降法来学习模型参数
6 e1 B- c( m' X2 H/ x. X- g
& q7 t/ R7 N% L* c### Logistic 回归原理
3 t$ U: ?4 n! S& n; t6 o/ D& |3 G5 M: e* [1 ^/ T
1. **Sigmoid 函数**:2 a# ~. o, e; Q! |. e5 ^
\[$ S; e+ }2 V" L" T. E
\sigma(z) = \frac{1}{1 + e^{-z}}+ J5 L. U. z( `8 H
\]4 `- G% ^3 S( z
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
6 Y8 X! s% i; F) V1 N; ^0 ^$ W2 [0 e7 x# x, e0 O& q. R
2. **损失函数**:* D; A* \$ |* g m. J* S$ I
Logistic回归的损失函数是对数损失函数(Log Loss):
- w8 d* y7 a6 g \[5 X' i& \4 N) J
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)}))]
% {2 \9 W( ^9 X% p6 k5 O, Q \]
9 q3 t$ |- U9 g+ j. D3 R% b% B 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
' l# p$ K. g o+ {. R! F0 h( E0 \/ b: c8 {# ~1 V$ V8 d1 b3 i9 i
3. **梯度下降法**:- x9 H7 j0 X2 Z
梯度下降更新参数的公式为:
/ g8 ^3 q7 C5 }. N0 K \[
/ A, p+ u) k, X9 x t0 i; I \theta := \theta - \alpha \nabla J(\theta)" F% a* N% n) Q
\]
5 V9 h6 z& P: S9 E: Y" A 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
* Y, K6 d0 B* X2 z9 n) d3 B+ v/ S3 u% A
6 H# b, A5 ^5 P' N+ O
6 w9 S2 I* @- ]* [# Q/ M4 Y# N9 O
5 M2 q# u& z+ P n7 G |
zan
|