week 4 ridge regression
coursera 上的 華盛頓大學 machine learning: regression 第四周筆記
?
通常, 過擬合的一個表現是擬合模型的參數很大。
為了防止過擬合
Total cost = measure of fit + measure of magnitude of coefficients
前者描述訓練集擬合程度,后者評估回歸模型系數大小,小則不會過擬合。
?
評估訓練集擬合程度( measure of fit ):
RSS(w) 越小,擬合程度越好。
?
評估回歸模型系數(measure of magnitude of coefficients):
(1)系數絕對值之和 |w|, L1范數
(2)系數平方和 ||w||2,L2范數?
?
嶺回歸:計算回歸系數時使( RSS(w)+λ||w||2 )最小
其中λ為平衡訓練集擬合程度 和 擬合系數大小 的調整參數。
?
在λ的選擇上體現了 bias-variance tradeoff:
對于大的λ:high bias, low variance
對于小的λ:low bias, high variance
?
如何確定 λ 大小?
理想條件下(數據集足夠大):
????????
?
training set: 訓練集用于擬合回歸模型
validation set: 檢測系數大小,用于確定λ
test set: 測試集,計算泛化誤差(generalization error)
實際情況下,數據集有限,常用方法有:
K - fold cross validation
步驟:
對于每一個需要評估的 λ:
將數據集分為training set 和 test set;
將其中training set 打亂順序(隨機排序),分成 k 等分。
k 次循環,每次將k等份中其中一份作為 validation set, 剩下部分作為 training set
每次根據validation set 計算 error (λ), 結果為k次計算的平均值。
average (error (λ))最小的為最合適的λ
?
?
梯度下降法求回歸系數:
total cost = RSS(w)+λ||w||2
Cost(w)= SUM[ (prediction - output)^2 ]+ l2_penalty*(w[0]^2 + w[1]^2 + ... + w[k]^2).求導:
derivative = 2*SUM[ error*[feature_i] ] + 2*l2_penalty*w[i].(其中沒有2*l2_penalty*w[0]這一項)
每次迭代:
predictions = predict_output(feature_matrix, weights)errors = predictions - outputfor i in xrange(len(weights)): feature = feature_matrix[:, i]derivative = compute_derivative_ridge(errors, feature, weights[i], l2_penalty)
weights[i] = weights[i] - step_size * derivative
?
轉載于:https://www.cnblogs.com/smartweed/p/8486059.html
總結
以上是生活随笔為你收集整理的week 4 ridge regression的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive 调优(一)coding调优
- 下一篇: anaconda应答文件