机器学习是一种从数据当中发现复杂规律,并且利用规律对未来时刻、未知状况进行预测和判定的方法,是当下被认为最有可能实现人工智能的方法之一。
所有数据的集合称为数据集(dataset),其中每条记录是关于一个事件或对象的描述,称为样本(sample)。每个样本在某方面的表现或性质称为属性(attribute)或特征(feature)。每个样本的特征通常对应特征空间中的一个坐标向量,称为特征向量(feature vector)。
从数据中学得模型的过程称为学习(learning)或训练(training),这个过程通常通过执行某个学习算法来完成。训练过程中使用的数据称为训练数据(training data),每个样本称为一个训练样本(training sample),训练样本组成的集合称为训练集。训练数据中可能会指出训练结果的信息称为标记(lable)。
若使用计算机学习的模型进行预测得到的是离散值,如猫、狗等动物,则此类学习任务称为分类(classification)任务;若得到的是连续值,如房价,此类学习任务称为回归(regression)任务。
对只涉及两个类别的分类任务,称为二分类(binary classification),其中一个类为正类(positive class),另一类为负类(negative class)。涉及多个类别的分类任务,称为多分类(multi-class classification)任务。
学习到模型后,使用其进行预测的过程称为测试(test)。学习到的模型适用于新样本的能力,称泛化能力(generalization)。
根据学习方式的不同,机器学习可分为监督学习、非监督学习、半监督学习和强化学习。
(1)监督学习在建立预测模型的过程中将预测结果与训练数据的实际结果进行比较,不断地调整预测模型,直到模型的预测结果达到一个预期的准确率。分类和回归任务属于监督学习。决策树、贝叶斯模型、支持向量机属于监督学习。
(2)非监督学习任务中,数据不被特别标识,计算机自行学习分析数据内部的规律、特征等,进而得出一定的结果。聚类算法是典型的非监督学习算法。
(3)半监督学习介于监督学习和非监督学习之间,输入数据部分被标识,部分没有被标识,且未被标识的数据的数量常常远大于有标识数据的数量。半监督学习可行的原因在于:数据的分布必然不是完全随机的,通过一些有标识数据的局部特征,以及更多没有标识数据的整体分布,就可以得到可以接受甚至是非常好的结果。
(4)强化学习是不同于监督学习和非监督学习的另一种机器学习方法,它是基于与环境的交互进行学习的。通过尝试来发现各种动作产生的结果,对各动作产生的结果进行反馈(奖励或惩罚)。