数学建模社区-数学中国

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

作者: 2744557306    时间: 2025-1-23 19:06
标题: 实现Logistic回归模型学习的梯度下降法
在实现Logistic回归模型的学习过程中,梯度下降法是一种常用的优化算法。Logistic回归用于二分类问题,通过使用sigmoid函数来预测样本属于某一类的概率。以下是如何用Python实现Logistic回归,并使用梯度下降法来学习模型参数5 c6 p& N* d( O, O4 N! m

9 Y+ f: N' }6 D: ~### Logistic 回归原理
- Q; ]- P. J3 O. P5 u# R. r7 j# g4 |  k# f: ^+ [$ @3 Q
1. **Sigmoid 函数**:
0 s# d7 J* W% A( {3 b$ s, O   \[% G' U5 s2 J! l/ r( ~5 T) A; D0 B
   \sigma(z) = \frac{1}{1 + e^{-z}}
6 ?, G3 z5 O- |4 `9 A- A   \]
1 H2 j8 I& O5 s5 C: R7 N% N( y   这个函数将任何实数映射到(0, 1)区间,用于计算预测概率。  ?0 ?- ^( e: J! U0 I) s% t
2 c. G+ d6 y) z& D
2. **损失函数**:1 s9 ~# \( t5 f
   Logistic回归的损失函数是对数损失函数(Log Loss):/ ?6 _8 y1 u3 w( {* x1 q8 ~, L( Y
   \[
( j# w7 l7 i1 R  l' ?2 Z/ G* 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)}))]
# B; J+ F- T' ~) ?: J   \]
/ ^  f+ P! ]- V0 B9 N   其中 \( h_\theta(x) = \sigma(\theta^T x) \)。- j9 {+ Q( S8 n$ g
- }3 W) g9 M" s, L$ B8 H
3. **梯度下降法**:/ O% x- l: B% c1 s7 W: G  V( ^
   梯度下降更新参数的公式为:5 k2 W. K5 ^* r5 ]
   \[
0 X5 l7 Q. x, B( @0 R   \theta := \theta - \alpha \nabla J(\theta)+ D& c) v" N& @# T
   \]* }5 z* g8 [: Y2 i2 S
   其中,\(\alpha\)是学习率,\(\nabla J(\theta)\)是损失函数的梯度。0 K, V; B2 S7 W+ G
7 c/ B+ M5 ^/ x( K; \% ~8 p9 q
9 b5 ]! k1 a8 Z/ _" z% H

4 J" C9 ?" \6 a4 C# y$ `9 e0 F# t" j0 M# n+ Z3 ~- h% O' I( k

my_logistic_regression.py

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

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






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