图13 程序训练数据
识别手写字符(本例中为数字)的机器学习程序训练数据,训练目标是这个程序能够自动识别手写数字。
刚才描述的这种机器学习类型被称为监督式学习,它有一个至关重要的要点:机器学习需要数据,大量的数据。事实上,正如我们即将看到的,提供精心制作的训练数据集合对机器学习的成功至关重要。
我们训练程序进行机器学习时,必须仔细设计训练数据集合。首先,我们通常只会使用一小部分可能的输入和输出来训练程序,在手写数字识别示例中,我们不可能向程序展示所有可能存在的手写字符,那根本不现实。再说了,如果我们可以向程序展示所有可能的输入集,那么就根本不需要机器来学习什么了:机器只需要记住每一个输入对应的输出就行了。无论何时对它进行输入,它只需要查找相应的输出即可——这不算机器学习。因此,一个程序必须只能使用可能存在的输入输出集合的一小部分进行训练,但是如果训练数据量太小,那么程序没有足够的信息来学会人们所期望的输入到输出的映射。