//李宏毅视频官网:http://speech.ee.ntu.edu.tw/~tlkagk/courses.html 点击此处返回总目录 //邱锡鹏《神经网络与深度学习》官网:https://nndl.github.io 我们上一次讲到,使用不同的model,在testing data上会得到不同的error。而且越复杂的model不一定会得到越低的error。
今天我们要讨论的问题是,error来自什么地方。 其实error有两个来源,一个是"bias",一个是“variance”。了解error的来源是重要的,因为你常常做一下machine learning,做完就得到一个error,接下来你要怎么improve你的model呢。如果没有什么方向,毫无头绪的乱做,你就没有效率。如果你可以诊断你的error的来源,你就可以挑选适当的方法来improve你的model。 ------------------------------------------------------------------------------------------------------------------------------- 上一节的时候,我们要预测宝可梦进化后的CP值,也就说要找一个function,这个function input一只宝可梦,output就是进化后的CP值。这个function理论上有一个最佳的function,我们写成f^。但是这个理论上最佳的function我们是不知道的,只有Niantic是知道的,Niantic就是做宝可梦的公司。f^是我们不知道的,我们能做的事情就是,实际去抓一些宝可梦,根据training data,去学到的最好的function,f*。f*并不会真的等于f^,因为并不知道f^是什么样子,f*可能不等于f^。f*就好像是f^的估测值一样。
就想成,是在打靶。f^是靶的中心,收集到一些data,做training以后,你找到一个你觉得最好的function f*,这个f*不等于f^,它是在靶纸上的另外一个位置。这个f*与f^中间有一段距离,这个距离呢,来自于两件事:它可能来自于bias,也可能来自于variance。 ------------------------------------------------------------------------------------------------------------------------------- bias和variance是什么呢?我们先举一个概率里面的例子,概率与统计学过。 假设有一个变量x,想要估计它的mean,怎么做呢?假设x的mean是,variance是。
要估测怎么做呢?首先sample N个点,再把这N个点算平均值,得到m。
N个点算平均值m会跟一样么?其实不会。 假设红点为的value,现在做一次sample,算出来的m可能不会跟一样。再做一次实验m2,不一样。m3,m4,m5,m6可能都不一样,可能没有办法算出来的m exactly等于。
但是,如果今天把m的期望值算出来的话:
得到的值就是。每一个m虽然都不一定跟exactly一样,但是如果找很多m,他们的期望值呢会正好等于。所以用m来estimate ,是unbiased。就好像是说,在打靶的时候,他的准心呢是瞄准的,但是由于种种,比如机械故障,或者受到风俗干扰等等,你会散落在你本来瞄准的位置的周围。 那散步在周围会散的多开呢?取决于m的variance。
variance的值呢depends on samples的个数。如果N比较多的话,就会比较集中。如果N比较少,就会分散地比较开。
要估测variance,即,怎么办呢。首先计算m,然后计算。
可以拿来估测。这个估测地怎么样呢?每次都不等于,散布在的周围。但是这个估计是有偏的:
即,求期望并等于。而是N-1/N的倍数,所以普遍而言,是比要小的。小的次数比较多。如果increase N的话,估测的差距就会变小。
|
Where does the error come from
版权声明:未经同意,严禁转载 https://blog.csdn.net/pengchengliu/article/details/85223751
猜你喜欢
转载自blog.csdn.net/pengchengliu/article/details/85223751
今日推荐
周排行