我最近在阅读机器学习导论(an introduction to statistical learning with application in R)中的内容,觉得国外的书和国内的书习题也不是一个风格,当然也有可能是这本书的独特性。比如说第二章习题的第三题,偏差方差分解相关概念的理解,因为这本书淡化了数学理论,所以也就没有对公式的推导有太多的要求,但是它并没有放过这个知识点,而是要你自己去生成数据去拟合,然后画图。说句实话,以前我在学习理论的时候,对某些概念总是有点一知半解,说不明白吧,感觉知识点大概在脑海中有一个模糊的印象,说懂吧,但是并不能清楚地叙述原理。所以上完课以后总感觉知识在大脑中浮光掠影。究其原因,自己虽然也会下力气推倒一些公式,但从来不会验证它们,实验科学的验证有实验,理学的验证有计算机程序。这一点也是国内的书籍不太关注的一点,理论的书籍都是让你在证明,应用的东西直接让你用现成的理论和方法去套用,二者的紧密联系并没有显现出来,我觉得,这是国内的书籍欠缺的一点,也是我们学习中忽视的一点。我在这里要里一个flag,有机会就把书中的代码示例,方法全部实现一遍,虽然我知道这很苦难,但是不要轻易放弃。
下面是我对2.4的第三题给出的一个实例,
x1<-seq(1,50,1)
y1<-x1^2+rnorm(50)
fit1<-lm(y1~I(x12)+I(x13)+I(x14)+I(x15))#这里是分别用不同flexible的模型来拟合数据
mean((residuals(fit1))^2)#这是来计算训练的均方误差
xtest<-51:80