Я пытаюсь просто реализовать функцию потерь (MSE) в Python, используя numpy, и это мой код:
import numpy as np
def loss(X, y, w):
N = (X.shape)[0]
X_new = np.concatenate((np.ones((N, 1)), X), axis=1)
E = y-np.matmul(X_new, w)
E_t = np.transpose(E)
loss_value = (1/N)*(np.matmul(E_t, E))
return loss_value
Размер E
равен (15000, 1) и E_t
очевидно (1,15000). Однако при отладке я понял, что np.matmul(E_t,E)
занимает слишком много времени. У меня есть ноутбук с 16 ГБ оперативной памяти и Core i7, поэтому для меня странно, что np.matmul
здесь не работает. Это нормально, если матрицы, с которыми я имею дело, имеют такие размеры?