- 在线时间
- 482 小时
- 最后登录
- 2026-9-11
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7953 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2978
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1183
- 主题
- 1198
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数) W7 a" [/ s: ^4 t
, ]/ T- J! X; U$ ^
### Logistic 回归原理
/ a# a7 a: K, ~1 g* a5 I: V4 [! `) M# R( V" s7 f) a
1. **Sigmoid 函数**:
% i3 q( d* }, j& x; D \[
" ^& O9 ^2 |: }, } @ \sigma(z) = \frac{1}{1 + e^{-z}}
- K) ^& Q X! ~% H/ @ f' g2 C9 G \]
# y/ z. r% F" B/ `0 X4 j' `( a g 这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。7 L* `! V. d$ \1 I
, }) \" H/ H% D" W& P) o/ t
2. **损失函数**:
, @7 o* n- j$ D& q5 N; {' h1 k Logistic回归的损失函数是对数损失函数(Log Loss):. u( |2 T' z2 j
\[# s1 {) n. A" Z9 ]& 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)}))]
* d n1 c: ~ g& l: b2 ?9 l, B# ` \]
& s& O6 T0 b/ o, ]( F2 k3 Y1 ` 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。0 @$ R# K. R+ f! }% L% R/ W- l
X- Z% u# ?" C8 Z3 U2 l
3. **梯度下降法**:
4 G' D; s, s- R0 Z 梯度下降更新参数的公式为:
- D1 o. _% H& V+ ` \[; Q! N9 @! t$ S4 w' E
\theta := \theta - \alpha \nabla J(\theta) [- r: [. M; p9 ^( W
\]
: r1 v% ~: \, L 其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。( G# X- X8 B9 S& L* m% j
% K3 ]8 V# o8 Q: d" X) [* a, V" ?: _' q+ {) `3 m9 s
; M9 k0 Y% E) L4 L" a! h
! J, I! |1 U3 g' w: d; A |
zan
|