回归
上节课已经说了回归实现输入训练数据生成函数,函数的输出是连续的值
如下图的输入股票前一段时间的数据,预测未来几天的数据
自动驾驶汽车输入传感器收集的各种信息,输出方向盘角度
网站购物的推荐系统,输入某个使用者(多种特征)和商品,输出购买商品打的可能性
老师以宝可梦为例,以输入宝可梦进化前的CP值,求出进化后的cp值
Model
步骤一确定模型,即从一组function集合中,选出一个
y=b+w.xcp其中,b和w开始是随机的,模型3虽然在集合内,但显然是不符合的
线性模型 Linear Model
可以写成的模型,b为偏置,xi为输入的N种属性的第i个,也叫特征
wi为对应特征的系数,也叫权重
这里将真实值作为(可能李老师喜欢这么定义),从图中可以看出,选出10个宝可梦的cp值进化前后的关系,大致呈线性
步骤2 判断函数的优劣
有了函数模型后,给定一组测试数据,就可以根据公式来求出损失函数的值,根据大小来判断优劣
图中使用了方差来作为损失函数,损失函数可以自己选择函数模型
步骤3 选出最优函数
函数集有很多个函数,把这个函数选出来,也就是选择出最优(损失函数取得最小)的参数的过程
梯度下降优化
有题目可知影响损失函数的主要是参数w和b,这里先分析w的影响
如图l(w)是跟w有关的函数,初始随机一点,可得出此点的斜率,我们为了找出最小值,才用梯度下降的方法,即导数大于0,就向后选下一点,否则向前(步进始终朝向下)
我们走下一步取决于当前的导数还取决于学习率,如此继续更新每一步,经过多次迭代,就会达到一个局部最低点(不一定是全局最低),线性回归是没有局部最低的(见图7右侧等高线图),偏置b的更新和w同理
当然L损失函数考虑是w,b的二元函数才是最准确的,具体就需要考虑偏微分,所以我们讲的梯度下降就是
偏微分向量▽L
我们得到了模型,以宝可梦来说,w,b梯度优化后如图,用了距离表示第i个位置到函数直线的y向距离
可以将距离求和得到一个评估
当然我们更关心的是测试数据的数值,在图上都已经列出
如果我们考虑采用二次函数模型,就变成了3个参数,多了个二次项系数
以宝可梦来说,这个采用二次项拟合的函数性能是优化了的,当然高次拟合计算量也大
如果我们再试着用三次和四次拟合呢,如下2张分别是3,4次拟合
三次比之前的2次拟合略优了点,但是四次拟合仅在训练集距离和优化,但是我们想要的测试集却变大了
过拟合
复杂的模型在训练集得到很好的拟合,但是在测试集却误差较大,这种现象叫做过拟合
为了防止过拟合,一个是收集样本要分布均匀,二是建立合适的模型,三是选择合适的特征,当然还有加正则项
Regularization正则化
我们在原来的损失函数上添加一个正则项,正则项系数根据情况可以调节,如
较大时,限制w会较小且平滑,这样会受噪声的影响比较小
如图,我们引入正则项后,调整,得到对训练集和测试集的误差,
越大,训练集误差越大,因为我们更加考虑权重而不是误差,但是可能测试集的误差不会很大,所以我们希望平滑,但是不要太平滑