首页 > 试题广场 >

使用梯度下降的线性回归

[编程题]使用梯度下降的线性回归
  • 热度指数:275 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
编写一个使用梯度下降执行线性回归的 Python 函数。该函数应将 NumPy 数组 X(具有一列截距的特征)和 y(目标)作为输入,以及学习率 alpha 和迭代次数,并返回一个 NumPy 数组,表示线性回归模型的系数。

输入描述:
第1行输入X,第2行输入y,第3行输入alpha,第4行输入迭代次数。


输出描述:
输出线性回归模型的系数,四舍五入到小数点后四位。返回类型是List类型。
示例1

输入

[[1, 1], [1, 2], [1, 3], [1, 4]]
[2, 3, 4, 5]
0.01
1000

输出

[0.8678 1.045 ]

备注:
1.对应的输入、输出已给出,您只用实现核心功能函数即可。
2.支持numpy、scipy、pandas、scikit-learn库。
头像 牛客题解官
发表于 2025-02-05 15:33:49
梯度下降在机器学习中是一种常用的优化算法,用于求解最小化损失函数的问题。其具体步骤如下: 1. 初始化参数 创建一个与输入矩阵 和输出矩阵 相关的矩阵 。 数学表达式为: 本题初始化参数为0,但在实际使用中更常见的是使用随机初始化。 2. 计算梯度 计算损失函数 对参数 的梯度 。 展开全文
头像 ForHeart
发表于 2025-03-04 15:28:29
import numpy as np def linear_regression_gradient_descent(X, y, alpha, iterations): # 补全代码 m, n = X.shape theta = np.zeros((n,1)) # 包括截距项 展开全文