【ML】 李宏毅机器学习一:error
机器学习:error
Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度。Variance反映的是模型每一次输出结果与模型输出期望值之间的误差,即模型的稳定性
1.Where does the error come from?
error有两种来源,分别是bias和variance,诊断error的来源,可以挑选适当的方法improve model。
以进化前的宝可梦为输入,以进化后的真实CP值为输出,真实的函数记为。(在上帝视角才能知道)
从训练数据,我们找到 , 是对的一个估计。
2.有哪些特性?
-
简单模型,variance小。复杂模型,variance大
简单模型,bias大。复杂模型,bias小
-
在underfitting的情况下,error大部分来自bias。
在overfitting的情况下,error大部分来自variance。
-
如果model连训练样本都fit得不好,那就是underfitting, bias大
如果model可以fit训练样本,但是testing error大,那就是overfitting, variance大
3.解决方法?
- For bias, redesign your model:
- Add more features as input(如考虑CP,HP,物种)
- A more complex model(考虑二次,三次)
- What to do with large variance?
- More data(增加examples)
- Regularization(正规化):regularization希望曲线平滑,但它可能伤害bias
4.Model Selection
不应该这样做:
因为这样做,在public testing set上的error rate,并不代表在private testing set上的error rate。
应该这样做:
将training set分成training set 和 validation set,在training set上训练model 1-3,选择在validation set 上error rate最小的model。如果嫌training set中data少的话,可以在确定model后在全部training data上再train一遍该model。
这样做,在public testing set上的error rate才会代表在private testing set上的error rate。不能用public testing set去调整model。
将training set分成N折,每次只有一折作为validation set,其它折作为training set,在各model中选择N次训练得到的N个validation error rate的均值最小的model。