机器学习的数据处理、模型选择与项目实践
1. 数据不匹配问题
在某些情况下,获取大量训练数据并不困难,但这些数据可能无法完美代表实际生产中使用的数据。例如,开发一个用于拍摄花朵并自动识别其物种的移动应用程序。我们可以轻松地从网络上下载数百万张花朵图片,但这些图片可能无法准确反映用户使用移动应用拍摄的图片。假设我们只有10,000张具有代表性的图片(即实际通过应用拍摄的图片)。
在这种情况下,验证集和测试集应尽可能代表实际生产中使用的数据,因此它们应仅由具有代表性的图片组成。我们可以将这些图片打乱,然后将一半放入验证集,另一半放入测试集(确保两个集合中没有重复或近似重复的图片)。
在使用网络图片训练模型后,如果发现模型在验证集上的表现不佳,我们无法确定是模型过拟合了训练集,还是由于网络图片与移动应用图片不匹配导致的。一种解决方案是从训练图片(网络图片)中留出一部分,Andrew Ng将其称为训练开发集。在模型训练完成后(在训练集上训练,而不是在训练开发集上),我们可以在训练开发集上评估模型:
- 如果模型在训练开发集上表现良好,而在验证集上表现不佳,那么问题可能出在数据不匹配上。我们可以尝试对网络图片进行预处理,使其更接近移动应用拍摄的图片,然后重新训练模型。
- 如果模型在训练开发集上表现不佳,那么模型可能过拟合了训练集。我们应该尝试简化或正则化模型,获取更多训练数据并清理训练数据。
2. 没有免费午餐定理
模型是对观察结果的简化。简化的目的是丢弃那些不太可能推广到新实例的多余细节。然而,要决定丢弃哪些数据和保留哪些数据,我们必须做出假设。例如,线性模型假设数据本质上是线性的,并且实例与直线之间的距离只是噪声,可以安
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



