機器學習:迴歸模型,正則化

一、線性迴歸

1.最小二乘法:最小化均方誤差MSE,即點到直線的歐式距離最小,從而求解w和b
2.優點:速度快,建模簡單,解釋性強
3.缺點:異常值敏感

from sklearn.linear_model import LinearRegression
'''
(1)fit_intercept:是否計算截距。False-模型沒有截距
(2)normalize: 當fit_intercept設置爲False時,該參數將被忽略。
如果爲真,則迴歸前的迴歸係數X將通過減去平均值併除以l2-範數而歸一化。
(3)n_jobs:指定線程數
'''
model = LinearRegression(fit_intercept=True, normalize=False)
model.coef_  #迴歸係數
model.intercept_  #迴歸截距

二、多項式迴歸

1.隨機梯度下降(SGD):求解w和b
2.優點:能擬合非線性數據
3.缺點:需要先驗知識,指數選擇不當容易過擬合

from sklearn.preprocessing import PolynomialFeatures #多項式迴歸
model = PolynomialFeatures(degree=2)
model.fit_transform(X_train)

三、正則化

  • 在損失函數中,爲每一個特徵加一個懲罰項

1.lasso迴歸/L1正則化

  • 權值向量w中各個元素的絕對值之和
  • 用於稀疏矩陣
  • 特徵選擇中常用
  • 損失函數不可導,梯度下降不能用
  • 利用座標軸下降法進行求解,沿着座標軸的方向,每次總是固定另外n-1個值,求另外一個的局部最優值。

2.嶺迴歸/L2正則化

  • 權值向量w中各個元素的平方和然後再求平方根
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章