机器学习入门

机器学习概论

1 定义和组成元素

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.

首先注意到两个词 computer program 和 learn,翻译成中文就是机器 (计算机程序) 和学习,再把上面英译中:

假设用性能度量 P 来评估机器在某类任务 T 的性能,若该机器通利用经验 E 在任务 T 中改善其性能 P,那么可以说机器对经验 E 进行了学习

在该定义中,除了核心词机器和学习,还有关键词经验 E性能度量 P任务 T

在计算机系统中,通常经验 E 是以数据 D 的形式存在,而机器学习就是给定不同的任务 T 从数据中产生模型 M,模型 M 的好坏就用性能度量 P 来评估。

由上述机器学习的定义可知机器学习包含四个元素

  • 数据 (Data)
  • 任务 (Task)
  • 性能度量 (Quality Metric)
  • 模型 (Model)

2 数据

数据 (data) 是经验的另一种说法,也是信息的载体。数据可分为

  1. 结构化数据和非结构化数据 (按数据具体类型划分)
  2. 原始数据和加工数据 (按数据表达形式划分)
  3. 样本内数据和样本外数据 (按数据统计性质划分)

2.1 结构化和非结构化

结构化数据 (structured data) 是由二维表结构来逻辑表达和实现的数据。

非结构化数据没有预定义的数据,不便用数据库二维表来表现的数据。

非结构化数据

非结构化数据包括图片,文字,语音和视频

对于以上的非结构数据,相关应用实例有

  • 增强学习的阿尔法狗 (AlphaGo) 对棋谱数据学习无数遍最终打败了围棋世界冠军李世石和柯洁
  • 深度学习的卷积神经网络 (convolutional neural network, CNN) 对图像数据做人脸识别或物体分类
  • 深度学习的循环神经网络 (recurrent neural network, RNN) 对语音数据做语音识别或机器对话,对文字数据做文本生成或阅读理解

结构化数据

机器学习模型主要使用的是结构化数据,即二维的数据表。非结构化数据可以转换成结构化数据,比如把

  • 文本类数据用独热编码转成二维数组
  • 图像类数据里像素张量重塑成一维数组

结构化数据的术语

  • 每行的记录 (这是一场比赛詹姆斯的个人统计) ,称为一个示例 (instance)
  • 反映对象在某方面的性质,例如得分,篮板,助攻,称为特征 (feature) 或输入(input)
  • 特征上的取值,例如「示例 1」对应的 27, 10, 12 称为特征值 (feature value)
  • 关于示例结果的信息,例如赢,称为标签 (label) 或输出 (output)
  • 包含标签信息的示例,则称为样例 (example),即样例 = (特征, 标签)
  • 从数据中学得模型的过程称为学习 (learning) 或训练 (training)
  • 在训练数据中,每个样例称为训练样例 (training example),整个集合称为训练集(training set)

2.2 原始和加工

计算机处理数值型的结构型数据最有效率,但是现实世界到处出是原始数据,分为两类

  • 非结构数据比如图片和文字型数据
  • 结构型数据的分类型变量

2.3 样本内和样本外

在统计中,把研究对象的全体称为总体 (population),而把组成总体的各个元素称为个体,把从总体中抽取的若干个体称为样本 (sample)

统计学中做的事情就是用样本数据的统计 (statistics) 来推出总体数据的参数 (parameter)。样本数据也叫做样本内数据,除样本内数据之外的总体数据叫做样本外数据。

在机器学习中,样本内和样本外数据的定义稍微有些不同,如下图:

img

样本内数据是用来训练模型的数据,也叫训练数据。它们是已知的,可计算统计的。

样本外数据是未来的没见过的新数据。它们是未知的,不可计算统计的。

机器学习在样本内数据训练模型用来预测:

  • 样本内预测:根据训练模型对样本内数据进行预测,可与已知标签比较来评估模型表现
  • 样本外预测:根据训练模型对样本外数据进行预测,不能与未知的标签比较

3 任务

根据学习的任务模式 (训练数据是否有标签),机器学习可分为四大类:

  1. 有监督学习 (有标签)
  2. 无监督学习 (无标签)
  3. 半监督学习 (有部分标签)
  4. 增强学习 (有评级标签)

深度学习只是一种方法,而不是任务模式,因此与上面四类不属于同一个维度,但是深度学习与它们可以叠加成:深度有监督学习、深度非监督学习、深度半监督学习和深度增强学习。

迁移学习也是一种方法,也可以分类为有监督迁移学习、非监督迁移学习、半监督迁移学习和增强迁移学习。

640?wx_fmt=png

由于 Sklearn 里面模型主要处理「有监督学习」和「无监督学习」两类,我们接下来也只讨论这两类。

3.1 有监督学习

有监督学习 (supervised learning) 利用输入数据及其对应标签来训练模型。这种学习方法类似学生通过研究问题和参考答案来学习,在掌握问题和答案之间的对应关系后,学生可自己给出相似新问题的答案了。

在有监督学习中,数据 = (特征,标签),而其主要任务是分类和回归。

分类

如果预测的是离散值 (discrete value),例如比赛结果赢或输,此类学习任务称为分类 (classification)。

回归

如果预测的是连续值 (continuous value),例如詹姆斯效率 65.1, 70.3 等等,此类学习任务称为回归 (regression)。

3.2 无监督学习

无监督学习 (unsupervised learning) 是找出输入数据的模式。比如,它可以根据电影的各种特征做聚类,用这种方法收集数据为电影推荐系统提供标签。此外无监督学习还可以降低数据的维度,它可以帮助我们更好的理解数据。

在无监督学习中,数据 = (特征,)。

聚类

除了根据詹姆斯个人统计来预测骑士队输赢或者个人效率值外,我们还可以对该数据做聚类 (clustering),即将训练集中的数据分成若干组,每组成为一个簇 (cluster)

聚类的用处就是可以找到一个潜在的原因来解释为什么样例 1 和 3 可以赢球。

降维

4 性能度量

回归和分类任务中最常见的误差函数以及一些有用的性能度量如下。

640?wx_fmt=png

回归任务的误差函数估量在数据集 D 上模型的连续型预测值 h(x) 与连续型真实值 y 的距离,h(x) 和 y 可以取任意实数。误差函数是一个非负实值函数,通常使用 ED[h] 来表示。图表展示如下。

640?wx_fmt=png

分类任务的误差函数估量在数据集 D 上模型的离散型预测值 h(x) 与离散型真实值 y 的不一致程度,惯例是 y 和 h(x) 取±1,比如正类取 1 负类取 -1。图表展示如下。

640?wx_fmt=png

除上述损失函数之外,分类任务还有很多其他有用的性能度量。

错误率:分类错误的样本数占样本总数的比例称为错误率 (error rate),相应的分类正确的样本数占样本总数的比例称为精度 (accuracy)。在 10 个样本中有 2 个样本分类错误,则错误率为 20%,而精度为 80%。

查准率和查全率:错误率和精度虽然常用,但是不能满足所有任务需求。假定用训练好的模型预测骑士赢球,显然,错误率衡量了多少比赛实际是赢球但预测成输球。但是若我们关心的是“预测出的比赛中有多少是赢球”,或“赢球的比赛中有多少被预测出了”,那么错误率这个单一指标显然就不够用了,这时需要引进更为细分的性能度量,即查准率 (precision) 和查全率 (recall)。

5 模型

有监督模型如下图所示:

640?wx_fmt=png

无监督模型包括各种聚类分析 (KMeans, DBSCAN)、主成分分析 (PCA)、独立成分分析 (ICA)、隐含狄利克雷分配 (LDA) 等等

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值