一、学习任务
二、完成任务2-2
Task02—回归
Part1:任务综述
基于前面的已经学习的内容,从另一个角度来理解线性回归。主要是学习模型的构建,模型的检测。
Part2: 主要内容笔记
我们已经了解到了Regression 就是找到一个函数 function ,通过输入特征 x,输出一个数值 Scalar。
构建模型的步骤
- step1:模型假设,选择模型框架(线性模型)
- step2:模型评估,如何判断众多模型的好坏(损失函数)
- step3:模型优化,如何筛选最优的模型(梯度下降)
(1)step1:模型假设,选择模型框架(线性模型)
当只有一个特征时,构建一元线性模型。当有多个属性特征就构建多元线性模型。
我们知道线性方程可以写成是y=ax+b的形式。
在实际应用例子中,我们要完成:
- Pokemon精灵攻击力预测(Combat Power of a pokemon)
- 输入:进化前的CP值、物种(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)
- 输出:进化后的CP值
根据属性的数量确定好模型之后, 进入第二步。
(2)step2:模型评估,如何判断众多模型的好坏(损失函数)
引入损失函数的概念。假设我们考虑的是一个属性特征。
那么,构建损失函数的模型如PPT截图:
假设有10个pokemons,即10个训练数据来训练这个模型。那么衡量这个模型的好坏,可以求【进化后的CP值】与【模型预测的CP值】差。这个就是使用损失函数的方法。统计的所有训练数据的和越小,模型就越好。如PPT截图中我标注的红色方框中的内容。
从图中可以知道推导过程,是用10个训练数据得到的。最终定义损失函数 Loss function:L(w,b)=
注意:这是一个属性的损失函数。那么我们可以通过调整W,b两个参数来使损失函数值最小,即让这个模型达到最优。
(3) step3:模型优化,如何筛选最优的模型(梯度下降)
前面刚说了如何构建判断一个模型是否是最好的,需要损失函数。在这个函数中需要不但调整W,b两个参数才能得到或者筛选最优的模型。同时也要明白,实际场景中,我们遇到的参数肯定不止两个。
那么现在从简单的入手,调整一个参数w,使损失函数达到最小。如PPT截图可知:
取参数w的一个值,蓝色的斜线是沿着损失函数值作的切线(偏导求得) ,根据它的斜率来判断移动的方向,是该左移还是右移。也是斜率的值是正还是负,从而确定调参的方向。那么移动多少呢?即移动步长。这个取决于两个方面,如下:
红色箭头所指的一个常量,还有蓝色方框里的值。重复这个动作。直到找到最低点。如PPT截图过程展示。
注意:以上的内容都是一个参数w的,那么两个参数同理。设引入2个模型参数 w 和 b , 其实过程是类似的,需要做的是偏微分。如PPT截图。
梯度下降推演最优模型的过程中,如果把 w 和 b 在图形中展示: