上一章 目录 下一章

第四章:机器学习概述

学习目标

  • 理解机器学习(ML)的定义与核心思想
  • 掌握三种学习类型:监督学习、无监督学习、强化学习
  • 理解监督学习的两大任务:分类与回归
  • 了解机器学习的完整工作流程
  • 认识无监督学习和强化学习的典型算法与应用

前置要求

第三章:AI基础概念(理解AI的基本定义和分类)。

机器学习三大类型工作流概念图
图4-1 机器学习三大类型:监督学习、无监督学习与强化学习的工作流程对比

什么是机器学习(ML)?

机器学习(Machine Learning)是AI的核心分支,让计算机从数据中自动学习规律,而不是人工编写所有规则。

传统编程 vs 机器学习

传统编程:人类编写规则 → 计算机执行 → 输出结果
机器学习:计算机从数据中学习规则 → 自动改进 → 输出结果

例如:要识别垃圾邮件——
传统方式:程序员手动编写"如果邮件包含'中奖'、'免费'等关键词则标记为垃圾"
ML方式:给模型10万封已标记的邮件,模型自动学习垃圾邮件的特征模式

机器学习的三种类型

类型 特点 数据 应用场景
监督学习 有标签数据,告诉机器正确答案 有标签(输入+答案) 图像分类、垃圾邮件识别、预测房价
无监督学习 无标签数据,让机器自己发现规律 无标签(只有输入) 用户分群、数据降维、异常检测
强化学习 通过试错获得奖励,学习最优策略 环境反馈(奖励/惩罚) 游戏AI、自动驾驶、机器人控制

监督学习详解

监督学习是最常见的机器学习方式。就像老师教学生:老师给题目和答案,学生通过对比学习。

训练数据(输入+标签)
学习算法
模型
预测新数据

监督学习的两大任务:

  • 分类(Classification):预测离散类别,如"是/否"、"猫/狗"
  • 回归(Regression):预测连续数值,如房价、温度

监督学习的应用实例

垃圾邮件识别(分类任务)
• 训练数据:10万封邮件(标记"垃圾"或"正常")
• 模型学习:垃圾邮件的特征(关键词、发件人)
• 应用:新邮件自动判断是否垃圾

房价预测(回归任务)
• 训练数据:历史房价(面积、位置、房价)
• 模型学习:面积/位置与房价的关系
• 应用:输入房屋信息,预测房价

无监督学习详解

无监督学习(Unsupervised Learning)是让机器在没有标签的数据中自己发现规律和结构。就像让学生在没有老师指导的情况下自己探索知识。

为什么叫"无监督"?

监督学习:有老师告诉对错(有标签)
无监督学习:没有老师,机器自己探索(无标签)

数据只有输入,没有标准答案。机器的任务是找出数据内部的规律。

无监督学习的主要任务

1. 聚类(Clustering)——自动分组

聚类是把相似的数据自动归为一组,发现数据中的自然分组。

聚类的通俗理解

想象你有一堆照片,不知道分类。聚类算法会自动:
• 把人物照片放在一起
• 把风景照片放在一起
• 把动物照片放在一起

机器不知道什么是"人物"、"风景",但它能发现照片之间的相似性,自动分组。

K-Means聚类算法示例

K-Means是最简单常用的聚类算法,下面用Python演示其基本用法:

from sklearn.cluster import KMeans
import numpy as np

# 生成模拟数据:两组二维点
np.random.seed(42)
data = np.concatenate([
    np.random.randn(50, 2) + np.array([0, 0]),   # 第一组,中心在(0,0)
    np.random.randn(50, 2) + np.array([5, 5]),   # 第二组,中心在(5,5)
])

# 使用K-Means聚类,指定分为2组
kmeans = KMeans(n_clusters=2, random_state=42, n_init=10)
labels = kmeans.fit_predict(data)

# 查看聚类结果
print("每个数据点的分组标签:", labels[:10])
print("聚类中心坐标:", kmeans.cluster_centers_)
# 输出示例:
# 每个数据点的分组标签: [1 1 1 1 1 1 1 1 1 1]
# 聚类中心坐标: [[4.93 4.88] [-0.12 0.05]]

2. 降维(Dimensionality Reduction)——简化数据

降维是把高维数据压缩到低维,保留关键信息,去掉冗余。

什么是高维数据?

每个数据点有很多属性(维度):
• 用户数据:年龄、性别、收入、职业、爱好...(几十个维度)
• 图像:每个像素是一个维度(一张图片可能有上万个维度)

维度太多的问题:计算复杂、信息冗余、难以可视化
降维解决这个问题:保留核心信息,压缩到少数维度。

常见降维算法

算法 原理 应用
PCA(主成分分析) 找到数据变化最大的方向,投影到这些方向 数据压缩、可视化、去噪
t-SNE 保持局部相似性,用于可视化 高维数据可视化展示
UMAP 比t-SNE更快,保持全局结构 大规模数据可视化

3. 异常检测(Anomaly Detection)——发现异常

异常检测是找出与正常数据明显不同的异常数据。

异常检测的价值

