数学建模社区-数学中国

标题: 实现Logistic回归模型学习的梯度下降法 [打印本页]

作者: 2744557306    时间: 2025-1-23 19:06
标题: 实现Logistic回归模型学习的梯度下降法
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数9 l) m3 G+ i( R  ?; f0 m( y  i' }

4 D7 S8 D* E; k9 u9 R### Logistic 回归原理
% Y& }; ]  a7 Q$ @4 ~, o2 e
2 x8 w7 E% M3 m% T4 N1. **Sigmoid 函数**:
9 O( P. k% B4 U2 u/ Z   \[
7 x2 S- ^' S. e2 A# a   \sigma(z) = \frac{1}{1 + e^{-z}}* j# F, \- z% Z% W# q
   \]/ f) `) M) c/ I% l8 D4 z
   这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
- j, x- b: V& @" [% C: l7 e. K+ A4 E& o
2. **损失函数**:& w; T+ f+ O) C! I
   Logistic回归的损失函数是对数损失函数(Log Loss):
& d# |1 P+ v) i   \[$ w! O: R1 ?) H6 X( l
   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)}))]3 ^9 Y- w& ^9 {, P3 G
   \]
3 v- r8 B$ |1 q) X0 C   其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
8 T& ^* ]( E# `7 \
' A$ E$ u4 u" U2 ~& X, }! I3. **梯度下降法**:
2 _6 r1 U) S: ^( p" ^/ s9 n   梯度下降更新参数的公式为:& O' m8 g5 o7 A4 A, \
   \[
- I) P( F; [+ k   \theta := \theta - \alpha \nabla J(\theta)2 d+ O! u% p& o0 ^5 q! _
   \]# l/ p2 g% p. ^: Y$ X1 p4 @
   其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
7 x4 z/ g7 v  _9 }7 U
1 e! Q& ~7 E  X% \' H4 w* v# y2 P/ Z6 r- b/ x$ a

- l; p" R+ g" L
! n) ^8 h  Q1 K1 Z

my_logistic_regression.py

4.64 KB, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5