前面打了一坨字。。。。。被網頁搞掉了,傷心ing
我就撿重要的說。。。。傷心ing
1.corss validation(交叉驗證)和test(驗證)的區別,因爲andrew的視頻裏講的有些模糊,後來baidu了一些資料加深了理解。cross validation比較好的方法是k-折交叉驗證:將訓練樣本集隨機地分成k個互不相交的子集,每個折的大小大致相等。利用k-1個訓練子集,對給定的一組參數建立迴歸模型,利用剩下的最後一個子集的MSE評估參數的性能。根據以上過程重複K次,因此每個子集都有機會進行測試,根據k次迭代後得到的MSE平均值來估計期望泛化誤差,最後選擇一組最優的參數。test就比較單純。有一個說法是cv是與假設相關的,test是不相關的。
2.bias和variance的區別,這個要說清楚不大可能,但是你可以很容易地區別它,high bias就是說選擇的假設模型離真實假設太遠,high variance就是假設過於複雜。high bias容易欠擬合,high variance容易過度擬合。下面是解決兩種情況的一些方法彙總
兩個圖說明二者區別:(high bias)
(high variance)
3.error analysis:(不一定都有用)
4.error metrics:用來應對這種情況:某種樣例概率很低(比如患癌症),不到0.1%,那麼算法判斷所有人不患癌症,他的準確度也極高。error metrics就是用來應對這種情況的。
首先是幾個定義:對於一個假設,可以得到下面一個矩陣:
For reference:
- Accuracy = (true positives + true negatives) / (total examples)
- Precision = (true positives) / (true positives + false positives)
- Recall = (true positives) / (true positives + false negatives)
F1 score = (2 * precision * recall) / (precision + recall)
5.最後是自己學習的部分,andrew的open class裏沒有講遺傳算法相關的東西,所以需要自己以後學習。新借到的一本書還不錯,大概學了一些啓發搜索,比較有意思的是模擬退火,挺有意思的。加油!