本题让我们从零实现二分类逻辑回归(Logistic Regression),并用**批量梯度下降(Batch Gradient Descent)**来训练参数。
模型形式为:
$$\hat{y} = \sigma(z), \quad z = w_1 x_1 + w_2 x_2 + b,\quad \sigma(z) = \frac{1}{1 + e^{-z}}$$你需要实现一个二分类逻辑回归模型(Logistic Regression)。 给定 n 个样本,每个样本有二维特征 (x1,x2) 和标签 y∈{0,1},使用梯度下降训练模型,并返回最终学习到的参数:
模型形式为:
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