正规方程中附加的 1 列有什么用?

数据挖掘 机器学习 线性代数
2021-09-23 10:34:17

目前我正在学习机器学习中的正态方程。

θ^=(XTX)1XTy

但是当我看到他们如何使用这个方程时,我发现他们总是在转置之前在矩阵 X 的开头添加一个额外的 1 列。

我不明白为什么。这背后的逻辑是什么?

我发现这些东西的地方

1) Coursera - 理论

2) 实施

现在让我们使用 Normal Equation 进行计算。我们将使用inv() NumPy 的线性代数模块 ( np.linalg) 中的函数来计算矩阵的逆矩阵,以及dot()矩阵乘法的方法:

X_b = np.c_[np.ones(( 100, 1)), X] # add x0 = 1 to each instance

热龙,奥雷利安。使用 Scikit-Learn 和 TensorFlow 进行动手机器学习:构建智能系统的概念、工具和技术(第 111 页)。奥莱利媒体。Kindle版。

2个回答

正规方程的设计使得模型中的每个系数都有某种与之相乘的输入。一列是截距项的“输入”。

这样做是为了适应偏差。在找到假设函数时,偏差或 y 截距部分在矩阵乘法中乘以 1(1 列)。