基础与框架入门15 分钟kp-001#基础#术语#范式

什么是机器学习:定义、三种范式与术语地图

进度

一句话定义

机器学习(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,学习的理想目标是最小化泛化误差(对真实分布的期望损失):

R(f) = 𝔼(x,y) ∼ 𝒟[L(y, f(x))]

但真实分布未知,只能用训练集上的经验误差近似,这就是后续所有模型 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。

自测题

  1. 按 Mitchell 定义,「垃圾邮件过滤」的任务 T、经验 E、性能 P 各是什么?

- 要点:T = 对新邮件判别垃圾/正常;E = 历史上已人工标注的邮件;P = 分类准确率或精确率/召回率。

  1. 「给客户按消费行为自动分组」属于哪种范式?为什么?

- 要点:无监督学习,因为没有预先给定的组别标签,目标是从数据结构中发现分组。

  1. 训练误差接近 0 一定是好事吗?

- 要点:不一定,可能过拟合,训练误差小不代表对未见数据(泛化)好,需用测试集/交叉验证检验(见 kp-005)。

延伸阅读

周志华《机器学习》第 1 章「绪论」;Domingos, A few useful things to know about machine learning(CACM, 2012)。