2017-01-20 91 views
1

我一直在Andrew Ng的機器學習課程中做作業1。但是,當我將矢量化多變量梯度下降的時候,我被困在了他正在談論的內容上。多變量梯度下降的矢量化

他的方程被表示爲如下: THETA:= THETA - α* F

f爲應該由1/M *總和(H(XI) - 基)*僖其中i是被創建索引

現在這裏是我困惑的地方,我知道h(xi)-y(i)可以改寫爲theta * xi,其中xi代表一行特徵元素(1xn),theta代表一列(nx1 )生成一個標量,然後我從y的單個值中減去該標量,然後乘以Xi,其中Xi表示1個特徵值的列?

這樣會給我mx1向量?然後必須從一個nx1向量中減去?

Xi代表一行特徵值嗎?如果是的話,我怎麼能做到這一點,而不索引所有這些行?

我專門提到這一形象: enter image description here

回答

0

我會與非矢量化實現

,這樣會給我MX1矢量解釋一下嗎?然後必須從 減去一個nx1向量?

是的,它會給你米X 1個矢量,而是從的N×1矢量中減去,它必須從米X 1個矢量減去了。怎麼樣?

我知道H(XI)-y(ⅰ)可被重寫爲THETA * XI其中,xi 表示特徵元件的行(1XN)和θ表示 柱(NX1)產生一個標量

你實際上已經回答這個問題,THETA *喜產生一個標量,所以當你有樣本,它會給你一個MX 1載體。如果您在方程式中仔細看,則標量結果從h(xi) - y(i)乘以一個標量也是樣本i(x sup i sub 0)的x0,所以它會給您一個標量結果或mx 1向量如果您有m個樣本。