2017-03-29 37 views
-2

我正在研究最佳梯度下降问题,并且无法将矩阵乘法转换为.dot表示法。以下是示例代码:梯度下降的线性回归,应用.dot()代替矩阵乘法

def error(theta, x_i, y_i): 
    return y_i- (theta[0]+theta[1]*x_i) 

def vectorized_calculate_SSE(theta): 
    sse = sum(error(theta, x_i, y_i)**2 for x_i, y_i in data) 

我想用.dot()代替错误函数调用和附加矩阵乘法。任何建议将不胜感激。谢谢。

+0

你能提供样品的输入和你的预期的输出? – Akavall

+0

是的。这里是进入的数据。我把X和Y放入numpy数组,然后在X中添加一列。 years = np.arange(0,40,0.5) np.random.seed(0) salary = 45000+ np.sqrt(年)* 16789 + np.random.normal(2000,10000,len(年)) y = np.array(工资) #将X转换为nX2矩阵,n为样本数,和X的第一列是1 X = np.array(年) #创建一个那些矢量 那些= np.ones((X.shape [0],1)) #将那些与第一向量/列中的X X = np.reshape(X,(X.shape [0],1)) X = np.concatenate(( ,X),axis = 1) – LazenbyAce

回答