回歸 梯度下降法

2021-08-01 17:29:35 字數 970 閱讀 9833

給定 m條訓練資料,假定方法

先說明向量問題,乙個向量就代表一條特徵值

梯度下降公式:

重複公式直到 收斂。公式中意思是

1、第i個

2、重複計算1。直到

repeat util  convergence

python**:

def gradient(x,y,bu,number):

m, n = x.shape

weight = np.ones(n)

for index in range(n):

for k in range(number):

weight[index]=weight[index]-bu*np.sum(np.sum(x*weight,axis=1)-y)*np.sum(x,axis=0)[index]/m;

return weight

x 是訓練陣列,y訓練結果陣列。bu是步長,number是迴圈次數。

matlab

function [theta, j_history] = gradientdescentmulti(x, y, theta, alpha, num_iters)

m = length(y);

j_history = zeros(num_iters, 1);

for iter = 1:num_iters

h=(sum(x*theta,2)-y).*x

kao=alpha*sum(h,1)

theta= theta-transpose(kao)/m

j_history(iter) = computecostmulti(x, y, theta);

endend

其中:梯度下降回歸是區域性回歸,有可能不是全域性最優解。還有步長的選擇,步長過大,會出錯,太小,程式執行次數太多。那麼只有通過執行多次,來選擇合適步長。

梯度下降法 3 實現線性回歸中的梯度下降法

構造資料集 import numpy import matplotlib.pyplot as plt 設定隨機數種子 numpy.random.seed 666 x 2 numpy.random.random size 100 y x 3.4.numpy.random.normal size 100...

線性回歸與梯度下降法

原文 最近在看斯坦福的 機器學習 的公開課,這個課程是2009年的,有點老了,不過講的還是很好的,廓清了一些我以前關於機器學習懵懂的地方。我的一位老師曾經說過 什麼叫理解?理解就是你能把同乙個事情用自己的語言表達出來,並且能讓別人聽得懂。本著這樣的原則,同時也為了證明自己是 理解 的,於是決定打算在...

20191008 線性回歸 梯度下降法

不斷的迭代,還是波士頓房價 獲取資料 資料清洗預處理 劃分資料集 特徵工程 預估器流程 coef intercept 模型評估 from sklearn.datasets import load boston from sklearn.model selection import train tes...