1.2 关键术语与任务类型
机器学习的官方定义为:系统通过计算手段利用经验来改善自身性能的过程。更具体的说法是,机器学习是一门通过分析和计算数据来归纳出数据中普遍规律的学科。
要进行机器学习,最关键的是要有数据。我们根据丁师傅的经验,记录和收集了几条关于烹饪的数据,这些数据的集合称为数据集(data set),如表1-1所示。
表1-1 烹饪数据集示例
我们把数据集中的一条记录(即烹饪过程中各种影响因素和结果的组合)叫作样本(sample)或者实例(instance)。影响烹饪结果的各种因素,如“食材新鲜度”和“火候”等,称为特征(feature)或者属性(attribute)。样本的数量叫作数据量(data size),特征的数量叫作特征维度(feature dimension)。
对于实际的机器学习任务,我们需要将整个数据集划分为训练集(train set)和测试集(test set),其中前者用于训练机器学习模型,而后者用于验证模型在未知数据上的效果。假设我们要预测的目标变量是离散值,如本例中的“菜肴评价”,分为“好”“差”和“中等”,那么该机器学习任务就是一个分类(classification)问题。但如果我们想要对烹饪出来的菜肴进行量化评分,比如表1-1的数据,第一条我们评为5分,第二条我们评为8分等,这种预测目标为连续值的任务称为回归(regression)问题。
分类和回归问题可以统称为监督学习(supervised learning)问题。但当收集的数据没有具体的标签时,我们也可以仅根据输入特征来对数据进行聚类(clustering)。聚类分析可以对数据进行潜在的概念划分,自动将上述烹饪数据划分为“好菜品”和“一般菜品”。这种无标签情形下的机器学习称为无监督学习(unsupervised learning)。监督学习和无监督学习共同构建起了机器学习的内容框架。