Advice for Applying Machine Learning
1.high bias and high variance
high bias即欠拟合,这样的情况下,训练的J收敛比较快,train 和 validation最后都比较相似,增加数据量的大小并没有什么实际意义。
high variance即过拟合,J变化相对比较缓慢,所以增加数据的大小能够小幅度缓解参数的分布,从而能够缓慢的增加准确率,降低J。
一旦J(cross validation)>>J(train data),这意味着在训练中,可能有一些东西没有学到,增加数据会很有帮助,不过如果是大于一点点,可能就是小问题就是过拟合了吧。。。
2.样本和特征相互拮抗
对于high variance来说,就是说明过拟合,而实际上就说明,feature相对于样本数量过多,那么减少feature或者增加样本都有助于缓解high variance。
对于high bias来说,就是欠拟合,说明,当前所拥有的特征并不足以区分样本们,所以需要更多的特征。当然,减少样本的数量就算了吧。。
增加特征可以通过增加比如说二次方项,三次方项等等方法来实现。
其实可以这么想,在高维空间中分布着一些点们,我需要在其中画一条弯弯曲曲的平面将其区分开,有这么主要三个影响因素:样本数量,特征维度,以及正则化项的大小。
前两个因素共同影响样本分布的密度。
最后一个因素影响曲面的扭曲的强度。lambda越大,曲面越耿直。。
所以如果过拟合了,那么说明,我的曲面非常妖娆,或者说数据太容易区分了。曲面妖娆要增加lambda,而数据太容易区分了说明其分布太稀疏,降低维度,或者增加数据量大小都成!
如果欠拟合,将上面的翻过来理解就成。