维克托儿

V1

2022/12/30阅读:14主题:自定义主题1

5分钟足矣——拟合的好不好

上回说了拟合的意义,那么,如何评价拟合的好不好呢?

先介绍一个新词:泛化

泛化

泛化一词的意思是:由具体的、个别的扩大为一般的。

我们知道,机器学习的过程,是通过在训练数据上的学习,在测试数据上的完成测试。终极目标是在生产数据中进行预测,提高生产力。

那么训练数据、测试数据和生产数据并不相同,在训练数据上训练的模型,能否扩大到一般,是否代表真正学会了知识,能否通过测试,能否在生产上准确预测,这些都是不一定的,这就是泛化能力

拟合的好不好

回到今天的话题,怎么评价拟合的好不好呢?

根据模型在训练数据和测试数据的表现,分4种情况:

训练数据表现 测试数据表现 结论
不好 不好 欠拟合
不好 过拟合
刚刚好
不好 不太可能,见鬼了

如果在训练数据和测试数据都表现很好,那是完美的。

如果训练的不好,测试的好,那就见鬼了。现实中,平时不好好学习,考试考的好,那只有一种可能:作弊了。

看下图,很直观。

下面分别说下欠拟合过拟合

欠拟合Underfitting和过拟合Overfitting

欠拟合很容易理解,就是没学好。

平时不好好学习,指望考试的时候超常发挥,不太可能。造成这个问题,有可能是训练数据不够,平时做题太少,肯定学不会。也有可能是模型选择的有问题,那就是学习方法不对,再学也学不会。

过拟合就是学多了,学过了。

为啥学多了还不行呢?刚才说过,机器学习的最终目的是在生产中准确预测,也就是泛化能力很重要。正常情况下,训练数据中会有很多误差点,甚至异常点,但机器不知道如何分辨哪个是异常点,如果把异常点也当作正常情况,学到了很多不对的知识,等拿到生产中预测的时候,就有可能造成错误的判断。学了不该学的,不就是学多了。

比如在一堆图片中识别猫的任务,假如训练数据中混进几只小老虎的错误照片,结果机器太努力的,认为老虎也是猫,抓取了老虎的特征,当成是猫,那么在实际预测的时候,也有可能错误的把老虎当成猫,甚至把不是猫的当成猫。

另外,还有一种可能,训练数据不够丰富也可能造成过拟合。比如还是猫的例子,训练数据只有花猫,结果机器把花猫这个特征也学习到了,认为花猫才是猫,那么在实际预测的时候,给它一个白猫的照片, 它不认为是只猫。

从这个角度看,机器还是很傻的,永远达不到人的智力,人工智能有时候是人工智障。

总结

拟合这件事说到底就是个“”的把控问题,少一分不行,多一分也不行,有的事情难就难在这个“度”上。

欠拟合多数是数据问题导致的,数据不好,模型再牛逼也没用;过拟合多数是模型或参数导致的,模型过于复杂,学到了很多无用的特征,反而越策错误。

欠拟合比较容易解决,数据不够就想办法增加数据。

过拟合有时候不太好解决,实际工程中,特别是深度学习中,过拟合是非常常见的,其实也是“调参侠”们的主要对手。

不过别担心,针对过拟合有很多解决方案,留在以后再说。

分类:

人工智能

标签:

深度学习

作者介绍

维克托儿
V1