创建时间: 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