通俗的定义:通过机器实现从大量现象中提取反复出现的规律与模式的过程。
从形式化角度定义,如果算法利用某些经验使自身在特定任务类上的性能得到改善,就可以说该算法实现了机器学习。
从方法论的角度看,机器学习是计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的学科.
在机器学习中,数据并非通常意义上的数量值,而是对于对象某些性质的描述,这些被描述的性质叫作属性
,属性的取值称为属性值
,不同的属性值有序排列得到的向量就是数据,也叫实例
。
根据线性代数的知识,数据的不同属性之间可以视为相互独立,因而每个属性都代表了一个不同的维度,这些维度共同张成了特征空间
。
每一组属性值的集合都是这个空间中的一个点,因而每个实例都可以视为特征空间中的一个向量,即特征向量
。
在机器学习中,误差
被定义为学习器的实际预测输出与样本真实输出之间的差异。在分类问题中,常用的误差函数是错误率,即分类错误的样本占全部样本的比例。误差性能是机器学习的重要指标之一。
误差可分为训练误差
和测试误差
两类。训练误差
指的是学习器在训练数据集上的误差,也称经验误差;测试误差
指的是学习器在新样本上的误差,也称泛化误差。
训练误差描述的是输入属性与输出分类之间的相关性,能够判定给定的问题是不是一个容易学习的问题。
测试误差则反映了学习器对未知的测试数据集的预测能力,是机器学习中的重要概念。好的学习模型都是测试误差较低的,即它在新样本上误差较小的学习模型。
学习器依赖已知数据对真实情况进行拟合,即由学习器得到的模型要尽可能逼近真实模型,因此要在训练数据集中尽可能提取出适用于所有未知数据的普适规律。
但是,一旦过于看重训练误差,一味追求预测规律与训练数据的符合程度,就会把训练样本自身的一些非普适特性误认为所有数据的普遍性质,从而导致学习器泛化能力的下降。这种在训练样本上表现很好,但在测试样本上表现不佳的现象就称之为过拟合
。
例如:在对人进行国籍分类时,如果接触的外国人较少,从没见过双眼皮的韩国人,思维中就难免出现“单眼皮都是韩国人”的错误定式,这就是典型的过拟合现象
,把训练数据的特征错当做整体的特征。
过拟合出现的原因
通常是学习时模型包含的参数过多,从而导致训练误差较低但测试误差较高。
与过拟合相相对的一个概念就是欠拟合
,欠拟合就是对训练样本的学习不足,以致于训练数据的基本性质都没能学到,导致训练误差很大,如果学习器的能力不足,甚至会把黑猩猩的图像误认为人,这就是欠拟合的后果。
之前介绍的测试误差通常是和模型复杂度之间呈现的是抛物线的关系。
当模型复杂度较低时,测试误差较高;随着模型复杂度的增加,测试误差将逐渐下降并达到最小值;之后当模型复杂度继续上升时,测试误差会随之增加,对应着过拟合的发生。
通常在模型选择中,为了对测试误差做出更加精确的估计,一种广泛使用的方法是交叉验证
。交叉验证思想在于重复利用有限的训练样本,通过将数据切分成若干子集,让不同的子集分别组成训练集与测试集,并在此基础上反复进行训练、测试和模型选择,达到最优效果。
交叉验证的基本训练过程如下:
如果将训练数据集分成10个子集D1-10进行交叉验证,则需要对每个模型进行10轮训练,其中第1轮使用的训练集为D2-D10这9个子集,训练出的学习器在子集D1上进行测试;第2轮使用的训练集为D1和D3~D10这9个子集,训练出的学习器在子集D2上进行测试。依此类推,当模型在10个子集全部完成测试后,其性能就是10次测试结果的均值。不同模型中平均测试误差最小的模型也就是最优模型。
调参,即对算法参数进行设定,它是机器学习中重要的工程问题。因为除了算法本身之外,参数的取值也是影响模型性能的重要因素,同样的学习算法在不同的参数配置下,得到的模型性能会出现显著的差异。
假设一个神经网络中包含1000个参数,每个参数又有10种可能的取值,对于每一组训练/测试集就有1000^10个模型需要考察,因而在调参过程中,一个主要的问题就是性能和效率之间的折中。
通常根据训练数据是否具有标签信息,可以将机器学习的任务分成以下三类。
监督学习
:基于已知类别的训练数据进行学习;
无监督学习
:基于未知类别的训练数据进行学习;
半监督学习
:同时使用已知类别和未知类别的训练数据进行学习。
在这三类任务分类中,目前监督学习是运用最为广泛的主力任务。
监督学习根据输入输出的类型不同可以分为三类:
分类问题
:输出变量为有限个离散变量,当个数为2时即为最简单的二分类问题;
回归问题
:输出变量均为连续变量;
标注问题
:输出变量均为变量序列。
监督学习假定训练数据满足独立同分布的条件,并根据训练数据学习出一个由输入到输出的映射模型。反映这一映射关系的模型可能有无数种,所有模型共同构成了假设空间。监督学习的任务就是在假设空间中根据特定的误差准则找到最优的模型。
根据学习方法的不同,监督学习可以分为生成方法
与判别方法
两类。
生成方法
是根据输入数据和输出数据之间的联合概率分布确定条件概率分布P(Y\X),这种方法表示了输入X与输出Y之间的生成关系;
判别方法
则直接学习条件概率分布P(Y|X)或决策函数f(X),这种方法表示了根据输入X得出输出Y的预测方法。
两相对比,生成方法具有更快的收敛速度和更广的应用范围,判别方法则具有更高的准确率和更简单的使用方式。
本文主要介绍了在机器学习中常用的一些基本概念汇总,供小伙伴们学习交流。
更多干货内容持续更新中…