一、什么是模型?
模型其实就是一个数学公式,它的目标是用数据解决实际问题。
打个比方:你用一个公式 y = 2x + 3 来表示“买 x 个苹果要花多少钱”,那这个公式就是一个模型。设计模型,就是设计这个“数据到结果”的转换过程。
二、模型到底要解决什么问题?
一句话:分类问题。
比如:给你一张鱼的照片,要让模型告诉你——这是条什么鱼?
你把图片输入模型,模型会计算出这是“100种鱼”中每一类的概率,最后选出概率最大的那一类作为答案。
三、怎么设计一个模型?
设计模型 = 设计公式 + 找到最合适的常量(参数)。
比如 y = 3x + 5:
- x 是输入,y 是输出;
- 3 和 5 是控制输出结果的“常量”;
- 换个常量,输出就变了。
一个真正的模型,可能有上亿个参数。像 GPT-3 模型,参数有 1750 亿个!这就好比一个超复杂的数学公式,里面藏着一堆待优化的数字。
四、神经网络是啥?
神经网络是受人脑启发的一种模型结构,核心是:分层处理数据。
每一层里有很多“节点”,这些节点会对输入数据做处理,提取出某种“特征”,然后传给下一层。这个过程一层一层往下走,直到输出最终的结果。
每个节点之间的连接有“权重”(也就是参数),这些权重决定了数据在网络中的“流动方式”。
五、神经网络的通用数学公式
假设第 n 层有 m 个输入数据(向量),第 n+1 层有 r 个输出数据。
第 n+1 层中每一个输出 r[i] 的计算方式是:
r[i] = m[0] * w[0] + m[1] * w[1] + ... + m[m-1] * w[m-1]+w[m]
其中:
- m[0]~m[m-1] 是上一层的输出;
- w[0]~w[m] 是参数(权重);
- 每一层的参数和结构都可以不同。
六、什么是机器学习
机器学习就是一个过程:通过大量的计算,找出最优参数组合,让模型尽可能准确。
也可以理解为:训练模型,让它更聪明。
七、机器学习的过程
比如有公式:y = ax + b; 我们拿到一堆(x,y)的训练数据,要做的就是找到最合适的a和b,让这个公式尽量符合这些数据。 找对a和b,模型就能记住规律,遇到新数据时也能判断准确。
八、怎么找到最优数据
- 一开始我们随便猜个a = 3,b = -5;
- 把数据代进入,算出测试值,跟真实值比一比,得出误差;
- 再换一组a和b,看看误差有没有变小;
- 不断调试,直到误差最小。
九、什么叫损失函数
误差怎么算,就得靠损失函数
常见的损失函数形式:
- 平方差:(预测值-真实值)的平方;
- 绝对差:|预测值-真实值|;
- 交叉熵、对数损失等等
损失函数的作用就是告诉我们:当前模型错的有多离谱。
十、什么是梯度下降
当我们试图最小化损失函数时,就要知道“往哪个方向调参数更好”; 梯度下降法就是帮我们自动找方向、自动调参数和的数学工具,让误差一步步下降。
十一、学习率是干什么的
学习率控件的是:每次更新参数的“步长”:
- 步子太小:模型学的太慢;
- 步子太大:模型容易冲过头,变得不稳定;
所以选对学习率非常关键。
十二、什么是偏导数
偏导数表示:我们只改变一个变量时,结果变化有多大;
在模型训练中,我们要知道:a变化一点点时,损失有多少;b变化一点点时,损失有多少? -- 这些都是由偏导数来告诉我们的。
十三、什么是过拟合
过拟合指的是:
- 模型在训练数据上表示很好;
- 但是换个数据就惨不忍睹;
就好比你死记硬背了一本书的答案,考试时换个题你就懵了。
过拟合的模型看起来很聪明,其实没学会真正的规律。