机器学习基本范式

举例 : MNIST 识别手写数字

1. Hypothesis Class(我们选择的模型结构)

ŷ = softmax(W · x + b)

x = [0.0, 0.1, 0.8, ..., 0.0] ← 共 784 个数(784个像素点,原始图像根据每个像素点的亮度给每个像素点一个0-255的值,这些小数是通过归一化())

W 是一个10 * 784的矩阵(10行代表0-9 十个数字)。 每一行的784个值代表每个类别(哪个数字) 对该像素点的权重

假设我们W*x+b 算出来 z = [3.2, 2.5, 0.1, -1.2, 0.9, 0.2, -0.7, 1.1, -2.4, 0.0]

z向量的每个数对应对每个数字的打分。

通过softmax得到对每个数字的概率分布 :
softmax(z) ≈[0.528, 0.263, 0.024, 0.006, 0.053, 0.026, 0.011, 0.065, 0.002, 0.021]

选最大概率的数字,所以输入的图片被识别为数字0

2. Loss Function(损失函数)

损失函数告诉我们:当前模型的输出和真实答案差多远
识别手写数字这种分类问题常用的损失函数是交叉熵损失

Loss 越小代表模型效果越好

3. Optimization Method(优化方法)

优化器就是用来寻找最好的参数,让整个训练集的损失最小,在识别手写数字钟就是寻找最合适的W和b

我们先用一个W和b算出一组数据,然后(W和b的梯度是针对损失函数而言,让损失函数值最小)

将更新后的参数再喂给一张图片,重复算出最合适的参数(交叉熵最小的)

posted @ 2025-05-14 11:09  拾墨、  阅读(36)  评论(0)    收藏  举报