在python中正确实现特定公式

ztmd8pv5  于 2023-04-10  发布在  Python
关注(0)|答案(2)|浏览(138)

这可能更像是一个数学问题,而不是一个编程问题,但我绝对卡住了,当我通过numpy在python中实现它时遇到了这个问题。所以,在我的机器学习课程中,教授为Linear Regression构建了一个估计器,这导致了下面的方程,用于找到标签为y和数据xweight 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 .

xu3bshqb

xu3bshqb1#

看起来这个术语是一个标量值。我假设n是例子的数量。

mnemlml8

mnemlml82#

在Numpy中,这是有效的

w = x.dot(y) / x.dot(x)

两个内积最好表示为点积。

相关问题