机器学习2-宝可梦CP进化值的研究


模型步骤

  • step1:模型假设,选择模型框架(线性模型)

  • step2:模型评估,如何判断众多模型的好坏(损失函数)

  • step3:模型优化,如何筛选最优的模型(梯度下降)

    step1:模型假设

一元线性模型:y=b+w*x

多元线性模型:

通过这张图片我们可以看出CP值的确定与weight,height,hp,type都有关,所以这里就可以写成一个多元线性模型,即y=b +∑(wi *xi)

其中xi是各种特征,wi是各种特征的权重,b是偏移量。

step2:模型评估

损失函数 Loss function:

step3:模型优化

如果是线性模型梯度下降求得最佳模型无疑是最好的方法,因为梯度下降仅会在可能出现极小值时受,或者如上面那个地图状的图形的马鞍状时才会受到阻挠,而线性模型刚好契合梯度下降。
如何验证训练好的模型的好坏

这里判断训练模型的好坏只需判断误差的平均值即可。

*优化

1.这里我们会发现种类对于CP值的增长是不对等的,所以这里我们首先可以考虑用激活函数将种类考虑进来,即:

这里的&的值为0或1,如果xs是这个种类那就是1,其余都是0,这样就可以将种类考虑进来,是模型优化

2.其次,我们还可以考虑正则化:

这里的wi越小,图像就越”丝滑“,对于xi的变化就越不敏感。

这里我们可以看出,当x变化了一个Δx,可以将Δx加入括号中,此时wi如果越小,那xi的改变自然对L的影响越小,即越”丝滑“。

这里我们发现随着λ的增大,training的平均误差逐渐增大,这里是可以解释的,因为随着λ的增大,wi逐渐敏感,即wi的值会显著影响L的变化,于是wi会逐渐减小,相应xi的变化对L的影响也逐渐减小,但λ毕竟逐渐增大,所以L也是逐渐增大的。

而testing的平均误差先减小后增大,随着λ的增大,xi的变化对L的影响变小,自然test的结果也会越来越好,但是并不是越平滑越好,你想哈,如果最后平滑成一条水平线了,那不就适得其反了嘛,所以我们要不断调整λ的值,以求寻得最好的效果。


Author: John Doe
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source John Doe !
  TOC