- 在线时间
- 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回归,并使用梯度下降法来学习模型参数
, `0 l, a/ j( w% R4 E ~
" A" k5 D0 n$ `% U1 e2 i( _### Logistic 回归原理5 {9 w' M/ \( X- _/ ?
$ _! M) i* b4 X0 y0 |
1. **Sigmoid 函数**:
7 q) r! r; \$ B8 S, m \[) p h5 D# x" V- K
\sigma(z) = \frac{1}{1 + e^{-z}}
& Q4 l% A( r# d \]3 [$ V% _+ b6 V2 J, e. V- x
这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
, h0 V) m3 e* w. [5 j9 k2 e3 l
" k G" L: t! _- r2. **损失函数**:
* f3 {+ ]2 x" _' [ Logistic回归的损失函数是对数损失函数(Log Loss):' D: C0 @4 L C+ T" ?. _* {0 Z
\[
% P- p( ^. r6 y) E' [ 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)}))]7 A% d+ h# m+ m. z
\]
% b5 ~0 ^6 ]! P2 Q2 M' O! x, Q 其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
$ e* b1 C1 D9 x' L: d
/ O( ~& Z! Z: g/ V7 f) p' g3. **梯度下降法**:( j- p) W0 a% I6 t% \! b
梯度下降更新参数的公式为:
+ D- S0 Y3 f& s. f: ]6 M \[
S; L/ u- i7 m \theta := \theta - \alpha \nabla J(\theta)2 a5 Q+ J; Y! a5 G! b: M k
\]" ?/ _7 l+ I; }( S
其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
! y5 s0 @6 I( g% J
& g4 Q. }9 ?7 @2 `9 a1 W R& L; Z) @- T% b' z" Z* Q8 r
0 R! O/ M$ a9 F( s j/ y
! y+ J; J' j$ s0 A. J6 M7 e |
zan
|