引言
自从下定决心认真学习机器学习理论开始,接触到很多基本问题,但其实都不是很理解,比如损失函数、风险函数、经验结构最小化、结构风险最小化、学习方法的泛化能力、VC维等,这些概念在学习中都纯属空泛的概念存在,我都不理解这些概念存在的意义。
为什么会存在这样的问题呢?我自己想了一下,有几个原因:首先,很多相关的书籍在讲授这些概念的时候,很少说这些为什么会有这样的概念问题,为解决什么问题引入的这些概念;然后,还有一些书,在简单表述了这些概念之后就立马挨个介绍算法了,遇到这样的书也会忽视这些基础问题的存在;最后,当初学者在遇到这些概念的时候,看到很多公式和抽象的表达方式,很容易产生挫败感,进而忽视了这些基础。
但是,我觉得这些问题还是很重要的。为什么这么说呢?原因如下:
1、理解这些问题有助于理解为什么机器可以学习,增强学习具体算法的信心,有助于深入进去;
2、理解这些基本问题并掌握基本的分析方法有助于分析具体学习算法的泛化能力;
举例
![](http://jason-images.qiniudn.com/@/ML/foundation/vc/learning_problem.jpg)
如图所示,输入为x,是一个三维数据,且元素都为布尔值,如果以D来做训练数据&