中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python機器學習基礎線性回歸與嶺回歸算法詳解
目錄
· 一、什么是線性回歸
· 1.線性回歸簡述
· 2.數組和矩陣
· 數組
· 矩陣
· 3.線性回歸的算法
· 二、權重的求解
· 1.正規(guī)方程
· 2.梯度下降
· 三、線性回歸案例
· 1.案例概述
· 2.數據獲取
· 3.數據分割
· 4.數據標準化
· 5.模型訓練
· 6.回歸性能評估
· 7.梯度下降與正規(guī)方程區(qū)別
· 四、嶺回歸Ridge
· 1.過擬合與欠擬合
· 2.正則化
一、什么是線性回歸
1.線性回歸簡述
線性回歸,是一種趨勢,通過這個趨勢,我們能預測所需要得到的大致目標值。線性關系在二維中是直線關系,三維中是平面關系。
我們可以使用如下模型來表示線性回歸:y = wx+b(w是權重,x是特征,b是偏置項)
當有多個特征時,線性關系模型如下圖所示:
2.數組和矩陣
數組
數組可以是多維的,各個維度的數組表示如下:
0維:5
1維:[1,2,5,5,4,8]
2維:[[1,4,5],[1,4,7]]
3維:[[[1,4,5],[1,4,7]],[[1,4,5],[1,4,7]]]
數組運算有加法,乘法。具體計算可以在python中嘗試,數組是ndarray類型。3.
矩陣
矩陣特點:必須是二維,矩陣的運算滿足了特定的需求。我們可以僅僅通過1步的矩陣乘法,就得出w1*x1+w2*x2+w3*x3這樣模型的結果。
矩陣乘法的要求會涉及到矩陣的形狀要求:m*n的矩陣 * n*p的矩陣,結果是m*p的矩陣
也就是說,第一個矩陣的列數,必須要和第二個矩陣的行數相同。
3.線性回歸的算法
線性回歸是一種迭代的算法。我們需要建立一個函數,對于每一個特征x(i)都有一個對應的權重w(i),兩者相乘,并最終把所有的特征權重乘積求和,就是我們的目標結果。但如何尋找到最佳的權重,從而使得模型能夠最好地擬合我們的樣本呢?
線性回歸的迭代算法的每次迭代,都會更新權重w(i)的值,使模型往靠近樣本點的地方更加靠近,而損失函數,就是我們用來求得最佳權重的函數。
損失函數定義如下:
損失意思就是預測的各個目標值,與各個原目標值的差的平方和(誤差平方和)。損失越小也就是預測值與原值越接近,效果越好。該方法也稱為最小二乘法。當損失函數達到最小值時,所對應的權重w,就是我們的目標權重。
二、權重的求解
1.正規(guī)方程
是求權重w的一種方法,適用于特征少的數據。用的比較少。
2.梯度下降
該方法通過指定學習率,并利用梯度,迭代更新權重。通常都使用這個方法。
正規(guī)方程API:sklearn.linear_model.LinearRegression()
梯度下降API:sklearn.linear_model.SGDRegressor()
兩個算法都可以通過.coef_得到回歸系數,學習率是一個超參數,也可使用網格交叉驗證進行調優(yōu)。
三、線性回歸案例
1.案例概述
通過從sklearn中獲取的“波士頓房價預測”數據進行房價預測,特征有很多,比如該鎮(zhèn)的人均犯罪率、一氧化氮濃度、低收入人群占比等。我們對每一個特征都給出一個權重,通過算法,求得最佳的權重即可。
2.數據獲取
導入數據代碼:
1
2
from sklearn.datasets import load_boston
lb = load_boston()
3.數據分割
1
x_train, x_test, y_train, y_test = train_test_split(lb.data, lb.target, test_size=0.25)
4.數據標準化
此處的數據,需要對特征數據以及目標值數據都進行標準化,并且需要用不同的標準。
導入標準化方法:from sklearn.preprocessing import StandardScaler
x實例化方法:std_x = StandardScaler()
y實例化方法:std_y = StandardScaler()
標準化:
x_train = std_x.fit_transform(x_train)
x_test = std_x.transform(x_test)
y_train = std_y.fit_transform(y_train)
y_test = std_y.transform(y_test)
5.模型訓練
注意,訓練后得出的目標值,是標準化后的,因此需要使用StandardScaler中的inverse_transform進行轉換回原來的值。
實例化算法:lr = LinearRegressor()
將數據轉為二維:y_train = y_train.reshape(-1,1)
訓練算法:lr.fit(x_train, y_train)
預測結果:y_predict = lr.predict(x_test)
結果轉為正常結果:y_lr_predict = std.inverse_transform(y_predict)
6.回歸性能評估
通過對預測值也真實值計算均方誤差可得,API中,輸入真實目標值,以及預測目標值即可(注意:輸入的都是標準化之前的值。
API:sklearn.metrics.mean_squared_error(y_true, y_pred)
線性回歸性能評估:mean_squared_error(y_test, y_lr_predict)
以上為使用線性回歸算法,對房價進行的預測。其他的算法,具體操作基本一致。
7.梯度下降與正規(guī)方程區(qū)別
特點:線性回歸器是最為簡單、易用的回歸模型。 從某種程度上限制了使用,盡管如此,在不知道特征之間關系的前提下,我們仍然使用線性回歸器作為大多數系統(tǒng)的首要選擇。
小規(guī)模數據可以使用LinearRegression(不能解決擬合問題)以及其它
大規(guī)模數據需要使用梯度下降法,SGDRegressor
四、嶺回歸Ridge
1.過擬合與欠擬合
欠擬合:一個假設在訓練數據上不能獲得更好的擬合, 但是在訓練數據外的數據集上也不能很好地擬合數據,此時認為這個假設出現(xiàn)了欠擬合的現(xiàn)象。(模型過于簡單)
解決方法:增加特征
過擬合:一個假設在訓練數據上能夠獲得比其他假設更好的擬合, 但是在訓練數據外的數據集上卻不能很好地擬合數據,此時認為這個假設出現(xiàn)了過擬合的現(xiàn)象。(模型過于復雜)
解決方法:正則化
2.正則化
L2正則化是通過減少權重的方式,對模型進行優(yōu)化,以解決過擬合的問題。該方法可以使得權重的每個元素都非常接近于0,參數變小,則模型變簡單。從而達到解決過擬合問題的效果。
嶺回歸就是帶有正則化的線性回歸。
嶺回歸API:sklearn.linear_model.Ridge
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
機器學習|回歸算法中的貝葉斯
人工智能基礎課堂紀要5
黑馬程序員機器學習Day3學習筆記
為什么要引入矩陣這個數學工具?它能簡化哪些不用矩陣會復雜的問題?
機器學習:降維技術完整指南
python常用庫
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服