機器學習是一門理論性和實戰性都比較強的技術學科。在應聘機器學習相關工作崗位時,我們常常會遇到各種各樣的機器學習問題和知識點。為了幫助大家對這些知識點進行梳理和理解,以便能夠更好地應對機器學習筆試包括面試。紅色石頭準備在公眾號連載一些機器學習筆試題系列文章,希望能夠對大家有所幫助!
Q1. 關於“迴歸(Regression)”和“相關(Correlation)”,下列說法正確的是?注意:x 是自變數,y 是因變數。
A. 迴歸和相關在 x 和 y 之間都是互為對稱的
B. 迴歸和相關在 x 和 y 之間都是非對稱的
C. 迴歸在 x 和 y 之間是非對稱的,相關在 x 和 y 之間是互為對稱的
D. 迴歸在 x 和 y 之間是對稱的,相關在 x 和 y 之間是非對稱的
答案:C
解析:相關(Correlation)是計算兩個變數的線性相關程度,是對稱的。也就是說,x 與 y 的相關係數和 y 與 x 的相關係數是一樣的,沒有差別。
迴歸(Regression)一般是利用 特徵 x 預測輸出 y,是單向的、非對稱的。
Q2. 僅僅知道變數的均值(Mean)和中值(Median),能計算的到變數的偏斜度(Skewness)嗎?
A. 可以
B. 不可以
答案:B
解析:偏斜度是對統計資料分佈偏斜方向及程度的度量。偏斜度是利用 3 階矩定義的,其計算公式如下:
S_c=\frac{\sum(x_i-\bar x)^3}{m}
其中,n 是樣本數量。統計資料的頻數分佈有的是對稱的,有的是不對稱的,即呈現偏態。在偏態分佈中,當偏斜度為正值時,分佈正偏,即眾數位於算術平均數的左側;當偏斜度為負值時,分佈負偏,即眾數位於算術平均數的右側。
我們可以利用眾數、中位數和算術平均數之間的關係判斷分佈是左偏態還是右偏態,但要度量分佈偏斜的程度,就需要計算偏斜度了。
Q3. 假設有 n 組資料集,每組資料集中,x 的平均值都是 9,x 的方差都是 11,y 的平均值都是 7.50,x 與 y 的相關係數都是 0.816,擬合的線性迴歸方程都是 y = 3.00 + 0.500*x。那麼這 n 組資料集是否一樣?
A. 一樣
B. 不一樣
C. 無法確定
答案:C
解析:這裡需要知道的是 Anscombe’s quartet。1973年,統計學家F.J. Anscombe 構造出了四組奇特的資料。這四組資料中,x 值的平均數都是 9.0,y 值的平均數都是 7.5;x 值的方差都是 10.0,y值的方差都是 3.75;它們的相關度都是 0.816,線性迴歸線都是 y=3+0.5x。單從這些統計數字上看來,四組資料所反映出的實際情況非常相近,而事實上,這四組資料有著天壤之別,如下圖所示:
相應的 Python 程式碼為:
import seaborn as sns
sns.set(style="ticks")
# Load the example dataset for Anscombe's quartet
df = sns.load_dataset("anscombe")
# Show the results of a linear regression within each dataset
sns.lmplot(x="x", y="y", col="dataset", hue="dataset", data=df,
col_wrap=2, ci=None, palette="muted", size=4,
scatter_kws={"s": 50, "alpha": 1})
Q4. 觀察樣本次數如何影響過擬合(多選)?注意:所有情況的引數都保持一致。
A. 觀察次數少,容易發生過擬合
B. 觀察次數少,不容易發生過擬合
C. 觀察次數多,容易發生過擬合
D. 觀察次數多,不容易發生過擬合
答案:AD
解析:如果樣本觀察次數較少,且樣本數量較少,透過提高模型複雜度,例如多項式階數,很容易對所有樣本點都擬合的非常好,造成過擬合。但是,如果觀察次數多,樣本更具有代表性,這時候,即使模型複雜,也不容易發生過擬合,得到的模型能夠較真實地反映真實的資料分佈。
Q5. 假如使用一個較複雜的迴歸模型來擬合樣本資料,使用 Ridge 迴歸,除錯正則化引數 λ,來降低模型複雜度。若 λ 較大時,關於偏差(bias)和方差(variance),下列說法正確的是?
A. 若 λ 較大時,偏差減小,方差減小
B. 若 λ 較大時,偏差減小,方差增大
C. 若 λ 較大時,偏差增大,方差減小
D. 若 λ 較大時,偏差增大,方差增大
答案:C
解析:若 λ 較大時,意味著模型複雜度較低,這時候容易發生欠擬合,對應偏差增大,方差減小。做個簡單總結:
- λ 較小:偏差減小,方差增大,容易發生過擬合<p>
-
λ 較大:偏差增大,方差減小,容易發生欠擬合
Q6. 假如使用一個較複雜的迴歸模型來擬合樣本資料,使用 Ridge 迴歸,除錯正則化引數 λ,來降低模型複雜度。若 λ 較小時,關於偏差(bias)和方差(variance),下列說法正確的是?
A. 若 λ 較小時,偏差減小,方差減小
B. 若 λ 較小時,偏差減小,方差增大
C. 若 λ 較小時,偏差增大,方差減小
D. 若 λ 較小時,偏差增大,方差增大
答案:B
解析:見 Q5。
Q7. 下列關於 Ridge 迴歸,說法正確的是(多選)?
A. 若 λ=0,則等價於一般的線性迴歸
B. 若 λ=0,則不等價於一般的線性迴歸
C. 若 λ=+∞,則得到的權重係數很小,接近於零
D. 若 λ=+∞,則得到的權重係數很大,接近與無窮大
答案:AC
解析:若 λ=0,即沒有正則化項,等價於一般的線性迴歸,可以使用最小二乘法求解係數。若 λ=+∞,正則化項對權重係數的“懲罰”非常大,對應得到的權重係數很小,接近於零。
關於正則化的圖形化解釋,請參考我的這篇文章:
機器學習中 L1 和 L2 正則化的直觀解釋
Q8. 在下面給出的三個殘差圖中,下面哪一個代表了與其他模型相比更差的模型?
注意:
1. 所有的殘差都已經標準化
2. 圖中橫座標是預測值,縱座標是殘差
A. 1
B. 2
C. 3
D. 無法比較
答案:C
解析:預測值與殘差之間不應該存在任何函式關係,若存在函式關係,表明模型擬合的效果並不很好。對應在圖中,若橫座標是預測值,縱座標是殘差,殘差應表現為與預測值無關的隨機分佈。但是,圖 3 中殘差與預測值呈二次函式關係,表明該模型並不理想。
Q9. 下列哪一種方法的係數沒有封閉形式(closed-form)的解?
A. Ridge 迴歸
B. Lasso
C. Ridge 迴歸和 Lasso
D. 以上都不是
答案:B
解析:Ridge 迴歸是一般的線性迴歸再加上 L2 正則項,它具有封閉形式的解,可以基於最小二乘法求解。
J=\frac{1}{2m}\sum_{i=1}^m(y-\hat y)^2+\frac{\lambda}{2m}||w||^2
w=(X^TX+\lambda I)^{-1}X^Ty
Lasso 迴歸是一般的線性迴歸再加上 L1 正則項,L1 正則項使解是非線性的,沒有封閉形式的解。
J=\frac{1}{2m}\sum_{i=1}^m(y-\hat y)^2+\frac{\lambda}{m}|w|
Q10. 觀察如下資料集:
刪除 a,b,c,d 哪個點對擬合迴歸線的影響最大?
A. a
B. b
C. c
D. d
答案:D
解析:線性迴歸對資料中的離群點比較敏感。雖然 c 點也是離群點,但它接近與迴歸線,殘差較小。因此,d 點對擬合迴歸線的影響最大。
Q11. 在一個簡單的線性迴歸模型中(只有一個變數),如果將輸入變數改變一個單位(增加或減少),那麼輸出將改變多少?
A. 一個單位
B. 不變
C. 截距
D. 迴歸模型的尺度因子
答案:D
解析:很簡單,假設線性迴歸模型是:y=a+bx,若 x 改變一個單位,例如 x+1,則 y 改變 b 個單位。b 是迴歸模型的尺度因子。
Q12. 邏輯迴歸將輸出機率限定在 [0,1] 之間。下列哪個函式起到這樣的作用?
A. Sigmoid 函式
B. tanh 函式
C. ReLU 函式
D. Leaky ReLU 函式
答案:A
解析:Sigmoid 函式的表示式和圖形如下所示:
\theta(s)=\frac{1}{1+e^{-s}}
Sigmoid 函式輸出值限定在 [0,1] 之間。
tanh 函式:
a=\frac{e^z-e^{-z}}{e^z+e^{-z}}
ReLU 函式:
a = max(0,z)
Leaky ReLU 函式:
其中,λ 為可變引數,例如 λ=0.01。
Q13. 線性迴歸和邏輯迴歸中,關於損失函式對權重係數的偏導數,下列說法正確的是?
A. 兩者不一樣
B. 兩者一樣
C. 無法確定
答案:B
解析:線性迴歸的損失函式為:
J=\frac{1}{2m}\sum_{i=1}^m(y-\hat y)^2
邏輯迴歸的損失函式為:
J=-\frac{1}{2m}\sum_{i=1}^mylog\hat y+(1-y)log(1-\hat y)
邏輯迴歸輸出層包含了 Sigmoid 非線性函式,其損失函式對 Sigmoid 函式之前的線性輸出 Z 的偏導數與線性迴歸的損失函式對線性輸出 Z 的偏導數一樣,都是:
dZ=\hat Y-Y
具體推導過程比較簡單,此處省略。
dZ 是一樣的,反向求導過程中,對所有權重係數的偏導數表示式都是一樣的。
Q14. 假設使用邏輯迴歸進行 n 多類別分類,使用 One-vs-rest 分類法。下列說法正確的是?
A. 對於 n 類別,需要訓練 n 個模型
B. 對於 n 類別,需要訓練 n-1 個模型
C. 對於 n 類別,只需要訓練 1 個模型
D. 以上說法都不對
答案:A
解析:One-vs-rest 分類法中,假設有 n 個類別,那麼就會建立 n 個二項分類器,每個分類器針對其中一個類別和剩餘類別進行分類。進行預測時,利用這 n個二項分類器進行分類,得到資料屬於當前類的機率,選擇其中機率最大的一個類別作為最終的預測結果。
舉個簡單的例子,3 分類,類別分別是 {-1, 0, 1}。構建 3 個 二分類器:
- -1 與 0,1<p>
-
0 與 -1,1
-
1 與 -1,0
若第 1 個二分類器得到 -1 的機率是 0.7,第 2 個二分類器得到 0 的機率是 0.2,第 3 個二分類器得到 1 的 機率是 0.4,則最終預測的類別是 -1。
Q15. 下圖是兩個不同 β0、β1 對應的邏輯迴歸模型(綠色和黑色):
關於兩個邏輯迴歸模型中的 β0、β1 值,下列說法正確的是?
注意:y= β0+β1*x, β0 是截距,β1 是權重係數。
A. 綠色模型的 β1 比黑色模型的 β1 大
B. 綠色模型的 β1 比黑色模型的 β1 小
C. 兩個模型的 β1 相同
D. 以上說法都不對
答案:B
解析:邏輯迴歸模型最終還要經過 Sigmoid 非線性函式,Sigmoid 是增函式,其圖形與上圖中的黑色模型相近。黑色模型是增函式,說明其 β1>0,綠色模型是減函式,說明其 β1<0。所以,得出結論:綠色模型的 β1 比黑色模型的 β1 小。
參考文獻:
45 questions to test a Data Scientist on Regression (Skill test – Regression Solution)