数学建模社区-数学中国

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

作者: 2744557306    时间: 2025-1-23 19:06
标题: 实现Logistic回归模型学习的梯度下降法
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数
# R. G# b# r/ v5 I$ g. Z( }$ k. }+ e  O! i2 g* [$ ~; V1 P6 \  r, T
### Logistic 回归原理: ]+ Z  {2 M% @5 B  R8 U
; D( ^* \' j: j! @& M4 l
1. **Sigmoid 函数**:
9 U2 Q1 _% `# L# x9 O   \[" u* q# O! N. }3 W. e8 O
   \sigma(z) = \frac{1}{1 + e^{-z}}4 ?3 U, ~0 L' o, x: r
   \]1 l3 S$ Q4 g% p3 W
   这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。. e4 M  X) t. V* U( z. M1 L

* q4 H) Z/ A1 ^( A3 k/ Z; b2 S* K2. **损失函数**:1 M; y- S' `9 b/ ?
   Logistic回归的损失函数是对数损失函数(Log Loss):
. G5 ?2 z. o/ B* q   \[* p4 ]" S% I& ^: U
   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)}))]* p! ]  \/ w( O% t' a
   \]& o+ R4 O$ N# K. W9 r; Y
   其中 \( h_\theta(x) = \sigma(\theta^T x) \)。; V0 T' k( f- F# K& F
& a* s6 O0 W2 s( a/ p( z, L: W
3. **梯度下降法**:
3 x' \2 K# v% d, j; Y( u8 B; H! M   梯度下降更新参数的公式为:
8 d" A  C7 K- k4 q   \[+ L2 O, B9 m. R- H
   \theta := \theta - \alpha \nabla J(\theta)
3 m2 n# R' }) w' N+ G" `   \]
4 m; o; D+ Z" ~   其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。* G& i  h2 {3 t4 S+ G

$ E$ z, T7 X0 i9 y8 a! _6 ~6 Q4 g9 J) W
& i" R1 {  ^( X5 C2 y

( G4 L- p5 ^! S/ H

my_logistic_regression.py

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

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






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