Skip to content

第 1 章:机器学习概述

1. 机器学习定义

Arthur Samuel 在 1959 年给机器学习的定义是:让机器在没有明确编程的情况下进行学习。

机器学习算法主要分为两大类:

  1. 监督学习
  2. 非监督学习

另外有一些学习算法介于这两者之间,例如强化学习。

1.1 监督学习

监督学习指的是学习从 xxyy 的映射过程。监督学习的最关键特征是我们提供学习示例来帮助机器学习,即包括 “正确答案”。最终算法将只依赖于 xx 而猜测出 yy 值。

应用示例:

输入 xx输出 yy应用
邮件是否是垃圾邮件(0/10 / 1反垃圾邮件
语音文本语音识别
英语法语机器翻译
AD,用户信息是否可能点击(0/10 / 1在线推荐
图像、雷达信号汽车的位置自动驾驶
手机的图片有缺陷(0/10 / 1视觉检测

如果我们获得了大量的关于房价的数据,我如何知道我的房子应该价值多少?

::: echarts 波特兰的房子面积和价格散点图

json
{
  "xAxis": {
    "type": "value",
    "name": "平方英尺",
    "splitLine": {
      "lineStyle": {
        "type": "dashed"
      }
    }
  },
  "yAxis": {
    "type": "value",
    "name": "1000 美元",
    "splitLine": {
      "lineStyle": {
        "type": "dashed"
      }
    }
  },
  "tooltip": {
    "trigger": "axis",
    "axisPointer": {
      "type": "cross"
    }
  },
  "series": [
    {
      "data": [
        [2104, 400],
        [1600, 330],
        [2400, 369],
        [1416, 232],
        [1985, 300],
        [1534, 315],
        [1427, 199],
        [1380, 212],
        [1494, 242],
        [1940, 240],
        [2000, 347],
        [1890, 330],
        [1268, 260],
        [2300, 450],
        [1320, 300],
        [1236, 200],
        [2609, 500],
        [1767, 253],
        [1888, 255],
        [1604, 243],
        [1962, 260],
        [1100, 250],
        [1458, 464],
        [2526, 469],
        [2200, 475],
        [2637, 300],
        [1839, 350],
        [1000, 170],
        [2040, 315],
        [1811, 286],
        [1437, 250],
        [1239, 230],
        [2132, 345],
        [2162, 287],
        [1664, 368],
        [2238, 330],
        [2567, 314],
        [1200, 299],
        [852, 180],
        [1852, 300],
        [1203, 240]
      ],
      "type": "scatter",
      "encode": { "tooltip": [0, 1] }
    }
  ]
}

:::

关于面积和价值拟合直线,或者拟合曲线?或者有更好的方法,后续我们将会讨论到底应该选择哪种拟合方法。

这类问题被称为回归,我们试图从无数可能的数字中预测应一个。而分类问题则选择有限的可能性,让我们看下面的示例。

乳腺癌预测:例如我有各种乳腺癌的数据,包括其大小等信息,而预测结果是良性的还是恶性的(0/10 / 1),输出只有两种值。

分类问题的输出只在很小的一部分集合中,预测类别可能是数字也可能不是,关键取决于你如何解释它们。

监督学习可通过多个输入来预测值,例如乳腺癌可能和年龄有关,这样我们将年龄作为输入。还可能和癌症的细胞形状有关等。

总结:监督学习是从 “正确答案” 中学习,监督学习的两种类型是监督学习和非监督学习。

1.2 非监督学习

在非监督学习中,我们的数据和标签并不相关,例如在乳腺癌数据中我们并没有被告知肿瘤是良性的还是恶性的。无监督学习将找到无标签数据中的关键内容,例如聚类问题,Google 新闻每天都会将相关的新闻聚合在一起。

第二个示例是 DNA 的数据,DNA 和人身体的某些特征并没有被标记,研究人员可以从 DNA 数据中预测一个人的身高或眼睛特点,甚至能预测你喜不喜欢吃西兰花。我们可以把不同人的 DNA 进行分类,没有明确的分类标准,依据最显著的一些特征让机器进行聚类学习。

事实上,我们可以对非监督学习进行定义:数据只给定 xx 而不包含 yy,算法必须在数据中找到正确的结构。

常见的非监督学习:

  • 聚类
  • 异常检测
  • 降维

下面我们将使用 Jupyter Notebook 来学习更多的内容。

Jupyter Notebook

本文不记录 Jupyter Notebook 的相关笔记,如果需要请访问 官方文档Python 笔记仓库 来学习。