给定一组训练数据,使用带动量的随机梯度下降法(SGDM)实现线性回归模型。 你的任务是编写一个函数,接受特征矩阵和目标值和学习率和动量衰减率,并返回训练好的模型参数。 损失函数为均方误差:MSE = 12*m * sum((y_pred - y) ** 2) 训练方式是批量梯度下降,即每次迭代使用所有样本。
输入描述:
- 第一行包含两个整数 m,n,表示训练样本的数量和特征的数量。- 第二行包含一个整数,表示迭代次数。- 接下来的 m 行,每行包含 n 个浮点数,表示特征矩阵 X 的一行。- 接下来一行包含 m 个浮点数,表示目标值 y。- 最后一行包含两个浮点数,表示学习率和动量衰减率。


输出描述:
输出一行,包含 n 个浮点数,表示训练好的模型参数,保留两位小数。
示例1

输入

11 5
20
0.29 0.53 0.92 0.55 0.59
0.09 0.29 0.64 0.9 0.12
0.44 0.39 0.04 0.89 0.18
0.27 0.31 0.09 0.66 0.22
0.94 0.6 0.69 0.24 0.03
0.27 0.03 0.12 0.66 0.42
0.14 0.85 0.16 0.19 0.59
0.31 0.16 0.84 0.71 0.79
0.25 0.28 0.52 0.78 0.69
0.12 0.73 0.86 0.69 0.53
0.71 0.22 0.51 0.99 0.54
0.08 0.93 0.4 0.36 0.56 0.08 0.37 0.15 0.1 0.41 0.58
0.64 0.01

输出

0.18 0.28 0.1 0.36 -0.24

备注:
支持numpy,scipy,pandas,scikit-learn库
加载中...