【Task02:回归】
1.1Model
假设function:y=b+w·xcp(线性模型),在最初的时候找一个更好的模型,再去训练参数值
1.2 goodness of function
训练数据(真正输入的data):10只宝可梦原始的cp值和进化后的cp值
定义loss function——L(input是一个function,输出为这个function有多不好,就是这个function带来的误差,也就是衡量参数w,b的好坏)
挑选最好的function:
使用梯度下降(gradient descent)确定最佳的w和b使得误差最小。
确定过程:
①随机选取w0,b0,计算L对w和b的偏微分,通过对w和b的梯度下降学习,不断找到w0,w1~,b0,b1~,
②w,b的损失值图,不断梯度下降直到找到一个损失值最小的w,b
③真正关心的是利用训练出的模型去预测未知的宝可梦的cp值,通过预测结果,得出一个误差值,但如果想去找一个更好的模型,可以进一步去猜测一个更多参数的模型,在利用新的模型,去做以上类似的工作,但如果一味去最求训练数据的平均误差小的话,可能会导致测试数据的过拟合,就是误差过大。
通过不同模型比较,看训练集的平均误差和测试集的平均误差。
越复杂的函数,可以找到一个函数使得训练数据的平均误差越来越小,但不一定会造成测试数据上的平均误差小,这种现象也被称为过拟合,需要寻找二者平均误差均最小的模型
1.3更多参数考虑
考虑更多的参数,重新设计一个模型(不同的物种可能适用一个不同的模型)
可以将这些物种的模型融合到一个线性模型中,不过需要使用一个脉冲函数
,去决定是否使用这段函数。
变成这样
如果对于一个物质没有了解,可以将你所有能想到的因素带入到模型函数中,然后看会发生什么,可能会过拟合,但你可以通过加正则化(regularization)。在模型函数后面加上一个比较小的自变量(wi),(不用考虑b(只是模型线的上下移动)),这样就可以产生一个较小的因变量(y)产生一个更平滑的变化,这样可以考虑到如果有一个噪音值输入,会减小对结果的影响,但我们又不想太平滑,不然对结果也没有影响,因此需要找个最合适的。