本文主要介绍机器学习的基础知识,包括一些关键概念、模型算法原理及具体的建模过程。
在深入了解机器学习理论之前,让我们先了解一些机器学习的基本概念。
假设空间F通常由一个参数向量决定的函数族构成:
F={f|Y=fw(X),w∈Rn}
其中,参数向量w取值于n维向量空间Rn,称为参数空间。假设空间F也可以定义为条件概率的集合(概率模型):
F={P|P(Y|X)}
其中,X是定义在输入空间X上的随机变量,Y是定义在输入空间Y上的随机变量。
通过一个实际例子来理解相关概念。
首先,在建立模型之前,必须有一个由多个样本组成的样本集。例如:
(用户A,{年龄:29,身高:185,年支出:70,婚姻状况:未婚,状态:逾期})
(用户B,{年龄:24,身高:167,年支出:31,婚姻状况:已婚,状态:未逾期})
(用户C,{年龄:46,身高:177,年支出:50,婚姻状况:离异,状态:未逾期})
...
每个用户及其属性对称为一个样本(或观测)。这样的一系列用户及其属性构成了样本集,其中用户A、B、C构成了样本空间,"年龄"、"身高"、"年支出"、"婚姻状况"构成了特征空间。
此外,还有参数空间,即由组成预测函数的所有参数取值构成的空间。"状态"字段则代表样本的标签,即需要模型来判断的结果。
在这个例子中,特征空间有4个维度:年龄、身高、年支出、婚姻状况。这些维度决定了特征空间的维度。在理想情况下,模型期望每个特征之间互不干扰,但在实际情况中,每个特征之间可能存在关联。
例如,我们可以将年龄和身高这两个维度绘制成图表。当处于低龄时(0~8岁),我们可以清晰地看到身高随着年龄的增长而增加,如图所示。
婚姻状况这个特征可能取值为{未婚、已婚、离异},这三个取值限制了特征空间在婚姻状况维度上的取值。
如果数据中只有{未婚、离异}这两种取值的样本,则称这个数据集不能完整表征其所在的样本空间,即在某一个特征维度上,有些值没有被观测到,无法很好地观察到这个维度特征的真实分布。
通过已观察的样本点,只能表征出部分空间,如图所示。
模型训练(又称为学习或拟合),是指通过将数据传递给模型,使模型学习到数据的潜在规律(如数据的分布)的过程。建立模型的本质是从数据分布中抽象出一个决策函数。
决策函数(非概率模型)的定义是从输入空间X到输出空间Y的映射f:X→Y。
假设空间F定义为决策函数的集合,其形式如下:
F={f|Y=f(X)}
其中,X是定义在输入空间X上的变量,X∈X;Y是定义在输出空间Y上的变量。
当要预测的是离散值时,例如一个人是男还是女,或者一个用户是否会违约,这样的任务称为分类。与此相对,如果要预测一个人的年龄或一个用户将在未来哪一天还款,这样的任务称为回归。
当任务只有两个取值时称为二分类任务。评分卡模型就是一种典型的二分类任务,即预测一个用户是否会违约。当任务涉及多个类别时,称为多分类任务。
例如,在做欺诈检测时,预测一个用户是否欺诈,这看似是一个二分类任务(预测是否欺诈),但实际上,每种欺诈手段都是一个独立的类别,因此它本质上是一个多分类任务。
从数据是否带有标签的角度看,模型可以分为三大类:监督学习、半监督学习和无监督学习。
通常情况下,模型的效果排序如下:
监督学习 > 半监督学习 > 无监督学习
在大多数情况下,应尽可能利用标签信息,这样得到的模型效果会更好。然而,很多时候,是否拥有标签并不是由个人决定的。例如,很多平台没有欺诈用户的标签,此时训练一个监督模型会非常困难,而半监督及无监督学习可以起到一定的作用。
对于模型学习的结果,主要关注两点:欠拟合和过拟合。
欠拟合是指模型拟合程度不高,数据距离拟合曲线较远,或者模型没有很好地捕捉到数据特征,不能很好地拟合数据。换句话说,模型在学习过程中没有很好地掌握该掌握的知识,模型学习偏差较大。
过拟合是指为了达到一致假设而使假设变得过于严格,即模型学习得太具体,将一些个例的特点当作共性,使得模型的泛化能力较低。
图示很好地解释了过拟合与欠拟合的含义,a图表示欠拟合,b图表示一个良好的拟合,c图则表示过拟合。简单来说,过拟合就是模型学得太细,欠拟合就是学得太粗。
模型结构越复杂,通常越倾向于过拟合。而样本量越大,数据分布越充分,模型越不容易过拟合。为了更好地表示过拟合和欠拟合,通常建模时会将样本集划分为训练集和测试集。
训练集用于模型训练,而测试集主要用于模型测试,以检验模型的效果。一般认为,如果模型在训练集上表现良好但在测试集上表现不佳,说明模型可能过拟合;如果模型在训练集上表现较差,则有欠拟合的风险。
在训练模型时,不仅希望模型在训练集上表现良好,还希望模型在其他数据集上也有很好的表现。训练集与测试集表现之间的差异称为泛化误差,而泛化误差由三部分组成:偏差、方差和噪声。
图示展示了训练程度与误差的关系。
通常在最终模型上线前,会将测试集和训练集整合,重新拟合模型的系数,以获得最终模型。这是因为更大的数据集有助于更充分地表征样本空间。例如,之前例子中的数据集:
(用户A,{年龄:29,身高:185,年支出:70,婚姻状况:未婚,状态:逾期})
(用户B,{年龄:24,身高:167,年支出:31,婚姻状况:已婚,状态:未逾期})
(用户C,{年龄:46,身高:177,年支出:50,婚姻状况:离异,状态:未逾期})
...
如果训练集中缺少某些值,只存在于测试集中,那么将测试集和训练集合并后,对未来用户进行预测时偏差会更小。
但某些模型,如极端梯度提升机(XGBoost),需要利用测试样本集提前终止训练过程,因此需要额外选择部分样本不参与训练,例如从原始训练集中选择少量样本作为提前终止的依据。
梅行:资深风控技术专家、AI技术专家和算法专家,曾在多家知名金融科技公司担任算法研究员和数据挖掘工程师。师从Experian、Discover等企业的资深风控专家,擅长深度学习、复杂网络、迁移学习、异常检测等非传统机器学习方法,热衷于数据挖掘以及算法的跨领域优化理论。
毛鑫宇:资深品牌视觉设计师、插画设计师,曾任职于国内知名文旅公司品牌设计师,设计打造多个知名文化旅游目的地及品牌设计案例。
编辑:黄继彦
—— 完 ——
若想了解更多数据科学领域的最新动态,请关注清华-青岛数据科学研究院官方微信公众平台“数据派THU”。