创建时间: 2024年10月22日 19:15

作者: 蜡笔大新
笔记类别: 机器学习
标签: 数据拟合, 最小二乘法, 线性回归
状态: 完成

介绍

最小二乘法是一种用于数据拟合的统计方法,广泛应用于线性回归和其他回归分析中。其核心思想是通过最小化预测值与实际观测值之间的误差平方和,找到最佳拟合线或模型。

最小二乘法通常用于求解线性回归中的最优解 $y=w_0x+w_1$。

目标函数(最小化):

$$ S = \sum_{i=1}^{n} (x_i - y_i)^2 $$

其中:

$x_i$ 是数据集中的观测值

$y_i$ 是实际的结果(例如神经网络的输出)

代码

在代码中,没有显式出现做差累加等操作,而是采用矩阵运算的形式来计算方程的解(最优参数)。

def LeastSquareMethod(X, Y):
    """
    最小二乘法
    :param X: 未进行扩展的X矩阵
    :param Y: X矩阵相对应的结果集矩阵
    :return X_b: 进行扩展处理后的X矩阵
    :return omega: 使用最小二乘法求得的w
    """
    # 对X矩阵进行扩展
    X_b = np.c_[np.ones((len(X), 1)), X]
    '''
    np.linalg.inv用来求矩阵的逆矩阵
    dot表示矩阵祥恒
    T表示矩阵的转置
    '''
    omega = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(Y)
    return X_b, omega
最后修改:2024 年 11 月 25 日
如果觉得我的文章对你有用,请随意赞赏