2017-03-29 70 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

回答