备:
High bias(高偏差) 模型会欠拟合
High variance(高方差) 模型会过拟合
正则化参数λ过大造成高偏差,λ过小造成高方差
一、利用训练好的模型做数据预测时,如果效果不好,下一步大概如何做?存在如下几种情况:
1)获取更多的训练样本。(高方差时用。增加训练样本能防止过度拟合,进而防止高方差,因为非常多的训练样本,很难完全拟合)
2)使用更少的特征维度。(高方差时用,因为有可能过拟合了)
3)使用更多的特征维度。(高偏差时用,因为有可能欠拟合了)
4)增加多项式特征。(高偏差时用)
5)减小λ值。(高偏差时用,因为可能欠拟合了)
6)增加λ值。(高方差时用,因为可能过拟合)
二、训练样本分割比例问题
1)通常7:3比例:70%训练样本,30%测试样本
2)另一种是6:2:2 60%训练集 20%验证集 20%测试集
在选取正则化参数λ的值与多项式预测选用最高次数时,均可以采用第(2)种分割方式。
例如:对于多项式最高次数d(d=1,2,...,10),分别用训练集训练出10个模型,然后利用学习后的参数Θ计算验证集的误差Jcv,选取使Jcv最小的一个d。
神经网络的隐藏层数,也可以采用第(2)种方式,用验证集去验证采用几个层比较好,方法同上述多项式。一般来讲,采用一个隐藏层的居多。
三、当模型处于高偏差时,此时模型过于简单,处于欠拟合状态。这个时候增加更多的训练样本,依然不会有用,因为当前的训练样本都没有拟合好,增加更多的样本,更难以拟合好,所以是模型的问题所在。
四、如何平衡查准率和召回率?
采用F1值是一个好办法。
F1=2*[(P*R)/(R+P)] 当P或R=0时,F1=0 (可以防止某一项值过低) ;当P=1且R=1时,F1=1
F1值越大的模型,相对较好一些。
五、什么条件下训练出来的模型最好(总结)?
1)拥有复杂的参数,模型可以防止高偏差。
2)拥有更多的训练样本,可以防止高方差。
所以,如果一个模型拥有相对复杂的参数(也不能太复杂),同时拥有更多的训练样本,这样出来的模型往往是一个较好的模型!
六、根据模型的学习曲线(learning curves)判断模型拟合的好与差。
因为多维数据很难直接画出数据与模型的拟合曲线,通过画模型的学习曲线可以直观看出模型的拟合情况。
High bias(高偏差)
High variance(高方差)
七、在进行多项式回归时,比如:x,x^2,x^3,...,x^8等等,一定要先对x进行归一化,否则的话,x^8的值会非常之大。