好記憶的機器學習面試--線性迴歸

1.什麼是線性迴歸

  • 線性:兩個變量之間的關係一次函數關係的——圖象是直線,叫作線性。
  • 非線性:兩個變量之間的關係不是一次函數關係的——圖象不是直線,叫作非線性。
  • 迴歸:人們在測量事物的時候由於客觀條件所限,求得的都是測量值,而不是事物真實的值,爲了可以獲得真實值,無限次的進行測量,最後經過這些測量數據計算迴歸到真實值,這就是迴歸的由來。

2. 可以解決什麼樣的問題

對大量的觀測數據進行處理,從而獲得比較符合事物內部規律的數學表達式。也就是說尋找到數據與數據之間的規律所在,從而就能夠模擬出結果,也就是對結果進行預測。解決的就是經過已知的數據獲得未知的結果。例如:對房價的預測、判斷信用評價、電影票房預估等。git

3. 通常表達式是什麼

w叫作x的係數,b叫作偏置項。github

4. 如何計算

4.1 Loss Function--MSE

利用梯度降低法找到最小值點,也就是最小偏差,最後把 w 和 b 給求出來。函數

5. 過擬合、欠擬合如何解決

使用正則化項,也就是給loss function加上一個參數項,正則化項有L1正則化、L2正則化、ElasticNet。加入這個正則化項好處:blog

  • 控制參數幅度,不讓模型「沒法無天」。
  • 限制參數搜索空間
  • 解決欠擬合與過擬合的問題。

5.1 什麼是L2正則化(嶺迴歸)

方程:get

J0表示上面的 loss function ,在loss function的基礎上加入w參數的平方和乘以lambda,假設:數學

回憶之前學過的單位元的方程:it

正和L2正則化項同樣,此時咱們的任務變成在L約束下求出J取最小值的解。求解J0的過程能夠畫出等值線。同時L2正則化的函數L也能夠在w1w2的二維平面上畫出來。以下圖:io

image.png

L表示爲圖中的黑色圓形,隨着梯度降低法的不斷逼近,與圓第一次產生交點,而這個交點很難出如今座標軸上。這就說明了L2正則化不容易獲得稀疏矩陣,同時爲了求出損失函數的最小值,使得w1和w2無限接近於0,達到防止過擬合的問題。ast

5.2 什麼場景下用L2正則化

只要數據線性相關,用LinearRegression擬合的不是很好,須要正則化,能夠考慮使用嶺迴歸(L2), 如何輸入特徵的維度很高,並且是稀疏線性關係的話, 嶺迴歸就不太合適,考慮使用Lasso迴歸。function

5.3 什麼是L1正則化(Lasso迴歸)

L1正則化與L2正則化的區別在於懲罰項的不一樣:

求解J0的過程能夠畫出等值線。同時L1正則化的函數也能夠在w1w2的二維平面上畫出來。以下圖:

image.png

懲罰項表示爲圖中的黑色棱形,隨着梯度降低法的不斷逼近,與棱形第一次產生交點,而這個交點很容易出如今座標軸上。這就說明了L1正則化容易獲得稀疏矩陣。

5.4 什麼場景下使用L1正則化

L1正則化(Lasso迴歸)可使得一些特徵的係數變小,甚至還使一些絕對值較小的係數直接變爲0,從而加強模型的泛化能力 。對於高的特徵數據,尤爲是線性關係是稀疏的,就採用L1正則化(Lasso迴歸),或者是要在一堆特徵裏面找出主要的特徵,那麼L1正則化(Lasso迴歸)更是首選了。

5.5 什麼是ElasticNet迴歸

ElasticNet綜合了L1正則化項和L2正則化項,如下是它的公式:

5.6 ElasticNet迴歸的使用場景

ElasticNet在咱們發現用Lasso迴歸太過(太多特徵被稀疏爲0),而嶺迴歸也正則化的不夠(迴歸係數衰減太慢)的時候,能夠考慮使用ElasticNet迴歸來綜合,獲得比較好的結果。

6. 線性迴歸要求因變量服從正態分佈?

咱們假設線性迴歸的噪聲服從均值爲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】

相關文章
相關標籤/搜索