上节课讲到,越复杂的medel不一定有越小的误差,这节课将学习误差。
1.误差来自于bias和variance
取期望来估测,这样的估测是unbiased的,N越大,估测值越靠近实际值。
2.以射击为例,bias是瞄准目标时引起的误差,variance是射击时引起的误差。
(1)Varience :在100个不同的平行宇宙中抓宝可梦进行分析,用比较简单的model所得的variance就比较小,反而比较复杂的model散布得比较大,因为前者受data的影响小。
(2)Bias:把所有f*取平均值,并假设f head,图中黑色的曲线是真正的f,红色的曲线是5000条f head,蓝色的是5000条f head的平均值,比较简单的model有比较大的bias,比较复杂的model有比较小的bias ,这是因为我们的model是一个function set,越简单的model可能都没有包含我们的target,而越复杂的model的function set越大,每次的training data都不一样,平均起来就越接近target。
3.所以越简单的model的bias越大,variance越小,越复杂的model的bias越小,variance越大。
图中蓝色的先是同时考虑bias和variance,如果error来自于variance很大,则这种情形就是overfitting,反之是underfitting。
那么如何知道什么是bias大还是variance大呢?
如果model不能够与training data拟合,那么说明bias很大;如果model能和training data拟合,但testing data 的error很大,那么说明variance很大。
4.需要重新设计model,对应bias大和variance大的重新设计方法不同,其中regularization需要设计合适的rate。
5.Cross Validation:以老师所讲的作业为例,public training set所反映的error并不是真正的error,需要将training set分为training error和validation set,可以反应在private testing set上的真正的error,也可以分为N-fold,算出对应model set的error,再反映到testing set上。
李宏毅机器学习笔记Day3——误差
最新推荐文章于 2024-07-10 16:08:35 发布