李宏毅机器学习笔记(二)

Where does the error come from
李宏毅机器学习笔记(二)

我们要根据training data来求得一个预测函数f 用这个函数来预测宝可梦进化后的cp值。 我们知道,理论上,会有这个函数f存在的,不过这个函数f只有宝可梦公司自己知道,我们是不知道的,我们只能根据training data 求的函数f只是对于f的一个估计。我们举个打靶的例子,理论上的函数f就是我们靶子的靶心,而我们所求出的函数f是打在这个靶子上的一个点,这个点离靶心f*有一段距离,这个距离就是误差,这个误差可能是由bias或variance造成。

李宏毅机器学习笔记(二)
李宏毅机器学习笔记(二)
李宏毅机器学习笔记(二)

李宏毅机器学习笔记(二)

以打靶为例,介绍Bias 和 variance的四种情况:(1)High Bias、 High variance (2)High Bias、 low variance
(3)low Bias 、 High variance (4)low Bias、 low variance
我们以第一种情况(High Bias、 High variance)位列,这种情况对应上图的第四个靶, 靶心为理论上的函数f*,
靶上打了很多的点,每个点都对应一个函数f(每个函数由同样的模型不同的training data训练获得),这些函数f与靶心有一段很远的距离,这个距离是由两个因素造成的
(1)High Bias:这些函数f的平均值f- 就在这些点的*,是与靶心f有一段距离的,也就是说,你其实并不是瞄着靶心打的,开始瞄就瞄歪了(按f-的位置来瞄的),所以与f的远距离是High Bias造成的
(2)High variance:你打靶时是瞄着平均值f-的位置打靶,最后你实际在靶子打的点离你所瞄的并不是一个位置,而是散落在f-的周围,这就是High variance造成的
(3)我们最理想的情况是上图第一个靶子上打靶的情况:low Bias、 low variance 。

李宏毅机器学习笔记(二)

对于简单的model,它的Bias大,但它的variance小,对于复杂的model来说情况正好相反,它的Bias小,而它的variance大。这是为什么呢?其实是因为简单的model相比复杂的model来说,受到sampled data 的影响更小。比如举个极端的例子 f(x) = c 这个model只有一个常数项c,非常简单,所以不管它sampled data如何,都是一模一样的,所以简单model的variance的值更小

李宏毅机器学习笔记(二)

对于Bias来说,简单model,Bias大;复杂model,Bias小。这是为什么呢?李宏毅老师这样直观的解释:因为简单model它的function set 的space小,可能你的靶心(target)并不在它的function space里,所以它老是瞄不准,所训练的函数f离靶心都很远,Bias大;而复杂的model 拥有更大的function space,将靶心(target)包含进去了,所以能瞄准靶心,但正是由于function space也更大了,所以导致不同training data训练出的函数f之间也分散很开,但它们总体的期望函数是在靶心附近的。

Bias and variance
李宏毅机器学习笔记(二)
李宏毅机器学习笔记(二)
李宏毅机器学习笔记(二)
李宏毅机器学习笔记(二)