官术网_书友最值得收藏!

Underfitting and overfitting

Predictor training can lead to models that are too complex or too simple. The model with low complexity (the leftmost models in the following diagram) can be as simple as predicting the most frequent or mean class value, while the model with high complexity (the rightmost models) can represent the training instances. Modes that are too rigid, shown on the left-hand side, cannot capture complex patterns; while models that are too flexible, shown on the right-hand side, fit to the noise in the training data. The main challenge is to select the appropriate learning algorithm and its parameters, so that the learned model will perform well on the new data (for example, the middle column):

The following diagram shows how errors in the training set decreases with model complexity. Simple rigid models underfit the data and have large errors. As model complexity increases, it describes the underlying structure of the training data better and, consequentially, the error decreases. If the model is too complex, it overfits the training data and its prediction error increases again:

Depending on the task complexity and data availability, we want to tune our classifiers toward more or less complex structures. Most learning algorithms allow such tuning, as follows:

  • Regression: This is the order of the polynomial
  • Naive Bayes: This is the number of the attributes
  • Decision trees: This is the number of nodes in the tree—pruning confidence
  • K-nearest neighbors: This is the number of neighbors—distance-based neighbor weights
  • SVM: This is the kernel type; cost parameter
  • Neural network: This is the number of neurons and hidden layers

With tuning, we want to minimize the generalization error; that is, how well the classifier performs on future data. Unfortunately, we can never compute the true generalization error; however, we can estimate it. Nevertheless, if the model performs well on the training data but performance is much worse on the test data, then the model most likely overfits.

主站蜘蛛池模板: 繁峙县| 鹰潭市| 台山市| 杨浦区| 仁化县| 秦皇岛市| 博湖县| 长汀县| 高陵县| 襄樊市| 鸡东县| 灵武市| 额济纳旗| 富民县| 兴仁县| 于田县| 梧州市| 伊春市| 广丰县| 泸溪县| 长宁县| 闵行区| 平顶山市| 靖安县| 烟台市| 雷波县| 洪湖市| 海盐县| 石门县| 文昌市| 青海省| 刚察县| 多伦县| 丰宁| 锡林浩特市| 武强县| 彭水| 龙川县| 武平县| 庄河市| 卓资县|