《Machine Learning:Regression》課程1-3章問題集

總結下這個課的知識點,以問題形式記錄下來。

課程鏈接:Machine Learning: Regression | Coursera

第一章:Simple Linear Regression

1.領域知識在lR中有什麼用?

feature extraction的時候需要對這個領域的理解。

2.線性回歸的點方程和線方程表示?

3.梯度下降計算loss時是計算所有樣本點的loss還是部分點的loss?

4.什麼是凸函數?

5.可以用梯度=0來解LR嘛?可以解其它ML模型嘛?

6.目前數學界對凸優化和非凸優化的理論大概是什麼程度?

7.當stepsize為constant且較大時,梯度下降會出現什麼問題?

8.當stepsize較小時,梯度下降會出現什麼問題?

9.stepsize可以動態變化以適應下降速度嘛?一般常用什麼公式?

10.梯度下降時converge的條件是什麼?

11.係數w的意義如何解釋?

12.LR的loss function是什麼?RSS是什麼?

13.什麼是high leverage point?它對模型擬合有什麼影響?

14.什麼asymmetric loss function?可能在什麼場景下用到這類loss function?

15.LS/LSE/LMS和MSE有什麼區別?

LSE:Least Square Error

LMS:Least Mean Square

LS: Least Square

MSE: Mean Square Error

LS/LMS/LSE基本上是一個意思。

LS/LSE/LMS is a method that builds a model and MSE is a metric that evaluate your models performances.

第二章:Multiple Linear Regression

1.LR方程用矩陣表示有什麼好處?

2.為什麼LR中要有feature extraction?LR模型沒有充分利用這些信息的能力嘛?

3.有哪些常用的feature extraction方法?

4.什麼是seasonality?如何對seasonality建模?

5.舉一個現實生活中seasonality的例子?

6.如何計算矩陣的梯度?

第三章:Assesing Performance

1.bias和variance的概念?和sampling distribution是什麼關係?

第一種理解:從error的組成的角度,error = noise + bias + variance,那麼bias和variance是指bias/variance of function estimator。

bias是指真實f(x) - f(x)的抽樣分布的期望

variance是指f(x)的抽樣分布下的方差,當variance大時,說明預測結果對樣本很敏感。

第二種理解:是指bias/variance of parameter estimator

bias是指模型參數的抽樣分布的期望等於真實的參數值。

variance是指模型參數的抽樣分布的方差,當variance比較大時,表示模型對樣本很敏感。

一般在說error的組成時,bias/variance是指第一種。

2.bias/variance和model complexity的關係?

model complexity越大,bias越小,variance越大。

3.error的三個來源是什麼?哪兩個來源是我們可控的?

error = noise + bias + variance。後兩者是我們可以tradeoff的。

4.什麼是training error, generalization error, test error,三者的關係是什麼?

training error指模型在training set上的error。

generalization error是指模型在全體數據上的error,因為全體數據未知,所以generalization error並不知道。

test error是為了approximate generalization error,所以test set要對總體比較有代表性才行。

5.選擇training set/testing set的比例的原則是什麼?

training set小了訓練不好參數,testing set小了不能很好approximate generalization error,所以也是tradeoff。

6.generalization error可以計算嗎?

計算不了

7.model的bias/variance可以計算出來嗎?

不知道抽樣分布,所以無法計算。

8.增加樣本可以減少哪種error?當樣本趨於無窮大時,error的極限在哪裡?

可以減少variance,當樣本趨於無窮多時,variance消失,error=bias + noise

9.當樣本趨於無窮多時,training error和generalization error是什麼關係?

二者會相等,且等於bias+noise

10.可以用training error來進行model selection嘛?

不能,應該用validation error。

11.為什麼要引入validation set?

因為在training set/test set形式下,實際上model selection是選擇的test error最小的model,當test set不能很好represent總體時,這樣選出的model效果並不好。

記得說不能在training set上進行model selection,是因為training set不能即用於training,又用於model select(在training set上過擬合)。而這一點對於test set也一樣,test set不能即用於model select,又用於model assesement(在test set上過擬合,會讓我們對於model的真實性能過於樂觀)。

我們把這個流程梳理下,即model training -> model select -> model assessment。

對應這個流程的數據集為 training set -> validation set -> test set。

即選擇的model為在validation set上表現最好的model,然後用test set來approximate該model在總體上的真實error。所以在training set/validation set/test set框架下,我們不會對預測效果過於樂觀。

12.如何確定training set/validation set/test set的比例?

沒有統一的規則,一般常用的有80/10/10(數據量少),50//25/25(數據量多)。

13.如果Model A的feature是Model B的feature的嚴格子集,通常哪個model的表現會更好?為什麼?

通常B的表現更好,因為更多的feature可以減少error中的noise。另外更多的feature可以增加模型複雜度,減少bias。

14.當數據量較少時,可以只有training set/test set嘛?

不行。trainig set/test set這樣是MUST NOT USE的。可以用cross validation。

15.可以在用training set/validation set/test set選擇好模型後,用這個模型在整個data set上訓練,以獲得更好的模型嘛?

貌似不行,因為你怎麼準確知道這個模型是更好的呢?沒有了test set怎麼知道這個模型真的好呢。用validation set貌似行,靠靠說cross-validation就是用全部data來train。
推薦閱讀:

譯文 | 與TensorFlow的第一次接觸第二篇:線性回歸
[R]線性回歸
機器學習筆記9 —— 過擬合和正則化
10分鐘快速入門PyTorch (1)

TAG:机器学习 | 线性回归 |