用作者的话说,本书的主要目的就是为读者提供一张“初级地形图“,给初学者指路。故西瓜书的第一章主要介绍何为机器学习、机器学习相关基础概念、发展历程以及应用现状,力求使读者能够一窥机器学习全貌。
一、何为机器学习
人类可以学习经验对新情况做出判断,那么计算机要怎么做这件事呢?
机器学习正是这样一门学科,他致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,在计算机中,“经验”通常以“数据”形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即“学习算法”。
也就是说,机器学习致力于研究如何产生“模型”的学习算法。当有了“学习算法”,我们把经验数据丢给它,就会得到一个“模型”。在面临新的数据时,“模型”便会做出相应的判断。
二、基本术语与基本概念
2.1 基本术语
- 样本(sample),又称示例(instance),是关于对象的一个描述,记作 x ⃗ \vec{x} x.
- 数据集(data set),若干样本的集合,记作 D ⃗ \vec{D} D={ x 1 ⃗ \vec{x_1} x1, x 2 ⃗ \vec{x_2} x2,…, x m ⃗ \vec{x_m} xm}.
- 属性(attribute),又称特征(feature),反映对象在某方面的表现或者性质.
- 属性值(attribute value),属性的取值.
- 属性空间(attribute space),又称样本空间(sample space),是属性张成的空间,记作 χ \chi χ.
一般的,令 D ⃗ = ( x 1 ⃗ , x 2 ⃗ , . . . , x m ⃗ ) \vec{D}=({\vec{x_1},\vec{x_2},...,\vec{x_m}}) D=(x1,x2,...,xm)表示包含m个示例的数据集,每个示例由 d d d个属性组成, x i ⃗ = ( x i 1 , x i 2 , . . . , x i d ) \vec{x_i}=(x_{i1},x_{i2},...,x_{id}) xi=(xi1,xi2,...,xid)是 d d d维属性空间 χ \chi χ的一个向量, x i ⃗ ∈ χ \vec{x_i}\in\chi xi∈χ,其中 x i j x_{ij} xij是 x i ⃗ \vec{x_i} xi的第 j j j个属性的取值。
从数据中通过“学习算法”学得模型的过程叫做”训练“或者“学习”,每个样本叫做“训练样本”,“训练样本”组成“训练集”。学得模型对应了数据的某种潜在规律,因此学得模型也可称为“假设”,可用 h ( x ) h(x) h(x)表示,相应的潜在规律用 f ( x ) f(x) f(x)表示。学习的过程就是不断调整 h ( x ) h(x) h(x)来逼近 f ( x ) f(x) f(x)。
为了能够学习数据并进行预测,除了“示例”,还需要“示例的结果”,又称“标签”( l a b e l label label)。示例+标签=样例,常用 ( x i ⃗ , y i ) (\vec{x_i},y_i) (xi,yi)表示,其中 y i ∈ γ y_i\in\gamma yi∈γ是示例 x i ⃗ \vec{x_i} xi的标记, γ \gamma γ是所有标记的集合,称为“标记空间”或者“输出空间”。
学得模型之后,利用其进行预测的过程称为“测试”。例如在学得 f f f之后,对测试例 x x x,可得其预测标记 f ( x ) f(x) f(x)。
一般的,预测任务是希望通过对训练集 { ( x 1 ⃗ , y 1 ) , ( x 2 ⃗ , y 2 ) , . . . , ( x m ⃗ , y m ) } \{(\vec{x_1},y_1),(\vec{x_2},y_2),...,(\vec{x_m},y_m)\} { (x1,y1),(x2,y2),...,(xm