欺诈检测:发现异常交易行为(银行卡盗刷)
故障预警:发现设备运行的异常状态
入侵检测:发现网络异常流量攻击
数据清洗:发现数据中的错误异常值

强化学习详解

强化学习(Reinforcement Learning)是让AI通过不断尝试和反馈来学习最优策略。就像训练宠物:表现好给奖励,表现差不奖励,逐渐学会正确行为。

类比理解

训练狗狗:
• 狗坐下 → 给零食(奖励) → 狗记住坐下能得零食
• 狗乱跑 → 不给零食(无奖励) → 狗知道乱跑没好处
• 多次尝试后 → 狗学会"听到指令就坐下"

强化学习就是这个原理:AI尝试各种行为,根据奖励反馈调整策略。

强化学习的核心概念

状态(State)

当前环境的情况
(如:游戏中角色的位置)

动作(Action)

AI能做的事情
(如:向上、向下、攻击)

奖励(Reward)

行为好坏的反馈
(如:得分、扣分)

策略(Policy)

在什么状态做什么动作
(AI学到的决策规则)

强化学习的循环过程

观察状态
选择动作
执行动作
获得奖励
更新策略
进入新状态

探索与利用的平衡

探索 vs 利用

探索:尝试新的、未知的行为
• 好处:可能发现更好的方法
• 风险:可能暂时表现不好

利用:使用已知的最佳行为
• 好处:稳定获得好结果
• 风险:错过更好的方法

好的强化学习需要平衡两者:既探索新可能,又利用已知最优。

常见强化学习算法

算法 原理 应用
Q-Learning 建立表格记录每个(状态,动作)的预期奖励 简单环境、游戏AI
DQN 用神经网络代替Q表,处理复杂环境 Atari游戏、复杂游戏
Policy Gradient 直接优化动作策略,不是估计奖励值 连续动作空间、机器人
PPO 限制策略更新幅度,训练稳定 ChatGPT的RLHF训练

AlphaGo的突破

AlphaGo的学习过程:
1. 监督学习:学习人类高手棋谱
2. 强化学习:自我对弈,探索更好的策略
3. 发现人类未知的招法,超越人类水平

这是强化学习的经典成功案例。

机器学习的完整流程

一个完整的机器学习项目通常包含以下步骤:

数据收集
数据预处理
特征工程
模型选择
模型训练
模型评估
部署上线
步骤 说明 关键工具/方法
数据收集 获取训练所需的数据 数据库查询、爬虫、公开数据集
数据预处理 清洗、标准化、处理缺失值 Pandas、NumPy
特征工程 选择和构造有用的特征 领域知识、统计分析
模型选择 选择合适的算法 根据任务类型和数据特点
模型训练 用数据训练模型参数 Scikit-learn、PyTorch、TensorFlow
模型评估 测试模型性能 准确率、F1分数、交叉验证
部署上线 将模型投入实际使用 Flask、Docker、云服务

推荐视频

如果你觉得文字讲解不够直观,推荐观看以下视频:

机器学习入门

作者:李宏毅

为什么推荐:中文讲解,生动幽默,适合零基础

点击观看

本章小结

  1. 机器学习是AI的核心分支,核心思想是让计算机从数据中自动学习规律,而非人工编写所有规则。
  2. 监督学习需要带标签的数据,分为分类(预测类别)和回归(预测数值)两大任务。
  3. 无监督学习在没有标签的数据中发现规律,主要任务包括聚类、降维和异常检测。
  4. 强化学习通过"试错+奖励"的方式学习最优策略,核心概念包括状态、动作、奖励和策略。
  5. 完整的机器学习流程包括:数据收集 → 预处理 → 特征工程 → 模型选择 → 训练 → 评估 → 部署。

练习题

  1. 以下哪个是监督学习的典型任务?

    A. 将新闻按主题自动分组
    B. 根据房屋特征预测房价
    C. 发现信用卡交易的异常模式
    D. 通过自我对弈学会下围棋

    答案:B。预测房价是回归任务,属于监督学习。A是无监督学习(聚类),C是无监督学习(异常检测),D是强化学习。

  2. 在强化学习中,"探索"和"利用"分别指什么?

    A. 探索是寻找新数据,利用是使用旧数据
    B. 探索是尝试未知行为,利用是使用已知最佳行为
    C. 探索是增加模型参数,利用是减少模型参数
    D. 探索是训练模型,利用是评估模型

    答案:B。探索指尝试新的、未知的行为以发现更好的策略;利用指使用已知的最佳行为以获得稳定回报。

  3. 机器学习完整流程的正确顺序是?

    A. 模型选择 → 数据收集 → 特征工程 → 训练 → 评估
    B. 数据收集 → 预处理 → 特征工程 → 模型选择 → 训练 → 评估
    C. 数据收集 → 模型选择 → 训练 → 预处理 → 评估
    D. 特征工程 → 数据收集 → 模型选择 → 训练 → 预处理

    答案:B。正确的流程是先收集数据,再预处理,然后特征工程,接着选择模型,训练,最后评估。

上一章 目录 下一章