数学如何真正流到机器学习

本节定位
这不是一篇新的数学课,也不是一篇具体算法课。它的任务只有一个:把第 4 站学过的数学,真正接到第 5 站的机器学习建模流程里。
学习目标
- 看懂线性代数、概率统计、微积分在机器学习里各自负责什么
- 建立“数据矩阵 -> 预测 -> 损失 -> 梯度 -> 更新”的统一视角
- 不再把数学、代码、模型看成三套互不相干的东西
- 为后面的线性回归、逻辑回归、评估与优化做桥接
新人先掌握 / 进阶再理解
如果你是新人,这一节先抓主线:线性代数负责把数据和参数写成向量 / 矩阵,概率统计负责表达不确定性和定义损失,微积分负责告诉参数往哪边改。
如果你已经有经验,可以进一步关注这些数学对象如何在真实训练循环里对应到代码:X @ w + b 是预测,loss 是目标,grad 是更新方向,lr 是每次迈步大小。
先建立一张地图
先看一个故事:机器学习像开一家会学习的奶茶店
假设你开了一家奶茶店,想预测每杯饮品的销量。你会记录温度、是 否周末、价格、是否有活动,这些记录就是特征。你会用历史销量判断预测准不准,这就是损失。你会根据预测偏差调整每个因素的重要性,这就是参数更新。
线性代数帮你把每天的记录排成表,概率统计帮你判断预测有多不确定、错得多不多,微积分帮你决定每个参数该往哪个方向调。机器学习不是突然冒出来的一套魔法,而是这些数学工具在同一条训练流水线里分工合作。
很多新人学完第 4 站,到了第 5 站还是会觉得像换了一门课。
原因通常不是数学没学,而是没有把数学对象和建模动作对上。
更稳的理解方式是先记住这一张图:
如果你先抓住这张图,后面看到公式时就不容易慌,因为你知道:
- 它到底属于哪条数学主线
- 它在建模流程里到底负责什么
一、线性代数:把数据和参数组织起来
第 4 站里你已经见过:
- 向量
- 矩阵
- 矩阵乘法
- 线性变换
到了机器学习里,它们最直接的用途就是:
- 用向量表示一个样本
- 用矩阵表示一批样本
- 用参数向量表示模型要学的权重
1.1 一个样本为什么会被写成向量?
比如一个房子,我们可能用这些特征描述它:
- 面积
- 房间数
- 楼层
那它就可以写成一个向量:
x = [120, 3, 15]
这不是为了写得高级,而是为了让模型能统一处理各种特征。
1.2 一批样本为什么会被写成矩阵?
当有很多房子时,我们会把它们堆成一个矩阵 X:
import numpy as np
# 3 个样本,3 个特征
X = np.array([
[120.0, 3.0, 15.0],
[80.0, 2.0, 8.0],
[150.0, 4.0, 20.0],
])
print("X 的形状:", X.shape)
print(X)
这时:
- 行 = 样本
- 列 = 特征
这就是后面你在 sklearn 里总会看到 X.shape = (n_samples, n_features) 的原因。