梯度下降:一種最優化演算法,就是沿著函式的梯度方向尋找函式的最小值
線性回歸模型:
最終的目標就是利用 (梯度下降法) 求出使 (誤差函式) 最小的線性函式的系數值
梯度下降演算法有兩種
1.批量梯度下降(batch gradient descent)
2.隨機梯度下降(stochastic gradient descent)
練習題目
"""隨機梯度下降法,每一次梯度下降只使用乙個樣本。
:param x: 訓練集種的自變數
:param y: 訓練集種的因變數
:param theta: 待求的權值
:param alpha: 學習速率
:param m: 樣本總數
:param max_iter: 最大迭代次數
"""deviation = 1
iter = 0
flag = 0
while true:
for i in range(m): #迴圈取訓練集中的乙個
deviation = 0
h = theta[0] * x[i][0] + theta[1] * x[i][1]
theta[0] = theta[0] - alpha * (y[i] - h)*x[i][0]
theta[1] = theta[1] - alpha * (y[i] - h)*x[i][1]
iter = iter + 1
#計算誤差
for i in range(m):
deviation = deviation + (y[i] - (theta[0] * x[i][0] + theta[1] * x[i][1])) ** 2
if deviation max_iter:
flag = 1
break
if flag == 1 :
break
return theta, iter
x =np.array([[1,2],[2,5],[5,1],[2,4]])
y =np.array([19,26,19,20])
theta=[1,1]
alpha=0.001
max_iter=5000
result,iters=stochastic_gradient_descent(x,y,theta,alpha,4,max_iter)
print(result,iters)
線性回歸 梯度下降
線性回歸演算法屬於監督學習的一種,主要用於模型為連續函式的數值 過程總得來說就是初步建模後,通過訓練集合確定模型引數,得到最終 函式,此時輸入自變數即可得到 值。1 初步建模。確定假設函式 h x 最終 用 2 建立價值函式 j 也叫目標函式 損失函式等,求引數 用 3 求引數 對價值函式求偏導 即...
線性回歸 梯度下降
利用回歸方程對乙個或多個自變數和因變數之間進行建模的分析方式損失 計算損失用最小二乘法。優化。優化有兩種方式。一種是正規方程解法通常只適用於極少量資料,一般不會用 二是梯度下降的方式通常使用梯度下降 梯度下降的簡介。梯度就是倒導數 切線。沿著切線的方向下降的最快。梯度下降有兩個引數,起始點和學習率 ...
線性回歸與梯度下降
以下內容是根據史丹福大學ng教授的機器學習公開課總結的內容 監督學習 即訓練資料中既包含了輸入資料又包含了對應於這個是輸入資料的正確的輸出結果。回歸問題 當給出了輸入資料後,正確的輸出結果。首先考慮乙個問題 我們需要 自己房屋的 現在擁有的資料只是幾十個房屋樣本 如下圖所示。怎樣根據這些房屋的面積以...