- 在线时间
- 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回归,并使用梯度下降法来学习模型参数
, O! h; M( l# s& d9 F
9 a, J8 F, }: b0 t### Logistic 回归原理
- |! C1 n1 G4 P; k8 T- w0 p) O( Y! h6 e8 t6 W+ ~) |+ G! |
1. **Sigmoid 函数**:6 V7 n* u8 C, u: R
\[
6 J7 z) A# r5 e) j' m3 q$ h \sigma(z) = \frac{1}{1 + e^{-z}}
5 [6 Z" d/ k: \/ b0 q4 }9 M \]$ | ?# a) }/ Q# ?; m0 Z" x7 Q0 S& Y
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
" u x3 \: G- X. d* h
8 _9 w1 ?0 X: {: a( w: L1 Q2. **损失函数**:% {0 @5 o/ i/ t3 }5 `) m
Logistic回归的损失函数是对数损失函数(Log Loss):7 u6 u" x8 J3 V3 k' n# g3 N
\[
& s1 X Z$ ^! C) U+ n 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)}))]
: K* Q6 F9 ]5 ~1 Q) o$ V+ f' G \]2 Q" h3 _. Q* z; o! ~: Z( N4 `
其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
- @9 {4 e% w0 u4 R9 c' S1 y
% Z) A6 c5 |' L9 k* E3. **梯度下降法**:
- t' z* H/ {' E: c' o/ f 梯度下降更新参数的公式为:7 [& A- P \( n2 y
\[
~/ Q/ j- _8 E- M: g# F8 R \theta := \theta - \alpha \nabla J(\theta)
9 d4 h' X* ~5 i9 d p \]7 Y! s- f; f# [2 G: e3 [2 @
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。! c% R; V, R' K. n9 w5 W7 S
& a% d+ y2 Y* i- P3 a1 {8 U' W' f% j
0 F# N* A9 M# I& ~0 @
. H" q9 Y: |: x' b+ ?1 F
|
zan
|