首 页 | 博 客 | 试读下载 | 读者反馈 | 在校学生特惠申请 | QQ群: 308861655

理解--偏差[bias]--的关键是什么?

bias
variance

#1

理解variance和bias的其中一个关键是,虽然它们公共构成估计的均方差,但是它们是两种不同类型的误差,方差反映的是局部样本与期望的差异,而偏差是整个估计与期望的差异,因此方差是与样本数量有关的,而偏差则不是,偏差是整个估计(而不是样本)的特性,但是在一些渐进式方法中,偏差会逐渐减小,这是因为估计在发生变化。

通过这种局部样本与系统性估计的比较可以发现,对于蒙特卡洛方法,只要样本能够覆盖到被积函数的所有定义域,基本上就是无偏的,因为随着时间积累,它总能计算到所有值,例如路径追踪就是这样;但是如果因为采用函数的限制,使得被积函数的某些定义域始终无法被采样,这样通常就是导致偏差,除非巧合!

对于blurring,由于方差是反映局部特征,因为我们通常希望改善局部误差,例如虽然路径追踪无限时间下是完全正确的,但是我们希望在收敛的过程中,让方差尽可能地小,比如在较早的时间能够看到更全面的结果,这时候就可以对收敛的过程使用模糊,模糊相当于消除了高频值,这也就间接消除了某些样本,即是说这些样本相当于没有被采样到,因此模糊就导致了偏差。

分析光子映射(photon mapping),它其实就是用偏差换方差,但是由于它的平滑函数的半径逐渐减小,因此整个估计在改变,也就是估计的偏差在减小,因此虽然光子映射是有偏算法,但是它是满足一致性的,即在无穷时间下收敛到正确值;

adaptive sampling通常都是分析已有样本的方差,然后对其进行模糊,使总的均方差更小,进而用这个均方差指定适应性采样。

一些比较好的资料:
https://labs.chaosgroup.com/index.php/rendering-rd/the-truth-about-unbiased-rendering/
2015 Overview of biased light transport and light source minimization techniques
2013 Five Common Misconceptions about Bias in Light Transport Simulation
2006 Bias in Rendering


#2

秦老师能不能结合一下Machine Learning中这两个概念的含义再探讨一些呢?


#3

机器学习我目前并没有深入学习所有也不太了解呢,一方面我对机器学习不太感兴趣,另一方面目前没有多少时间去深入学习!

但是从数学概念上讲,偏差的概念是一致的,所以如果你觉得将偏差的概念放到ML中会有一些困难,那么肯定是对它的基本概念还有不清楚的地方。

机器学习和渲染的有些概念是相似的,虽然它们的目标不同:渲染是使用足够多的样本拟合出尽可能真实的被积函数,而机器学习是使用较少的样本预测出原本需要更多的样本才能拟合出的可能最好的结果,在拟合被积函数的过程中,机器学习比渲染多的一个步骤就是分析已有样本的均方差分布,进而改善后续样本分布,使拟合尽可能快和准确,这和渲染中适应性采样(adaptive sampling)的目标是一致的。

两者都是事先很难知道被积函数的形式,所以需要进行调整,而调整的依据就是均方差,均方差(MSE=mean squared error)=方差(variance)+偏差(bias)的平方,对于一个已知估计,它的偏差是固定的,因为偏差是估计的系统性误差,所以要使均方差最小,只有减小方差,传统的方法就是对样本进行模糊(blurring),因为模糊能够消除高频样本,这是方差较大的来源,但是模糊增加了偏差(参见前面的说明),所以你需要在方差减小和偏差增大之间寻找一个平衡点,使得总的均方差最小,从而以此为依据来调整新的估计。

这些其实都是从数学上可以分析的,并不太特定于机器学习或者渲染,学习的时候要注重基础原理,而不是上层运用(例如渲染或机器学习),这样学习效果就会更好些!


#4

学习了!
感谢分享!


#5

学习了,谢谢秦老师!
但是要指出一个错误。
MSE应当是bias的平方加上variance


#6

:slightly_frowning_face: 对,感谢指正!