線性回歸 梯度下降

2021-10-02 21:04:33 字數 2326 閱讀 8091

利用回歸方程對乙個或多個自變數和因變數之間進行建模的分析方式
損失

計算損失用最小二乘法。

優化。優化有兩種方式。

一種是正規方程解法通常只適用於極少量資料,一般不會用

二是梯度下降的方式通常使用梯度下降

梯度下降的簡介。

梯度就是倒導數、切線。沿著切線的方向下降的最快。

梯度下降有兩個引數,起始點和學習率(步長)

對優化的方法選擇

大規模資料:sgd

小規模資料:嶺回歸》正規方程

全梯度下降。

在計算時,會計算所有樣本的誤差,計算速度慢。

隨機梯度下降。

每次只選擇乙個樣本進行計算。計算速度快。

小批量梯度下降演算法。

每次從訓練樣本集上隨機抽取乙個小樣本集,在抽出來的小樣本集上採用fg迭代更新權重。

隨機平均梯度下降演算法。

在記憶體中為每乙個樣本都維護乙個舊的梯度,隨機選擇第i個樣本來更新此樣本的梯度,其他樣本的梯度保持不變,然後求得所有梯度的平均值,進而更新了引數

各個演算法的優缺點。

全梯度下降:缺點:速度慢。

隨機梯度下降:優點:速度快。缺點:

小批量梯度下降演算法:

隨機平均梯度下降演算法:

正規方程的api

####### 1. 獲取資料

boston_data = load_boston()

####### 2. 資料基本處理

####### 2.1 資料集劃分

x_train, x_test, y_train, y_test = train_test_split(boston_data.data,boston_data.target, test_size=0.2)

####### 3. 特徵工程

####### 3.1 例項化

transfer = standardscaler()

x_train = transfer.fit_transform(x_train)

x_test = transfer.fit_transform(x_test)

####### 4. 機器學習

####### 4.1 例項化

estimator = linearregression()

estimator.fit(x_train, y_train)

####### 5. 模型評估

####### 5.1 **值和準確率

y_pre = estimator.predict(x_test)

score = estimator.score(x_test, y_test)

print(score)

####### 5.2 均方誤差

ret = mean_absolute_error(y_test, y_pre)

梯度下降法的api

只在第4步有區別。梯度下降法的機器學習方法是:

estimator = sgdregressor(loss=「squared_loss」, fit_intercept=true,learning_rate=「invscaling」, eta0=0.)

其中,引數的意義

loss:損失計算方式:最小二乘

learn_rate: 一般都用預設的,動態更新

欠擬合:訓練集和測試集表現都不好

過擬合:訓練集表現好,測試集表現不好

重新清洗資料(防止嘈雜特徵)

增大資料訓練量

正則化減小特徵維度

l1正則化

直接把高次項的係數置為0

lasso 回歸

嶺回歸elastic net 彈性網路

嶺回歸和lasso 回歸的結合。

彈性網路。

嶺回歸的api

sklearn.linear_model.ridge(alpha=1.0, fit_intercept=true,solver=「auto」,normalize=false)

具有l2正則化的線性回歸

alpha:正則化力度,也叫 λ

正則化力度越大,權重係數越小

正則化力度越小,權重係數越大

solver:會根據資料自動選擇優化方法

normalize:資料是否進行標準化

normalize=false:可以在fit之前呼叫preprocessing.standardscaler標準化資料

from sklearn.externals import joblib

儲存:joblib.dump(estimator, 『test.pkl』)

載入:estimator = joblib.load(『test.pkl』)

線性回歸 梯度下降

線性回歸演算法屬於監督學習的一種,主要用於模型為連續函式的數值 過程總得來說就是初步建模後,通過訓練集合確定模型引數,得到最終 函式,此時輸入自變數即可得到 值。1 初步建模。確定假設函式 h x 最終 用 2 建立價值函式 j 也叫目標函式 損失函式等,求引數 用 3 求引數 對價值函式求偏導 即...

線性回歸梯度下降

梯度下降 一種最優化演算法,就是沿著函式的梯度方向尋找函式的最小值 線性回歸模型 最終的目標就是利用 梯度下降法 求出使 誤差函式 最小的線性函式的系數值 梯度下降演算法有兩種 1.批量梯度下降 batch gradient descent 2.隨機梯度下降 stochastic gradient ...

線性回歸與梯度下降

以下內容是根據史丹福大學ng教授的機器學習公開課總結的內容 監督學習 即訓練資料中既包含了輸入資料又包含了對應於這個是輸入資料的正確的輸出結果。回歸問題 當給出了輸入資料後,正確的輸出結果。首先考慮乙個問題 我們需要 自己房屋的 現在擁有的資料只是幾十個房屋樣本 如下圖所示。怎樣根據這些房屋的面積以...