- 在线时间
- 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回归,并使用梯度下降法来学习模型参数
5 B! J/ f; g3 ]3 b, n
% a$ b* E. R1 B### Logistic 回归原理
( d+ q/ y7 M4 b' ]/ `# k, S0 i# Q, I5 F- u" M$ h$ K' z
1. **Sigmoid 函数**:& h( Q; n9 `" x. B% o6 h& u/ x3 r
\[, T1 d7 b8 q; @; U$ j/ b% _1 H$ }
\sigma(z) = \frac{1}{1 + e^{-z}}
a+ L6 T& p0 H5 }2 @+ }* x \]' }/ l$ G. V& q o: ~# d% ~
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。* M" x4 p5 W5 R& b: `, r K
2 ^& h( _ k" e# g' g& r2. **损失函数**:1 g; v2 Z6 g, m/ U
Logistic回归的损失函数是对数损失函数(Log Loss):5 `$ X, b! v: \8 R6 p [- n0 V
\[
0 d7 L6 n8 Q) Y# ] 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)}))]8 t, W0 D/ H* E. [
\]
7 i4 Y E O: C6 A. i" K 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。4 e8 l8 t) Z! m$ ]. m
) I$ v# |$ s1 Q ^
3. **梯度下降法**:
5 Z' U# W: m0 t! O' N$ b `2 n" @ 梯度下降更新参数的公式为:+ ?5 L5 T% c, Z0 h0 Y J
\[
8 [" t' W2 t3 S3 B1 T$ S, V \theta := \theta - \alpha \nabla J(\theta)
7 d' Q) \! o7 D \]) I& B( {5 g0 ^) e9 }3 U- {
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。- n- `4 G! b J) U d
9 i" ]% T% L$ d2 j3 H
- Y! x, N, n9 R2 L! m$ |7 ^7 a' U7 p5 l- B3 w- M9 _3 p
3 g2 g# \% \, S* k, L4 w8 o |
zan
|