我们训练机器学习模型时,可以选择训练集来拟合目标函数,降低训练误差,并缩小训练误差和测试误差的差距(欠拟合和过拟合)。
模型的容量可以理解为我们用来拟合各种函数所需的特征或者说能力。容量低的模型可能在训练集上就会很难拟合目标函数,产生而欠拟合;容量高的模型或许会在训练集上可以很好的拟合目标函数,而不具备一定的泛华能力,导致过拟合。
增加模型容量的方法有很多,比如我们使用线性回归函数来拟合一个线性函数,就可以通过增加参数高次幂的方法来增加模型容量,一个5次多项式(包含从1到5次幂以及常数项)的模型就比二次多项式的模型容量要高。但是如果我们要拟合的是一个三次函数,用二次多项式的模型就会导致欠拟合,用5次多项式就可能会导致过拟合。
表示容量:在训练模型的过程中,我们通过调整参数来降低训练误差,模型决定了学习算法可以从哪些函数簇里选择;
有效容量:在实际训练机器学习模型中,从表示容量中选择最优函数是非常困难的,比如我们要拟合一个三次函数,而我们选择的容量中可能包括四次多项式,其实有效容量里是没有四次幂的。实际上我们训练出来的模型只是一个可以大大降低训练误差的函数,并不可能完美,也就说学习算法的有效容量,可能会小于模型的表示容量。