1.对数据集的处理
一般来说要对数据集作一个2:2:6的处理,分别是测试集,交叉测试集,训练集(且最好是随机化)
2.选择训练模型
训练模型的形状大致跟两个参数有关一个是hypothesis函数的最高幂,用d来表示。
一个是正则项的系数,用λ表示
d的值越高,对数据的拟合度就越高,反之越低
λ过大则有可能出现训练模型为一条直线的情况,λ过小则有可能过拟合
那么要怎么选择这两个的值呢?
首先我们选取幂的值大致在1-10这个范围,一般我会先观察数据集,大致得出一个理想的线条来拟合它,初步估计是怎样的一个线条,不行的话就从中间开始
选取λ的值我们会从0、0.01、0.02、0.04、0.08、0.16、0.32、0.64、1.28、2.56、5.12、10.24这些数中来选。
根据你选的训练模型和你实际数据对比一般有两种情况,一种是欠拟合,一种是过拟合。
欠拟合会出现高偏差的情况,过拟合会出现高方差的情况(不理解没事)
前面说了d的值越高拟合度越高,λ的值越小拟合度越高
接下来用图形展示:
所以d值应取在Jcv最低点处
λ的值类似。。。
另外还有一个特别重要的学习算法,明天再写吧