對大量的觀測數據進行處理,從而獲得比較符合事物內部規律的數學表達式。也就是說尋找到數據與數據之間的規律所在,從而就能夠模擬出結果,也就是對結果進行預測。解決的就是經過已知的數據獲得未知的結果。例如:對房價的預測、判斷信用評價、電影票房預估等。git
w叫作x的係數,b叫作偏置項。github
利用梯度降低法找到最小值點,也就是最小偏差,最後把 w 和 b 給求出來。函數
使用正則化項,也就是給loss function加上一個參數項,正則化項有L1正則化、L2正則化、ElasticNet。加入這個正則化項好處:blog
方程:get
J0表示上面的 loss function ,在loss function的基礎上加入w參數的平方和乘以lambda,假設:數學
回憶之前學過的單位元的方程:it
正和L2正則化項同樣,此時咱們的任務變成在L約束下求出J取最小值的解。求解J0的過程能夠畫出等值線。同時L2正則化的函數L也能夠在w1w2的二維平面上畫出來。以下圖:io
L表示爲圖中的黑色圓形,隨着梯度降低法的不斷逼近,與圓第一次產生交點,而這個交點很難出如今座標軸上。這就說明了L2正則化不容易獲得稀疏矩陣,同時爲了求出損失函數的最小值,使得w1和w2無限接近於0,達到防止過擬合的問題。ast
只要數據線性相關,用LinearRegression擬合的不是很好,須要正則化,能夠考慮使用嶺迴歸(L2), 如何輸入特徵的維度很高,並且是稀疏線性關係的話, 嶺迴歸就不太合適,考慮使用Lasso迴歸。function
L1正則化與L2正則化的區別在於懲罰項的不一樣:
求解J0的過程能夠畫出等值線。同時L1正則化的函數也能夠在w1w2的二維平面上畫出來。以下圖:
懲罰項表示爲圖中的黑色棱形,隨着梯度降低法的不斷逼近,與棱形第一次產生交點,而這個交點很容易出如今座標軸上。這就說明了L1正則化容易獲得稀疏矩陣。
L1正則化(Lasso迴歸)可使得一些特徵的係數變小,甚至還使一些絕對值較小的係數直接變爲0,從而加強模型的泛化能力 。對於高的特徵數據,尤爲是線性關係是稀疏的,就採用L1正則化(Lasso迴歸),或者是要在一堆特徵裏面找出主要的特徵,那麼L1正則化(Lasso迴歸)更是首選了。
ElasticNet綜合了L1正則化項和L2正則化項,如下是它的公式:
ElasticNet在咱們發現用Lasso迴歸太過(太多特徵被稀疏爲0),而嶺迴歸也正則化的不夠(迴歸係數衰減太慢)的時候,能夠考慮使用ElasticNet迴歸來綜合,獲得比較好的結果。
咱們假設線性迴歸的噪聲服從均值爲0的正態分佈。 當噪聲符合正態分佈N(0,delta^2)時,因變量則符合正態分佈N(ax(i)+b,delta^2),其中預測函數y=ax(i)+b。這個結論能夠由正態分佈的機率密度函數獲得。也就是說當噪聲符合正態分佈時,其因變量必然也符合正態分佈。
在用線性迴歸模型擬合數據以前,首先要求數據應符合或近似符合正態分佈,不然獲得的擬合函數不正確。
做者:@mantchs
GitHub:https://github.com/NLP-LOVE/ML-NLP
歡迎你們加入討論!共同完善此項目!羣號:【541954936】