机器学习概论

在一组数据集中检索特定的模式问题是一个很基础,且历史很长的并取得了很大成功的问题。例如,16世纪在Tycho Brahe兴起的天文热中,开普勒(Johannes Kepler)发现了星球运动的实际规律,这些发现最终导致了经典力学的发展。类似的,原子光谱规律的发现,对于20世纪早起的量子物理学的发展和确定起到了关键的作用。模式识别的研究领域集中在通过计算法程序算法从数据集中自动的发现数据的规律,通过这些的数据规律进行一些活动,比如把数据集分为不同的类别。
考虑一个识别手写体数字问题。每一个数字对应一个28*28像素的图片,因此可以用一个由784个实数的向量x表示。我们的目标位构建一个机器,这个机器有上面的向量x作为输入,以识别出来的数字0,1...9作为输出。因为手写体的复杂多变,这并不是一个简答的问题。上述的手写体数字识别问题可以通过人工的规则或者是启发式规则来建立一个基于笔迹形状数字识别系统。但是在实际应用中,这种方法会导致规则的急剧增加和例外的规则等问题,最后的结果会很糟糕的。
为了取得更好的识别效果,可以通过一种机器学习的方法,在机器学习中一个大的有N个数字{x1,x2,...,xn}组成的集合成为训练集,训练集用于建立一种自适应模型(an adaptive model)的参数。训练集中的数字分类是已知的,典型的做法是对这些数字进行单独的检查和手工标记建立分类集合。我们可以用目标向量t表示数字的分类,t表示相应的数字识别结果。以后会讲到更加适合表示term分类的向量。注意,对于每一个数字图片x只有一个目标向量v与之对应。
这种机器学习算法的结果可以用公式y(x)来表示,输入一个新的数字图片x,生成一个向量y,和目标向量t用同样的编码方式。函数y(x)的精确的表示形式在训练阶段确立,也成为学习阶段。一旦模型训练好了,那么可以用到新的数字图像识别问题上,这些新的数字图片集合也可以成为测试集。能够正确分类新的样本的能力称为“生成(generalization)”。在实际的应用中,输入向量的变动性是训练集上的所有的输入向量的一小部分。因此,“生成(generalization)”是模式识别的中心目标。
在多数实际的应用中,原始的输入变量经常会被通过预处理转换成一些期望的新的变量空间(new space of variables),转化后的变量对于模式识别问题的处理会变得简单些。比如,对于数字识别问题,包含数字的图片会经常被旋转和缩放,每个数字包含在一个大小固定的框里。通过转换后,所有数字的位置和大小都相同,这会是模式识别算法在分别不同的类别上变得容易些。这种预处理阶段也称为“特征提取”。注意,在新的测试数据中,也必须经过同样的预处理阶段。
预处理也可以用来提高计算速度。假如在一个高清晰的视频流中进行实时的面部识别,计算机在每秒都要处理大量的数字像素数据,加入采用了复杂的模式识别算法会导致在计算上不可能实现。相反,我们的目的是找出有用的特征,以便加快计算。因此,有用的判别信息使得面部和非面部区分开来。这些特征用到模式识别的输入中。例如,这些图片的密度平均值超过了一个矩型子区域会被认为是很有效的(Viola and Jones, 2004)。像这样的一些特征集在快速面部识别中被证明为很有效的。因为,这些特征的数量小于像素的数量,这种预处理体现了一种降维的形式。在预处理中要格外小心,因为通常的信息会被丢弃,如果这些信息对于问题的解决是很重要的话,那么整个系统的精度会受到影响。
在一些应用中,训练数据包括输入向量(input vector)及相应的目标向量(target vectors),这些应用称为监督学习问题(supervised learning problems)。像数字识别的例子中,目的为每一个输入向量分配有限数量的离散的类别,称为分类问题(classification problems)。如果期望的输出由一个或者多个连续变量组成,那么这称为回归(regression)。一种回归的问题是预测一种化学品制造工艺的产量,输入的数据是连续的反应物的浓度,温度,压力。
在其他的模式识别问题中,训练数据由一些列的输入向量x集合组成,没有相应的目标值作为输出。这种问题称为无监督学习问题(unsupervised learning problems),无监督学习问题通过在数据集中发现不同类别的相似样本,也称为聚类(clustering),或者是决定输入数据数据的分布,称为密度估计(density estimation)。或者是把数据从高维空间降维到2或者3维空间,以便可视化(visualization)。
最后,强化学习(reinforcement learning, Sutton and Barto, 1998)技术是用来解决在给定条件下为了取得最大的回报而采取的行动问题。在这里,学习算法没有给定最佳输出例子,这与监督学习相反,而应该通过试错过程(a process of trial and error)处理来发现他们。典型的情况是,有一系列的状态和动作(states and actions)的序列,学习算法是与环境的相互作用。在很多情况下,当前的动作不仅影响到立即的动作结果(the immediate reward),而且还影响到所有后续时间步骤的结果。例如,通过使用强化学习技术,一个神经网络可以学习到the game of backgammon游戏的高级别。这里神经网络必须学习基本问题的原始输入,以及一个筛子跑出的结果,生成一个强有力的移动作为输出。通过与自身的副本玩上上百万次的游戏,就学习完成了。十五子棋中最大的挑战是他包含了数十个移动操作,只有到了游戏结束,才会得到奖励。这种奖励可以适当归因于导致他所移动的步骤,虽然有些动作是好的,也由不好的。这就是信用分配问题(credit assignment)。强化学习的一个普遍特征是,探索之间的权衡问题(the trade-off between exploration),其中,系统试验不同的行为来证明他们的有效性。在探索中,系统使用的行为是已知的可以取得最大收益的动作。过于关注在开发或者是利用上,会导致糟糕的结果。增强学习的连续性是机器学习中活跃的研究领域。
尽管,这些工作都需要自己相应的工具和技术,但是他们之间的很多关键基础思想是相同的。

你可能感兴趣的:(游戏,算法,vector,classification,Visualization,variables)