这可能更像是一个数学问题,而不是一个编程问题,但我完全被卡住了,我在通过
numpy
在 python 中实现它时遇到了这个问题。
因此,在我的机器学习课程中,教授为 Linear Regression
构建了一个估计器,得出以下等式,用于找到带有标签 weight vector
和数据 y
的 x
:
正如我对等式第一部分的理解,我应该将
vector x
与vector x transposed
相乘。这导致了一个matrix
,我应该从中获取inverse
。不幸的是,采用 inverse
是不可能的,因为生成的矩阵具有 determinant with the value of 0
。我的理解是,无论我如何改变 x 向量,方程式总是会产生一个值为零的行列式。
会不会是我对方程式的解释有误?或者我不应该对整个向量进行计算,而是迭代地运行每个数据点的等式(我认为转置单个 x 值没有意义)。所以我不确定。
在 Python 代码中,我有如下等式:
a = (np.linalg.inv(x * x.reshape(-1,1)))*(x*y)
x 和 y 是简单的numpy arrays
,它会抛出以下错误:LinAlgError: Singular matrix
.
如果有人能帮助我,我将不胜感激:)