前文中,我们已经学习了linear classification,linear regression,logistic regression三种线性方法。
如何解决这种问题呢?
其实很好解决,只需要加入一些二次项即可。
这种思路非常简单易懂,我们关心的是:这样做会带来什么样的后果。
根据之前我们讲过的,对于linear classification这种问题,其vc dimension等于自由度,我们可以得到,进行Q-th order多项式变换之后:
1)对于实际计算上来说,原来x是d维数据,现在x是O(Qd)维数据,计算和存储上实现都比较困难;
2)如果Q很大,导致dvc很大,根据之前的VC bound理论,从而会导致Ein与Eout相差很大;
所以呢,具体上Q的选择也需要trade-off:
我们可以看出,这里Q起到的作用与之前我们提高的dvc和mH是等价的。
就像我们一开始提到的,有很多时候,我们不得不使用nonlinear transform,如何选择Q是一个重要的问题。Q太大会导致过度拟合问题,Q太小呢,可能会导致算法无法解决此问题。一个合理的思路是:
从最小的H1(也即:Q=1)开始,如果此时算法的表现足够好,那么就用此算法;否则,再逐渐增加Q。从上面的curve来说,就是从最左边开始逐渐向右移,直到找到好的结果。