【李宏毅-机器学习笔记二】分析error的来源

机器学习三分析error的来源

当improve一个function的时候,你首先应该分析error的来源
error有两个来源:bias 和 variance

怎么判别error是bias引起的还是variance引起的呢?
1.当你找出的best function 在训练集里面的error非常小,但是在测试集上面的error非常大。那么就是variance引起的问题。就是overfitting
2.当你的beat function 在训练集里面的error很大,那么就是bias引起的问题。就是underfitting

什么是bias引起的错误呢?
就是说你选取的 best function 和 真正数据存在的function head 的偏差很大。
比如说你去打靶,function head 是靶心 而你找出的best function 是打的点。偏差很大就是 你打的点和靶心相差非常远。

什么是variance引起的错误呢?
就是说当你找到一个best function后训练集的数据和你找的function得到的结果相差很大。

【李宏毅-机器学习笔记二】分析error的来源

怎么解决呢?

**如果是variance引起的问题:**说明你的设置function的方向思路是没有问题的。
1.需要增大数据集,去继续训练你的function
如果找不到更多的数据,就可以根据问题的实际情况去自己构造数据
2. regularizion:使用regularizaion方法使得loss function更加平滑,这样得到的function会更接近于真实的function head。

如果是bias引起的问题:你增加再多的数据量都是徒劳的,因为你的方向就是有问题的。
1.重新修改你的function,考虑你的function的参数,是不是还有一些可能影响function的事件的属性没有考虑全面。
2.建一个更加复杂的function,比如原来是是一次,就可以改成二次,三次或者四次的function

当error分析好了下面就是怎么样select function了