2013-05-06 89 views
1

要有gradient descent成本函數矢量或和矩陣運算

enter image description here

的定義爲

enter image description here

的設定功能如下定義是什麼,我拿出對於多元線性迴歸是

theta = theta - alpha * 1/m * ([theta', -1]*[X';y']*X)'; 
h_theta = 1/(2*m)* (X*theta - y)'*(X*theta-y); 

(八度音階符號,'表示矩陣轉置,[A, n]意味着增加一個新列矩陣A與標值n,[A; B],追加矩陣B爲矩陣逐行)

它是正確的如何做的工作遠遠我可以告訴(情節看起來好),但是我有強烈的感覺,這是不必要的複雜。

如何使用盡可能少的矩陣操作來編寫它(當然沒有元素操作)?

回答

1

我不認爲這是不必要的複雜,而是這是你想要的。矩陣操作很好,因爲您不必自行循環元素或執行元素操作。我記得在線學習課程,我的解決方案看起來很相似。

0

你擁有它的方式是最有效的方式,因爲它是完全向量化的。可以通過對求和等進行for循環來完成,但是在處理能力方面這是非常低效的。