为什么要学习贝叶斯深度学习?
- 它是一个模型构建和理解泛化的强大框架
- 不确定性表示(对决策至关重要)
- 更好的点估计
- 从概率论的角度来看,神经网络不那么神秘。
缺点
可以在计算上难以处理(但不一定是)
可能涉及很多运动部件(但不必)。
我们如何构建学习和概括的模型?
概率方法
我们可以在模型中明确说明噪音。
对于i.i.d,通常需要ε(x)= N(0;σ2)。 加性高斯噪声,在这种情况下
最大化数据p(y | x,w,σ2)相对于σ2,w的可能性。
对于高斯噪声模型,此方法将使用与使用平方损失误差函数相同的预测:
- 概率方法有助于我们在确定性方法中解释误差测量,并让我们了解噪声水平σ2。
- 这两种方法都容易过度拟合灵活的f(x,w):训练数据的误差很小,测试集上的误差很大。
Regularization
使用惩罚对数似然(或误差函数),例如
- 但是,我们应该如何定义和惩罚复杂性?
- 我可以使用交叉验证设置λ。
- 与使用高斯先验p(w)最大化后验log p(w | y,X)= log p(y | w,X)+ p(w)相同。 但这不是贝叶斯!
Predictive Distribution
- 将w的每个设置视为不同的模型。 方程(9)是贝叶斯模型平均值,是由其后验概率加权的无限多个模型的平均值。
- 没有过度拟合,自动校准的复杂性。
- 方程(9)不是对许多可能性p(y | X,w,σ2)和先验p(w)进行分析。
(但最近的进展,例如SG-HMC,使得这些计算在深度学习中更容易处理)。 - 通常对函数的诱导分布比对参数w更感兴趣。 在p(w)上很难对先验者有直觉。
Example: Bent Coin示例:弯曲硬币
假设我们以落地尾部的概率λ翻转弯曲的硬币。
1. What is the likelihood of a set of data D = {x1,x2,,,, xn}
2.λ的最大似然解是什么?
3.假设我们在前两次翻转中观察到2个尾巴。
使用最大似然值,下一次翻转的概率是多少?
得到m尾的可能性是
如果我们选择先验的,那么后验将具有与先前相同的函数形式。