Skip to content

第 1 章 引言

这一章先回答三个问题:

  1. 机器学习为什么重要?
  2. 什么是机器学习?
  3. 监督学习和无监督学习分别是什么?

1.1 欢迎

机器学习已经成为信息技术里非常重要的方向。课程开头举了几个日常例子:

  • 搜索引擎根据学习算法对网页排序。
  • 图片应用可以识别朋友的照片。
  • 邮箱可以自动过滤垃圾邮件。
  • 推荐系统可以根据用户行为推荐电影、商品或音乐。

这门课不只是讲算法和数学,还强调自己实现算法。原因是:只知道公式不一定能解决实际问题,真正做机器学习时,还需要理解算法内部机制,并知道如何把算法用到具体场景中。

机器学习的应用范围很广,笔记中提到的方向包括:

方向例子
数据挖掘分析网站点击流、用户行为
医疗从电子病历中总结疾病规律
计算生物学分析基因、DNA 序列
工程从越来越大的工程数据集中发现规律
自动控制让无人直升机通过学习掌握飞行
手写识别自动识别信封上的手写地址
自然语言处理让机器理解文本
计算机视觉让机器理解图像
推荐系统Amazon、Netflix、iTunes 等推荐内容

这一节的重点:机器学习的价值不只在人工智能本身,还在于它能让计算机从数据和经验中学习,而不是完全依赖人手写规则。

1.2 机器学习是什么?

课程里给了两个定义。

Arthur Samuel 的定义

Arthur Samuel 把机器学习理解为:在没有明确编程的情况下,让计算机具备学习能力。

他的例子是西洋棋程序。程序员自己不是高手,但让程序和自己下很多盘棋,从胜负中学习哪些棋盘局面更好,最后程序的下棋水平超过了作者。

这个定义比较直观:机器不是被逐条写死规则,而是通过经验提高表现。

Tom Mitchell 的定义

Tom Mitchell 的定义更适合考试和做笔记:

如果一个程序在任务 T 上,随着经验 E 的增加,经过性能度量 P 判断后表现有所提升,那么就说这个程序从经验 E 中学习。

可以拆成三个关键词:

符号含义例子:西洋棋
T任务下棋
E经验程序自己下了很多盘棋
P性能度量和新对手比赛时的胜率

再看垃圾邮件过滤:

符号含义
T判断邮件是否为垃圾邮件
E用户标记过的垃圾邮件和非垃圾邮件
P过滤准确率等指标

这一节还提到,课程主要讨论两类学习算法:

  • 监督学习:教计算机如何完成任务。
  • 无监督学习:让计算机自己从数据中发现结构。

课程后面也会涉及推荐系统、强化学习等内容,但最常用、最核心的是监督学习和无监督学习。

1.3 监督学习

监督学习的核心特征是:训练数据里包含“正确答案”。

也就是说,每个样本不只是有输入,还对应一个已知输出。算法根据这些样本学习规律,然后对新的输入做预测。

例子 1:房价预测

输入是房屋面积,输出是房价。已知很多房子的实际成交价格后,希望预测一套新房子大概能卖多少钱。

这个任务属于回归问题。

回归问题要预测的是连续值,例如:

  • 房价
  • 销量
  • 温度
  • 收入

在房价例子中,可以用一条直线拟合数据,也可以用更复杂的曲线拟合数据。后续课程会讨论如何选择模型。

例子 2:乳腺肿瘤判断

输入可以是肿瘤大小、患者年龄、肿块密度、细胞大小一致性等特征,输出是肿瘤属于良性还是恶性。

这个任务属于分类问题。

分类问题要预测的是离散类别,例如:

  • 良性 / 恶性
  • 垃圾邮件 / 非垃圾邮件
  • 账号被盗 / 账号未被盗
  • 癌症类型 0 / 1 / 2 / 3

回归和分类

类型输出课程例子
回归连续值根据房屋面积预测房价
分类离散类别判断肿瘤是良性还是恶性

监督学习小结:

  • 数据集中每个样本都有正确答案。
  • 回归用于预测连续值。
  • 分类用于预测离散类别。
  • 特征可以只有一个,也可以有很多个。
  • 后面会学到支持向量机等算法,用来处理更复杂的特征空间。

1.4 无监督学习

无监督学习的核心特征是:训练数据没有明确标签,也没有提前给出正确答案。

算法拿到的是一堆数据,需要自己从数据中发现结构。

聚类

课程中首先介绍的是聚类算法。

聚类要做的是:把相似的数据自动分到同一组里。算法并不知道每一组应该叫什么,也没有人提前告诉它哪些样本属于同一类。

笔记中提到的聚类应用包括:

场景含义
Google 新闻把同一主题的新闻自动聚到一起
基因数据分析根据基因表达情况把个体分组
大型计算机集群分析哪些机器更适合协同工作
社交网络分析根据朋友关系自动发现社交圈
市场细分根据顾客数据自动划分不同消费群体
天文数据分析从星系数据中发现结构

这些问题都没有提前给出“正确分组”,所以属于无监督学习。

鸡尾酒宴问题

无监督学习不只有聚类。课程还举了鸡尾酒宴问题:

一个房间里有多人同时说话,多个麦克风录到的是混合声音。算法需要从混合录音中分离出不同人的声音。

这个例子说明:合适的数学工具和编程环境可以让复杂算法的实现变得很短。课程因此推荐使用 Octave / Matlab 来快速搭建机器学习算法原型。

现在 Python 更常用,但这一节想强调的不是语言本身,而是:先用适合实验的工具快速验证算法,再考虑工程化实现。

无监督学习小结

  • 无监督学习没有标签,也没有提前给出正确答案。
  • 目标是从数据中自动发现结构。
  • 聚类是无监督学习的重要类型。
  • 聚类可以用于新闻分组、基因分析、社交网络、市场细分等任务。
  • 鸡尾酒宴问题说明无监督学习还可以用于信号分离。

本章对比

类型数据特点目标例子
监督学习有正确答案 / 有标签学会输入到输出的映射房价预测、肿瘤分类、垃圾邮件过滤
无监督学习没有正确答案 / 没标签自动发现数据结构新闻聚类、市场细分、基因聚类、声音分离

Powered by VitePress