文章目录
- 一、模型model
- 二、较好的函数function
- 三、最好的函数function
- 3.1 一维函数
- 3.2 二维函数
- 3.3 局部最优解和全局最优解
- 3.4 模型的泛化(Generalization)能力
- 3.5 隐藏的因素(hidden factors)
- 3.5 正则化(Regularization)
一、模型model
- 一个函数function的集合:
- 其中wi代表权重weight,b代表偏置值bias
- 𝑥𝑖可以取不同的属性,如: 𝑥𝑐𝑝, 𝑥ℎ𝑝, 𝑥𝑤,𝑥ℎ…
- 我们将𝑥𝑐𝑝拿出来作为未知量,来寻找一个最优的线性模型Linear model:
二、较好的函数function
- 损失函数Loss function 𝐿:
- L的输入Input是一个函数 f ,输出output则是一个具体的数值,而这个数值是用来评估输入的函数 f 到底有多坏
代表真实值,而
代表预测值,
代表真实值与预测值之间的总误差
- 将函数 f 用w,b替换,则可以写成下面这样
- 当 L 越小时,则说明该函数 f 越好,也就是该模型越好。在下图中的每一个点都代表一个函数 f
三、最好的函数function
- 梯度下降Gradient Descent:就是求最好函数的过程
- $f^{}
w{*},b{}:$代表最好的权重weight和偏置值bias
3.1 一维函数
下图代表Loss函数求梯度下降(Gradient Descent)的过程,首先随机选择一个。在该点对w求微分,如果为负数,那么我们增大
的值;如果为正数,那么我们减小
的值。
,其中 η 代表学习率:Learning rate,意味着每次移动的步长(step)
,
代表初始点
要移动的下一个点,就这样一直迭代(Iteration)下去,最终就会找到我们的局部最优解:Local optimal solution



3.2 二维函数
- 对二维函数$Loss $
求梯度下降:
- 随机初始化
,然后计算
和
:

3.3 局部最优解和全局最优解
- 公式化(Formulation)
和$
\frac{\partial L}{\partial b}$:
- 在非线性系统中,可能会存在多个局部最优解:
3.4 模型的泛化(Generalization)能力
- 将根据loss函数找到的最好模型拿出来,分别计算它在训练集(Training Data)和测试集(Testing Data)上的均方误差(Average Error),当然我们只关心模型在测试集上的具体表现如何。
- 由于原来的模型均方误差还是比较大,为了做得更好,我们来提高模型的复杂度。比如,引入二次项(xcp)2
- 继续提高模型的复杂度,引入三次项(xcp)3
- 继续提高模型的复杂度,引入三次项(xcp)4,此时模型在训练集上的均方误差变得更小了,但测试集上的反而变大了,这种现象被称为模型的过拟合(Over-fitting)
- $y = b + w1∙x_{cp} + w2∙(x_{cp})2+ w3∙(x_{cp})3+ w4∙(x_{cp})4 $ Average Error = 28.8

3.5 隐藏的因素(hidden factors)
- 当我们不仅仅只考虑宝可梦的cp值,将宝可梦的物种因素也考虑进去的话,在测试集上的均方误差降低到了14.3


- 当我们继续考虑其他的因素,比如每只宝可梦的身高Height,体重weight,经验值HP。模型此时变得更加复杂了,让我们来看看它在测试集上的具体表现如何,非常不幸模型再次出现过拟合。

3.5 正则化(Regularization)
- 为了解决过拟合的问题,我们需要重新设计一下损失函数 L,原来的损失函数只计算了方差,而没有考虑到含有干扰的输入对模型的影响。因此我们在 L 后面加上一项:
- 重新设计的损失函数 L :
- 很显然根据下面的实验,我们取得了更好的表现,

















