近似误差:可以理解为对现有训练集的训练误差。
近似误差,更关注于“训练”。
如果近似误差小了会出现过拟合的现象,对现有的训练集能有很好的预测,但是对未知的测试样本将会出现较大偏差的预测。模型本身不是最接近最佳模型。
估计误差:可以理解为对测试集的测试误差。
估计误差,更关注于“测试”、“泛化”。
估计误差小了说明对未知数据的预测能力好。模型本身最接近最佳模型。
以下是大神的见解:
近似误差其实可以理解为模型估计值与实际值之间的差距。
估计误差其实可以理解为模型的估计系数与实际系数之间的差距。
在kNN中设定的k值越小,得出的模型是越复杂的,因为k值越小会导致特征空间被划分成更多的子空间(可以理解为模型的项越多)。而k值越大得到的模型其实是越简单的 - - 所以当k值越小,对于训练集的预测更加精确,近似误差会越小(因为你选择了更加复杂的模型去预测训练集)。当k值越大,对于训练集的预测则不会那么准确,所以近似误差会越大(因为你选择了更加简单的模型去预测)。
而另一方面,由于设定了比较小的k值,模型比较复杂就会产生过度拟合(overfitting)的问题。
如上图中对于这个训练集而言,其实选择3次多项式来作为预测模型是与实际模型最符合的,可是当选择9次多项式的话(对应k值越小),虽然对训练集的预测非常准确(近似误差越小),但是这是一个明显的过度拟合问题(overfitting),得出的预测模型的估计误差相对于3次多项式其实是更大的。