前言
日常生活中,我们是如何认识物体的?比如我们面前的方桌,你是如何根据它的形状、颜色、体积等特征而得到它的“名字”的。这里提到的形状、颜色、体积被称为桌子的特征。
如果对于一个没有见过桌子的孩子(比如说西双版纳丛林里的野人)是不知道这是方桌的。那是因为从小没人告诉他这是“方桌”。这个“告诉”的过程,在机器学习中,称为“训练(training)”。
回想一下我们对桌子的认识过程,大体如下:
1,不断的有人告诉我们,前面这玩意儿是方桌。
2,我们的大脑根据他人话语(这是方桌)的输入,归纳出方桌的特征。
3,遇到一个新的物体,我们的大脑用方桌的特征去匹配。匹配上了,就认为是方桌;没匹配上,就说(输出)不知道。
机器学习的步骤,与上述过程是类似的。不过大多时候不需要专门的提取特征,这是因为特征已经提取好了,或者直接把原数据当做特征。
输入类别号已知的数据-->训练模型(主要是确定参数)-->根据已确定的模型,对新数据进行判断。
前面格局已知数据训练模型的过程,称为训练过程,后面用已知模型对新数据进行判定的过程,称为测试过程。
我们首先面对的问题,其实是测试问题。即已知样本的特征$x$(颜色、形状、体积等),需要确定样本的分类$omega$(是否是方桌)。可描述求不是方桌的概率$p(omega=0 | x)$和是方桌的概率$p(omega=1 | x)$。如果$p(omega=1 | x)$比$p(omega=0 | x)$大,则判定为方桌,否则判定为不是。
直接给定一个$x$,比如$x$={颜色=黄色, 形状=矩形, 体积=0.5$m^3$}是无法做出判断的。根据前面的分析,我们还需要缺少两样东西。
第一样就是模型,类似于大脑。到底用哪个确定的模型(大脑),你得先告诉我。
第二样就是训练,你得把模型的参数确定了。也就是你得让这大脑里,明确地知道,在什么数据范围内的物体是方桌。
所谓模型,也就是$p(.)$的表达式。为了方便,我们假设所有方桌的长是服从正态分布的。也就是,方桌的长度是在某个特定的“长度”值周围波动,没有太长的桌子,也没有太短的桌子。
(未完待续)