❶ 给出问题,一问是否可解,二是如何解?频率学派和贝叶斯学派都在讲如何解,即回答问题二。那是否可解,但往往不是非此即彼,更多的问法,是在投入计算资源之前,先评估一下机器学习能够学到说明什么程度?(就如软件工程中可行性分析)
答:所以,有了“计算学习理论”来回答这个问题。
❷ 那时什么是“计算学习理论”呢?从一个例子入手,5个三维(0/1)输出,预测3个数据,用机器学习训练,发现,“不管生成机制到底如何,训练数据都没有给出足以决定最优假设的信息。” 那机器学习在学习什么呢?
答:“概率”,不能给出最优解,可以给出近似解啊!
❸ 第二个例子:“红球与白球”,既然用“概率”工具,那么用 ν 来近似 μ 有多高的精确度呢?有没有理论支撑?
答:可以用“Hoeffding不等式”回答,“Hoeffding不等式”描述了训练误差和泛化误差之间的近似关系。
训练误差是模型在训练集上的误差,泛化误差是用来衡量模型的泛化性。
结论是总会存在一个足够大的样本容量 N 使两者近似相等,这时就可以根据模型的训练误差来推导其泛化误差,从而获得关于真实情况的一些信息。
❹ 现在有了“概率”工具,说明问题的可学习性,那需要多少训练数据才能达到给定的准确度参数和置信参数呢?
答:我们可以用“样本复杂度”(sample complexity)来表示。所有假设空间有限的问题都是“概率近似正确”PAC 可学习的,其样本复杂度有固定的下界,输出假设的泛化误差会随着样本数目的增加以一定速度收敛到0。
❺ 有限空间有了,那如何判断具有无限假设空间的问题是否是 PAC 可学习的呢?
答:用“VC维”:对无限假设空间复杂度的一种度量方式。任何 VC 维有限的假设空间都是 PAC 可学习的。由于 VC 维并不依赖于数据分布的先验信息,因此它得到的结果是个松散的误差界(error bound),这个误差界适用于任意分布的数据。
❻ “松散的误差界”?是不是可用性较差?不能加入数据分布的先验信息呢?
答:所以有了“Rademacher 复杂度”。在已知的数据分布下,Rademacher 复杂度既可以表示函数空间的复杂度,也可以用来计算泛化误差界
❼ 学习理论的研究对解决实际问题到底具有什么样的指导意义呢?
答:举一个例子:神经网络的VC维相对较高,因而它的表达能力非常强,可以用来处理任何复杂的分类问题。要充分训练该神经网络,所需样本量为10倍的VC维。如此大的训练数据量,是不可能达到的。所以在20世纪,复杂神经网络模型在out of sample的表现不是很好,容易overfit。但现在为什么深度学习的表现越来越好?
其中一条是:通过修改神经网络模型的结构,以及提出新的regularization方法,使得神经网络模型的VC维相对减小了。例如卷积神经网络,通过修改模型结构(局部感受野和权值共享),减少了参数个数,降低了VC维。2012年的AlexNet,8层网络,参数个数只有60M;而2014年的GoogLeNet,22层网络,参数个数只有7M。再例如dropout,drop connect,denosing等regularization方法的提出,也一定程度上增加了神经网络的泛化能力。 —— 例子参考《VC维的来龙去脉》