这可能更像是一个数学问题,而不是一个编程问题,但我绝对卡住了,当我通过numpy
在python中实现它时遇到了这个问题。所以,在我的机器学习课程中,教授为Linear Regression
构建了一个估计器,这导致了下面的方程,用于找到标签为y
和数据x
的weight vector
:
正如我对等式第一部分的理解,我应该只将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
.
2条答案
按热度按时间xu3bshqb1#
看起来这个术语是一个标量值。我假设
n
是例子的数量。mnemlml82#
在Numpy中,这是有效的
两个内积最好表示为点积。