这段代码定义了两个函数,分别是没有正则化项的代价函数和有正则化项的代价函数。

  • import numpy as np:导入 NumPy 库,用于进行科学计算。
  • def cost_function(X, y, theta)::定义没有正则化项的代价函数,输入参数为 X(特征矩阵)、y(标签向量)和 theta(参数向量)。
  • m = len(y):获取标签向量 y 的长度,即样本的数量。
  • h = X @ theta:计算预测值,即特征矩阵 X 与参数向量 theta 的乘积。
  • J = (1 / (2 * m)) * np.sum((h - y) ** 2):计算代价函数 J 的值,即预测值与真实值差的平方和的一半。
  • return J:返回代价函数 J 的值。
  • def regularized_cost_function(X, y, theta, lambda_)::定义有正则化项的代价函数,输入参数为 X(特征矩阵)、y(标签向量)、theta(参数向量)和 lambda_(正则化系数)。
  • m = len(y):获取标签向量 y 的长度,即样本的数量。
  • h = X @ theta:计算预测值,即特征矩阵 X 与参数向量 theta 的乘积。
  • J = (1 / (2 * m)) * np.sum((h - y) ** 2) + (lambda_ / (2 * m)) * np.sum(theta[1:] ** 2):计算代价函数 J 的值,即预测值与真实值差的平方和的一半加上正则化项。
  • return J:返回代价函数 J 的值
解析每一步代码的含义pythonimport numpy as npdef cost_functionX y theta m = leny h = X theta J = 1 2 m npsumh - y 2 return Jdef regularized_cost_functionX y theta lambda_ m = leny h = X t

原文地址: https://www.cveoy.top/t/topic/ceVH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录