二、机器学习
1、机器学习的定义
机器学习是指从有限的观测数据中学习出具有一般性的规律,并利用这些规律对未知数据进行预测的方法,通俗的讲,机器学习就是让计算机从数据中进行自动学习,得到某种知识。
传统的机器学习主要关注如何学习一个预测模型,一般需要首先将数据表示为一组特征,特征的表示形式可以是连续的数值、离散的符号或其他形式,然后将这些特征输入到预测模型,并输出预测结果。
2、机器学习的步骤
当我们用机器学习来解决实际任务时,会面对多种多样的数据形式,比如声音、图像、文本等,不同数据的特征构造方式差异很大,对于图像这类数据,我们可以很自然的将其表示为一个连续的向量,而对于文本数据,因为其一般由离散符号组成,并且每个符号在计算机内部都表示为无异议的编码,所以通常很难找到合适的表示方式,所以在实际任务中使用机器学习模型一般会包含以下几个步骤:
(1)原始数据-数据预处理
经过数据的预处理,如去除噪声。
(2)特征提取
从原始数据中提取一些有效的特征,比如在图像分类中,提取边缘、尺度不变特征变换特征等。
(3)特征转换
对特征进行一定的加工,比如降维和升维,降维包括特证抽取和特征选择两种途径,常用的特征转换方法有主成分分析、现行判别分析等。
(4)预测-结果
机器学习的核心部分,学习一个函数并进行预测。
3、机器学习的特点
在一些复杂任务中,传统机器学习方法需要将一个任务的输入和输出之间人为的切割成很多子模块,每个子模块分开学习,比如一个自然语言理解人物,一般需要分词、词性标注、句法分析、语义分析、语义推理等步骤。
这种学习方式有两个问题,一是每个模块都需要单独优化,并且其优化目标和任务总体目标并不能保证一致。二是错误传播,即前一步的错误会对后续的模型造成很大的影响,这样就增加了机器学习方法在实际应用中的难度。
机器学习的每步特征处理以及预测一般都是分开进行的,传统的机器学习模型主要关注最后一步,即构建预测函数,但是实际操作过程中,不同预测模型的性能差不多,而前三步中的特征处理对最终系统的准确性有着十分关键的作用。
特征处理一般都需要人工干预完成利用人类的经验来选取好的特征,并最终提高机器学习系统的性能,因此,很多的机器学习问题变成了特征工程问题。
4、机器学习的相关名词
如果选取一些苹果。
(1)特征
包括颜色、大小、形状、产地、品牌。
(2)标签
标签可以是连续值,比如苹果的甜度、水分和成熟地。
标签也可以是炼制,比如好坏。
(3)样本
将标记好特征以及标签的苹果看作一个样本,也可以称为示例。
(4)数据集
一组样本构成的集合称为数据集,一般将数据集分为两部分:训练集和测试集。训练集中的样本是用来训练模型的,也叫训练样本,测试集中的样本是用来检验模型好坏的,也叫测试样本。
(5)特征向量
我们通常使用一个D维向量x=[x1,x2,x3,…,xD]表示一个苹果所有特征构成的向量,称为特征向量,其中每一维表示一个特征,而苹果的标签通常用向量y表示。
假设训练集D由N个样本组成,其中每个样本都是独立同分布的,即独立的从相同的数据分布中抽取的,记为:
D={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}
给定训练集D,我们希望让计算机从一个函数集合F={f1(x)f2(x),…}中自动寻找一个最优的函数f*(x)来近似每个样本的特征向量x和标签y之间的真实映射关系。
如何寻找这个最优的函数f*(x)是机器学习的关键,一般需要通过学习算法来完成,这个寻找过程通常称为学习或训练过程。
5、机器学习的算法分类
按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为以下几类:
(1)监督学习
如果机器学习的目标是建模样本的特征x和标签y之间的关系,并且训练集中每个样本都有标签,你们这类机器学习称为监督学习,根据标签类型的不同,监督学习又可以分为回归问题、分类问题和结构化学习问题。
a、回归
这类问题中的标签u是连续值,实数或连续整数,输出也是连续值。
b、分类
这类问题中的标签y是离散的类别,在分类问题中,学习到的模型也称为分类器。分类问题根据其类别数量又可以分为二分类和多分类问题。
c、结构化学习
此类问题是一种特殊的分类问题,在结构化学习中,标签y通常是结构化的对象,比如序列、数或图,由于结构化学习的输出空间比较大,因此我们一般定义一个联合特征空间,将x、y映射为该空间中的联合特征向量。
(2)无监督学习
是指从不包含目标标签的训练样本中自动学习到一些有价值的信息,典型的无监督学习问题有聚类、密度估计、特征学习、降维等。
(3)强化学习
是一类通过交互来学习的机器学习算法,在强化学习中,智能体根据环境的状态做出一个动作,并得到即时或延时的奖励。智能体在和环境的交互中不断学习并调整策略,以取得最大化的期望总回报。
监督学习需要每个样本都有标签,而无监督学习则不需要标签,一般而言,监督学习通常需要大量的有标签数据集,这些数据集一般都需要由人工进行标注,成本很高,所以也出现了很多弱监督学习和半监督学习的方法,希望从大规模的无标注数据中充分挖掘有用的信息,降低对标注样本数量的要求。
强化学习和监督学习的不同在于,强化学习不需要显式的以“输入/输出对”的方式给出训练样本,是一种在线的学习机制。