l2正则化python_机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化...
本文主要向大家介紹了機器學習入門之機器學習之路: python線性回歸 過擬合 L1與L2正則化,通過具體的內容向大家展現,希望對大家學習機器學習入門有所幫助。
正則化:????提高模型在未知數據上的泛化能力????避免參數過擬合正則化常用的方法:????在目標函數上增加對參數的懲罰項????削減某一參數對結果的影響力度L1正則化:lasso????在線性回歸的目標函數后面加上L1范數向量懲罰項。????????f?=?w?*?x^n?+?b?+?k?*?||w||1?????????x為輸入的樣本特征????w為學習到的每個特征的參數????n為次數????b為偏置、截距????||w||1?為?特征參數的L1范數,作為懲罰向量????k?為懲罰的力度L2范數正則化:ridge????在線性回歸的目標函數后面加上L2范數向量懲罰項。????????f?=?w?*?x^n?+?b?+?k?*?||w||2?????????x為輸入的樣本特征????w為學習到的每個特征的參數????n為次數????b為偏置、截距????||w||2?為?特征參數的L2范數,作為懲罰向量????k?為懲罰的力度????????????????下面模擬?根據蛋糕的直徑大小?預測蛋糕價格采用了4次線性模型,是一個過擬合的模型分別使用兩個正則化方法?進行學習和預測
1?from?sklearn.linear_model?import?LinearRegression,?Lasso,?Ridge
2?#?導入多項式特征生成器
3?from?sklearn.preprocessing?import?PolynomialFeatures
4
5
6?‘‘‘
7?正則化:
8?????提高模型在未知數據上的泛化能力
9?????避免參數過擬合
10?正則化常用的方法:
11?????在目標函數上增加對參數的懲罰項
12?????削減某一參數對結果的影響力度
13
14?L1正則化:lasso
15?????在線性回歸的目標函數后面加上L1范數向量懲罰項。
16
17?????f?=?w?*?x^n?+?b?+?k?*?||w||1
18
19?????x為輸入的樣本特征
20?????w為學習到的每個特征的參數
21?????n為次數
22?????b為偏置、截距
23?????||w||1?為?特征參數的L1范數,作為懲罰向量
24?????k?為懲罰的力度
25
26?L2范數正則化:ridge
27?????在線性回歸的目標函數后面加上L2范數向量懲罰項。
28
29?????f?=?w?*?x^n?+?b?+?k?*?||w||2
30
31?????x為輸入的樣本特征
32?????w為學習到的每個特征的參數
33?????n為次數
34?????b為偏置、截距
35?????||w||2?為?特征參數的L2范數,作為懲罰向量
36?????k?為懲罰的力度
37
38
39?下面模擬?根據蛋糕的直徑大小?預測蛋糕價格
40?采用了4次線性模型,是一個過擬合的模型
41?分別使用兩個正則化方法?進行學習和預測
42
43?‘‘‘
44
45?#?樣本的訓練數據,特征和目標值
46?x_train?=?[[6],?[8],?[10],?[14],?[18]]
47?y_train?=?[[7],?[9],?[13],?[17.5],?[18]]
48?#?準備測試數據
49?x_test?=?[[6],?[8],?[11],?[16]]
50?y_test?=?[[8],?[12],?[15],?[18]]
51?#?進行四次線性回歸模型擬合
52?poly4?=?PolynomialFeatures(degree=4)??#?4次多項式特征生成器
53?x_train_poly4?=?poly4.fit_transform(x_train)
54?#?建立模型預測
55?regressor_poly4?=?LinearRegression()
56?regressor_poly4.fit(x_train_poly4,?y_train)
57?x_test_poly4?=?poly4.transform(x_test)
58?print("四次線性模型預測得分:",?regressor_poly4.score(x_test_poly4,?y_test))??#?0.8095880795746723
59
60?#?采用L1范數正則化線性模型進行學習和預測
61?lasso_poly4?=?Lasso()
62?lasso_poly4.fit(x_train_poly4,?y_train)
63?print("L1正則化的預測得分為:",?lasso_poly4.score(x_test_poly4,?y_test))??#?0.8388926873604382
64
65?#?采用L2范數正則化線性模型進行學習和預測
66?ridge_poly4?=?Ridge()
67?ridge_poly4.fit(x_train_poly4,?y_train)
68?print("L2正則化的預測得分為:",?ridge_poly4.score(x_test_poly4,?y_test))??#?0.8374201759366456
本文由職坐標整理并發布,希望對同學們有所幫助。了解更多詳情請關注職坐標人工智能機器學習頻道!
總結
以上是生活随笔為你收集整理的l2正则化python_机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫php_PHP爬虫编写
- 下一篇: python的主要版本_Python目前