回归模型
回归模型,可以做很多预测模型,比如:一个很好的股票预测系统,我们可以找到一个function,预测的数据可以是选择过去十年的股票数据,根据这些数据我们希望得到的是明天的股票指数 ;或者自动驾驶通过检测到的各种数据来预测方向盘的旋转角度实现自动驾驶;又或者用在推荐系统上
本片笔记中,举例使用预测宝可梦的战斗力CP值。原始的特征数据中,原始cp值在下标加上cp,物种是下标s,下标hp表示生命,下标w表示重量,下标h表示高度,这些都是训练数据中的特征。
模型建立
第一步
于是开始常规的第一步,我们找到一个模型function set,找到很多function,之后经过训练得到合理的function
第二步
找到训练数据来训练函数,找到最合适的function
为了判断一个function的好坏,我们又定义了loss函数,它的input就是一个function,它的output就是这个function是好还是坏
第三步
当我们找到了loss函数,并有了一个函数集合,下一步要做的就是从这些函数里面,找到一个最好的function。也可以说是穷举所有的参数,来让这个loss函数最小,以至于可以找到最合适的function。这个方法就是梯度下降
梯度下降的方法:
-
整个loss函数上随机选择一个点w0
-
计算在w0处,loss函数关于w的导数,并将w0代入计算
-
如果斜率是负的,就要增加w的值;如果是正的,就要减小w的值
梯度下降找到的一定是局部最优解,但不一定是全局最优解
第四步
最终通过梯度下降拟合线性回归函数之后可以得到最好的结果是,但是可以发现,个函数模型并不能很好的拟合所给出的数据,但是我们最关心的其实是我们抓到一只新的宝可梦之后,所预测出来的值和真实值之间的误差有多少
于是又找到十个新的数据来计算误差发现误差是35.0,误差较大于训练数据的误差
模型升级
对于这些数据我们想要进一步降低模型的误差,所以引入新的模型来拟合数据,二次函数相对一次函数,在训练集拟合出来的误差减小了一些,变成了15.4,同时在测试集上表现也变得更好
如果用一摸一样的方法拟合三次函数的模型和四次函数模型,可以发现,函数的表现提升并不是十分理想
当模型变成了5次式,可以发现,已经出现了过拟合问题,此时在训练集上的表现变得很差。
难题
当获得的训练数据集变多了,会发现前面找到的模型都变得不合适,此时就要考虑到更多的特征,此时用不同的颜色来表示不同的物种,所以仅考虑进化之前的cp是不足够的,进化后的cp值收到物种的影响很大
重新设计模型
考虑到不同物种需要拟合不同的模型,于是重新设计模型
于是得到的拟合结果是
最后看到我们的数据依然是误差的,于是我们会继续考虑是不是有其他的参数特征来影响进化后的cp值
如果把所有的特征都放进我们的模型,则会 有一个非常复杂的function,但是在测试集上出现了很大的误差
重新定义loss函数
将参数的值加入到loss函数时,w越小loss函数越小,这样可以得到一个相对平滑的loss函数,这个函数对改变的数据会越不敏感,也就是对噪音的抵抗力更强,但是如果λ越大,则考虑w的比重越大,此时在训练集上的误差越大。所以我们喜欢比较平滑的function,但又不喜欢太过于平滑的function
标签:function,loss,误差,函数,05,--,模型,拟合,深度 From: https://www.cnblogs.com/bolunwei/p/17223844.html