第1章 机器学习基础

机器学习能让我们自数据集中受到启发,换句话说,我们会利用计算机来彰显数据背后的真实含义,这才是机器学习的真实含义。

本系列笔记后续所有代码均使用python3改写。

1.1 何谓机器学习

简单来说,机器学习就是把无序的数据转换成有用的信息。它横跨计算机科学、工程技术和统计学(为了解决无法精确建立数学模型等问题,我们需要用到统计学工具)等多个学科,需要多学科的专业知识。大量的经济活动都依赖于信息,我们不能在海量的数据中迷失,机器学习将有助于我们穿越数据雾霭,从中抽取出有用的信息。

1.2 关键术语

[学习笔记]机器学习实战(一)
书中所给例子为构建一个鸟类专家系统,为了区分不同鸟类,(这里规定)需要使用四个不同的属性值:体重、翼展、有无脚蹼和后背颜色。这四种值就称之为特征(features)或者属性(attributes),而表中的每一行由特征组成的一组数据数据称为一个实例(instance)(如第一行,1000.1 125.0 No Brown)。
这个例子是一个典型的分类(classification)任务,所以我们决定要使用某个机器学习算法进行分类。
接下来需要做的就是算法训练,即学习如何分类。为了构建和训练分类器(classifier),通常我们为算法输入大量已分类数据作为算法的训练集(training set) ,训练集是用于训练机器学习算法的数据样本集合。如表1.1,我们的训练集有6个训练样本(training example),每个训练样本由四个特征和一个目标变量(target variable)或称为标签(label)组成,目标变量就是机器学习算法的预测结果。在分类算法中,目标变量通常是标称值(nominal value),又称定类值(如男女,手写数字的十种,其特点是类别固定、 有限)。而在回归(regression)算法中通常是连续型(continuous)。在一个训练集中,目标变量必须是已知的,机器通过寻找特征值目标变量之间的关系来学习。在分类问题中我们将目标变量称为类别(class),类别是有限的
[学习笔记]机器学习实战(一)
为了测试机器学习算法的实际效果,我们需要两套独立的样本集:训练集和测试集(test set)。输入测试样本时是不用提供样本的目标变量的,由程序决定样本属于哪个类别。之后比较测试样本预测(predict)的目标变量值与实际样本类别之间的差别,就可以得到算法的实际精确度。

知识表示[1]
  • 可以采用规则集的形式【例如:数学成绩大于90分为优秀】
  • 可以采用概率分布的形式【例如:通过统计分布发现,90%的同学数学成绩,在70分以下,那么大于70分定为优秀】
  • 可以使用训练样本集中的一个实例【例如:通过样本集合,我们训练出一个模型实例,得出 年轻,数学成绩中高等,谈吐优雅,我们认为是优秀】

1.3 机器学习的主要任务

机器学习的主要任务是分类回归,正如前面所提到的:
- 分类主要用于将一个实例划分到合适的类别中
- 回归主要用于预测数值型(numeric)数据,一个常见的例子就是数据拟合曲线
以上两者都属于监督学习(supervised learning),之所以称之为监督学习,是因为我们告诉算法要去预测什么,即目标变量的分类信息。
与监督学习相对应的就是无监督学习(unsupervised learning),数据没有目标变量或标签。它主要应用于:
- 将类似的对象分到一起,称之为聚类(clustering)
- 寻找描述数据的统计值,称之为密度估计(density estimation)
- 减少数据特征的维度,以便我们可以使用二维或者三维图形更加直观的展示数据信息

[学习笔记]机器学习实战(一)

1.4 如何选择合适的算法

在选择实际可用的算法之前,我们需要考虑:
- 算法使用的场景,即使用机器学习算法的目标、想要算法完成何种任务
- 需要分析或收集的数据是什么
[学习笔记]机器学习实战(一)
要注意选择算法并不是一成不变的,我们只能在一定程度上缩小算法的选择范围,一般并不存在最好的算法或者可以给出最好结果的算法,所以我们还需要尝试不同算法的执行结果。
此外,对于所选的每种算法:
- 可以使用其他的机器学习技术来改进其性能
- 在处理输入数据之后,两个算法的相对性能也可能会发生变化
一般来说,发现最好算法的关键环节是反复试错的迭代过程

1.5 开发机器学习应用程序的步骤

  1. 收集数据
    收集样本数据的方法有很多,为了节省时间和精力,可以使用公开可用的数据源。
  2. 准备输入数据
    收集数据之后还必须确保数据格式符合要求,为特定机器学习算法准备特定的数据格式
  3. 分析输入数据(可选)
    这一步主要是人工分析前两步得到的数据,确保数据集中没有垃圾数据。
  4. 训练算法
    根据算法的不同,第4步和第5步是机器学习算法的核心,我们将前两步得到的格式化数据输入到算法,从中抽取知识或信息。这里得到的知识或信息需要存储为计算机可以处理的格式,方便后续步骤使用。
    当然,无监督学习由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容都集中在第5步
  5. 测试算法
    对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,也必须用其他的评测手段来检验算法的成功率。无论哪种情形,如果不满意算法的输出结果,都可以回到第4步,改正并加以测试。
  6. 使用算法
    将算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。

1.6 本章小结

[学习笔记]机器学习实战(一)

相关文章:

  • 2022-12-23
  • 2021-12-22
  • 2021-08-12
  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-14
  • 2021-04-28
  • 2021-09-21
  • 2021-06-16
  • 2021-09-13
  • 2021-12-29
  • 2021-12-19
相关资源
相似解决方案