《Machine Learning:Regression》課程1-3章問題集
課程鏈接:Machine Learning: Regression | Coursera
第一章:Simple Linear Regression1.領域知識在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)