我教過自己機器學習的一些在線資源,但我有一個關於漸變下降的問題,我無法弄清楚。漸變下降:我們是否在GD中的每一步迭代了所有的訓練集?或者我們是否爲每個訓練集更改GD?
爲梯度下降的公式由下面的物流回歸給出:
Repeat {
θj = θj−α/m∑(hθ(x)−y)xj
}
θj
哪裏是變量j的係數; α
是學習率; hθ(x)
是假設; y
是實際值,xj
是變量j的值。 m
是訓練集的數量。 hθ(x)
,y
針對每個訓練集(即,這是和號的用途)。
這是我困惑的地方。
,如果求和代表我的整個訓練集或多少次迭代我已經做到這一點的,我不清楚。
例如,假設我有10個訓練示例。如果我在每個訓練示例之後執行梯度下降,那麼在所有10個訓練示例之後,如果我執行梯度下降,我的係數將會非常不同。
見下面的第一種方式是如何不同,那麼第二種方法:
首先方式
- 步驟1:由於係數初始化爲0,Hθ(X)= 0
- 步驟2:在第一個訓練樣例上執行漸變下降。 求和項僅包括1個訓練示例
- 步驟3:現在使用新的係數,訓練樣例1 & 2 ... 求和項包括第一2訓練實例
- 步驟4:再次執行梯度下降。
- 第5步:現在使用新的係數進行訓練例子1,2 & 3 ... 求和項包括前3訓練例子
- 繼續,直到收斂或使用的所有訓練的例子。
方式二
- 步驟1:由於係數初始化爲0,Hθ(X)= 0對所有10個 訓練樣例
- 步驟2:執行使用所有10的梯度下降1個步驟訓練實例。係數將與First Way不同,因爲總和項包括全部10個訓練樣例
- 步驟3:再次在全部10個訓練樣例上使用新的係數。求和項包括所有10個訓練例子
- 4步:執行梯度下降,並繼續使用係數上 所有實例直至收斂
我希望我的解釋混亂。有誰知道哪種方式是正確的?
編輯:增加成本的功能和設定功能
cost function = −1/m∑[ylog(hθ(x))+(1−y)log(1−hθ(x))]
hθ(x) = 1/(1+ e^-z)
and z= θo + θ1X1+θ2X2 +θ3X3...θnXn
梯度下降什麼機器學習方法/損失函數?感知? SVM? – carlosdc
@carlosdc這不是SVM,所以我假設它是感知器?對不起,但我從(coursera)學到的課程從未使用過感知器這個術語。它的確教授了SVM,但那是後來的課程,我沒有使用這個方程,所以我假設這不是一個SVM。無論如何,我可以告訴? –
@carlosdc我提供的方程是成本函數的導數...假設是'1 /(1 + e^-z)'和'z =θo+θ1X1+θ2X2+θ3X3...θnXn'.. 。成本函數是:邏輯迴歸的'-1 /mΣ[ylog(hθ(x))+(1-y)log(1-hθ(x))]' –