筆記 隨機梯度下降引數求解實現

2021-09-19 14:32:47 字數 942 閱讀 2152

"""

隨機梯度下降

描述:每次選取乙個樣本參與梯度計算

場景:一元線性回歸

"""import numpy as np

np.random.seed(1)

x =2

* np.random.rand(

100,1)

y =4+3

* np.random.randn(

100,1)

x = np.c_[np.ones(

(100,1

)), x]

m =100

# 樣本數

theta = np.random.randn(2,

1)learning_rate =

0.001

n_epochs =

10000

# 隨機梯度下降次數

if __name__ ==

"__main__"

:for epoch in

range

(n_epochs)

:for i in

range

(m):

random_index = np.random.randint(m)

xi = x[random_index:random_index+1]

yi = y[random_index:random_index+1]

gradients = xi.t.dot(xi.dot(theta)

- yi)

# 統計更新theta

theta -= learning_rate * gradients

print

(theta)

[[ 4.65856506]

[-0.47926501]]

雖然沒調參,但這個是真不穩...

梯度下降 隨機梯度下降 批梯度下降

下面的h x 是要擬合的函式,j 損失函式,theta是引數,要迭代求解的值,theta求解出來了那最終要擬合的函式h 就出來了。其中m是訓練集的記錄條數,j是引數的個數。梯度下降法流程 1 先對 隨機賦值,可以是乙個全零的向量。2 改變 的值,使j 按梯度下降的方向減少。以上式為例 1 對於我們的...

stanford 梯度 梯度下降,隨機梯度下降

一 梯度gradient 在標量場f中的一點處存在乙個向量g,該向量方向為f在該點處變化率最大的方向,其模也等於這個最大變化率的數值,則向量g稱為標量場f的梯度。在向量微積分中,標量場的梯度是乙個向量場。標量場中某一點上的梯度指向標量場增長最快的方向,梯度的長度是這個最大的變化率。更嚴格的說,從歐氏...

梯度下降 隨機梯度下降和批量梯度下降

對比梯度下降和隨機梯度下降和批量梯度下降 之前看的知識比較零散,沒有乙個系統的解釋說明,看了一些網上的博主的分析,總結了一下自己的理解。例子這裡我參照其他博主的例子做了一些修改,首先是梯度下降 coding utf 8 import random this is a sample to simula...