我想执行以下加权最小二乘运算:
L = ((x^t * W * x)^-1)(X^t *W*y)
Where x is(240, 60) matrix
y is (240, 1) matrix
W is diagonal matrix of shape (60, 60)
我试图在计算倒数x^t*W*x之前实现第一部分,如下所示:
np.dot(x.transpose(),W,x)
我得到错误:
shapes (60,240) and (60,240) not aligned: 240 (dim 1) != 60 (dim 0)
同时实施
numpy.transpose(x)*W*y
给出错误
operands could not be broadcast together with shapes (60,240) (240,1)
完成乘法运算的最佳方法是什么?然后我想实现SVD方法来获得项(x^t*W*x(的逆
import numpy as numpy
x = numpy.random.random((240, 60))
y = numpy.random.random((240, 1))
W = numpy.random.random((60, 60))
second_part = numpy.dot(numpy.transpose(numpy.dot(x,W)),y)