什么是机器学习:定义、三种范式与术语地图
一句话定义
机器学习(Machine Learning)是研究如何让计算机程序利用数据(经验)自动改进其在某类任务上性能的学科;Mitchell 的经典定义是:若程序在任务 T 上的性能指标 P 随经验 E 增加而提高,则称程序在从 E 中学习。
为什么重要
它是现代数据驱动产品的引擎:风控评分、销量预测、搜索排序、推荐系统的底层都是机器学习模型。对工程师而言,理解机器学习才能判断「这个问题该不该用模型、用什么模型、怎么验证它可靠」;对学习者而言,它是进入深度学习与人工智能其他分支的公共地基。本库其余知识点全部建立在这套术语与范式之上。
前置知识
本节为全库起点,无库内前置。建议具备 Python 基础与中学水平的概率直觉,遇到缺失可回《统计学习方法》第 1 章补齐。
核心概念
- 样本(sample)/实例:一行数据,如一个用户、一笔交易。
- 特征(feature):描述样本的属性向量 x,如年龄、近 30 天消费额。
- 标签(label):要预测的目标 y,如「是否违约」。
- 模型(model):从特征到预测的映射 f,学习就是从数据中估计 f̂。
- 训练(training)/推断(inference):用数据拟合参数的过程与用拟合好的模型做预测的过程。
- 三种范式:
- 监督学习(supervised learning):数据带标签,学 x → y,含回归(y 连续)与分类(y 离散)。 - 无监督学习(unsupervised learning):无标签,发现结构,如聚类、降维。 - 强化学习(reinforcement learning):智能体通过与环境交互的奖励信号学习策略(本库仅点到为止)。
直观类比
监督学习像带答案刷题:题库(训练集)附标准答案(标签),学生(模型)刷题后参加没见过的考试(测试集)。无监督学习像把一堆没贴标签的照片按相似度分堆。两者的关键差别在于「有没有答案可对」。
原理与机制
学习的目标是找到能良好泛化的映射。把数据看作由某个真实过程生成:y = f(x) + ε,其中 ε 是不可约噪声。学习算法在假设空间(候选函数集合)中,依据损失函数在训练数据上度量误差,通过优化算法挑选出经验误差最小的假设。监督与无监督的差别在于可用信号不同:前者有 y 可对错,后者只能依赖 x 自身的结构(距离、密度、方差)定义优化目标。
公式与推导
给定数据集 D = {(xi, yi)}i=1n,学习的理想目标是最小化泛化误差(对真实分布的期望损失):
但真实分布未知,只能用训练集上的经验误差近似,这就是后续所有模型 KP 的公共骨架:定义假设空间、定义损失、在训练集上优化、在测试集上验证。
图示
训练数据 (x, y)
│
▼
┌───────────────────┐ ┌──────────────┐
│ 模型 f_θ(x) 参数 θ │ ◀───── │ 损失 L 与优化 │
└─────────┬─────────┘ └──────────────┘
│ 学习完成
▼
新样本 x_new ──▶ f_θ(x_new) ──▶ 预测 ŷ实例或案例
- 监督·回归:用面积、地段、房龄预测房价(连续值)。
- 监督·分类:用还款记录、收入预测是否违约(二分类)。
- 无监督:电商把用户按消费行为聚成几类做运营分层。
- 强化:机器人学走路的奖励反馈 loop(了解即可)。
用 scikit-learn 十行代码即可体会监督学习闭环(细节见 kp-006):
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
X, y = load_iris(return_X_y=True) # 特征与标签
X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.3, random_state=0)
model = LogisticRegression(max_iter=1000).fit(X_tr, y_tr) # 训练:从经验学映射
print(accuracy_score(y_te, model.predict(X_te))) # 泛化性能的近似常见误区
- 把机器学习、深度学习、人工智能画等号:深度学习只是机器学习的一个子分支,人工智能外延更大。
- 认为「有数据就能学」:没有代表性、没有信号(特征与目标无关)的数据学不出可泛化的模型。
- 把无监督聚类的「簇」当成客观存在的类别:簇只是算法按某种几何定义切出的结构。
与其他知识点的关系
学习问题的形式化:假设空间、经验风险与泛化 把本节的直觉形式化为假设空间与风险最小化;机器学习简史:从感知机到统计学习 提供本节概念的历史脉络;三种范式中,监督与无监督分别展开于模块 02/03/04 与模块 05。
自测题
- 按 Mitchell 定义,「垃圾邮件过滤」的任务 T、经验 E、性能 P 各是什么?
- 要点:T = 对新邮件判别垃圾/正常;E = 历史上已人工标注的邮件;P = 分类准确率或精确率/召回率。
- 「给客户按消费行为自动分组」属于哪种范式?为什么?
- 要点:无监督学习,因为没有预先给定的组别标签,目标是从数据结构中发现分组。
- 训练误差接近 0 一定是好事吗?
- 要点:不一定,可能过拟合,训练误差小不代表对未见数据(泛化)好,需用测试集/交叉验证检验(见 kp-005)。
延伸阅读
周志华《机器学习》第 1 章「绪论」;Domingos, A few useful things to know about machine learning(CACM, 2012)。