概述
回归案例
我们评估一只宝可梦在进化后的战斗力,这里有当前战斗力,宝可梦种类,宝可梦血量,重量,高度等特征值,我们将宝可梦放入一个函数里,其实就是将这些特征值放入函数里,然后输出进化后的cp值。
步骤1
我们假设只与当前cp值有关,且假设是一个线性回归模型。我们要在函数集合里面挑选一个最优的函数,也就是挑选最优的w和b。
w和b会有一个初始值,然后不断被训练,直到得到最好的。
步骤2
上图是我抓了十只宝可梦当作训练集,初始cp值和进化后的cp值都是真实数据,然后用于训练模型。
那么我们怎么知道得到模型是最好的??这里需要一个损失函数去度量。如上图所示,将一个函数作为参数输入给损失函数,然后输出值是一个百分比,越小越好。
步骤3
我们采用梯度下降的方式找出最好的函数,也就是最好的w和b。
如上图,假设b为0,先考虑w,对损失函数的w求导,也就是找一条切线,然后慢慢向最低点移动。
η是学习率,也就是切线以什么速率移动。
但要注意,是局部最小还是全局最小。
上图是考虑了w和b的梯度下降。
上图是考虑了w和b的梯度下降的过程,是怎么走到相对很好的区域。
如上图,是有w1和w2的情况,也是有局部最低点存在的。
训练结果
如上图是在训练集上得到的曲线
如上图是在测试集上得到的曲线,很明显,测试集的错误率高,这是因为我本身就是用训练集训练的模型,所以用训练集训练出的模型去预测训练集的数据自然比测试集的精确度高。
测试一下其他模型
看上面几张图,当多项式次数过多反而得到的结果很差。
如上图,多项式次数多的包含了次数少的,自然次数多了可能会有太多很废的函数!!!
如上图,多项式次数过多(函数过于复杂)会导致过拟合,也就是对数据的敏感性太大,数据稍微变一下,那么预测结果就跑偏了。
加入一些其他特征值
模型的好坏是否与宝可梦的品种有关??我们来测试一下。
上面所示加入了品种的判断,每个品种有自己的模型。
那么我们再加一些其他因素?
如上图,因素(特征)太多就过拟合了。
上图是我们用正则化去使损失函数更加平滑,也就是对数据变化不要那么敏感,下图是正则化后的结果。
最后
以上就是美丽丝袜为你收集整理的Regression Case Study的全部内容,希望文章能够帮你解决Regression Case Study所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复