数学建模社区-数学中国

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

作者: 2744557306    时间: 2025-1-23 19:06
标题: 实现Logistic回归模型学习的梯度下降法
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数  v; c* E' Y; M  z

. i  \% F7 ~6 |* |# |7 A4 Z5 D### Logistic 回归原理
/ i* u7 ?0 P0 A+ G: z* L1 k. H
" d' c& g1 a5 g6 N/ l1. **Sigmoid 函数**:5 N! f8 A" b' m% _* V
   \[
* O3 ^3 q# ^" }7 j( S& n   \sigma(z) = \frac{1}{1 + e^{-z}}- ^; Z6 g- L# z1 |5 C
   \]
! I# s0 m, z3 E2 E5 D: ]   这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。
, P1 S0 Q( d; z9 R) B2 c4 v6 J* x  \" H- \
2. **损失函数**:7 m# |) j2 T+ Y) A* w$ g3 c
   Logistic回归的损失函数是对数损失函数(Log Loss):( W( g  m% I; K7 K& F6 W" F& W
   \[! j" F9 p; ]! _8 V/ Q
   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)}))]- M; b+ E% R) N7 T
   \]! J+ w! C; I) T. S1 I
   其中 \( h_\theta(x) = \sigma(\theta^T x) \)。
* ~$ K. W5 Z$ \8 X0 ~( S0 s8 E
, J* q( |+ X" B; X  m: |/ \! q3. **梯度下降法**:
2 r  }3 I% R* V  F   梯度下降更新参数的公式为:* _% z& [6 `1 m
   \[
! u" M3 r/ F2 h' V1 u. X   \theta := \theta - \alpha \nabla J(\theta)7 C  I6 _8 m$ ^* n
   \]: t' K" b7 @( r( y/ Z3 A$ `
   其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。
& d5 B$ K/ a8 h2 p" a2 g
# a6 m* `) R& Q; E) b6 o; ^: S( `$ `7 T

; F! x) ?; z1 x
# ]: S8 [3 [: P; b# ?2 `) C

my_logistic_regression.py

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

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






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