本题让我们从零实现二分类逻辑回归(Logistic Regression),并用**批量梯度下降(Batch Gradient Descent)**来训练参数。
模型形式为:
y^=σ(z),z=w1x1+w2x2+b,σ(z)=1+e−z1
题目描述
你需要实现一个二分类逻辑回归模型(Logistic Regression)。
给定 n 个样本,每个样本有二维特征 (x1,x2) 和标签 y∈{0,1},使用梯度下降训练模型,并返回最终学习到的参数:
- 权重:w1,w2
- 偏置:b
模型形式为:
y^=σ(z)=1+e−z1,z=w1x1+w2x2+b
其中 σ(⋅) 为 Sigmoid 函数。
训练目标是最小化二分类交叉熵损失(Log Loss):
L=−n1i=1∑n[yilogy^i+(1−yi)log(1−y^i)]
你需要使用给定的学习率 lr 和迭代轮数 epochs,通过批量梯度下降更新参数:
-
对于每一轮迭代:
-
对所有样本计算 y^i
-
计算梯度:
∂w1∂L=n1i=1∑n(y^i−yi)x1i