{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title":"人工智能与大数据技术导论","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787302517986","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","uuid":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title":"人工智能与大数据技术导论","normalized_title":"人工智能与大数据技术导论","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787302517986","isbns":["9787302517986"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":490,"navigation_url":"https://workshop.closeclaw.top/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title_url":"https://workshop.closeclaw.top/ai/title/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8A%80%E6%9C%AF%E5%AF%BC%E8%AE%BA","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","page_url":"https://workshop.closeclaw.top/api/ai/books/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page","search_url":"https://workshop.closeclaw.top/api/ai/books/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/search"},"page":{"printed_page":238,"pdf_page":254,"physical_index":254,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"1778d1be9592ed225f0a7a55b9452a3c59240dbdc6eeb98462cbe97680daa735"},"chapter":"第8章","content":"8.3.1训练集和测试集\n\n如何才能确保在实践中模型不会过拟合呢？在理想情况下，我们希望能够对数据样本进行训练，然后知道这个模型会很好地预测新样本。简单来说，一个好的模型应尽可能简单。这个称为“泛化（generalization）理论”。过拟合往往是模型太复杂造成的。一个基本原则是拟合数据刚刚好，而且尽量简单。在机器学习中，我们利用的是经验。我们的策略是，使用测试集。我们从整个数据集中抽取一批数据，对这些数据进行训练，这就是训练集（trainingset）。我们再从同一个数据集中另外抽取一批数据，称为测试集（test set)，如果测试集的预测效果好，即预测测试集和预测训练集的效果一样好，我们就可以满意地确定，模型可以很好地泛化到未来的新数据。在这里，要注意以下事项（这也是机器学习的一些细则）：\n\n我们要以独立且一致（independently and identically）的方式从整个数据集抽取样本，不以任何方式主动产生偏差。训练集和测试集应该是随机抽取的，而不是相同的数据子集。同时测试集要足够大。\n\n●整个数据集是平稳的（stationary），不会随时间发生变化。\n\n●训练集和测试集始终从同一个数据集中提取样本，在当中不会从其他数据集中提取样本。\n\n以上是一些非常关键的假设，我们在监督式机器学习中，所做的许多工作都是以这些假设为基础的。但是在实践中，有时会违反这些假设。比如，我们有时可能会违反平稳性假设，例如用户的购物行为在节假日或夏季是不同的。如果我们只是用节假日数据建立了模型，那么该模型可能对夏季数据是不准的。因此，我们必须密切关注各项指标，在违反上述假设时，就能立即知晓。\n\n如果只有一个数据集，该怎么办?我们可以将这个大型数据集分成两个小数据集：一个用于训练；另一个用于测试。测试集数据要能够代表整个数据集，训练集和测试集具有相同的特性，如图8-33所示。\n\n这两个数据集需要相互独立。我们可能需要先进行随机化，再拆分数据。这样才能避免发生诸如意外将全部节假日数据归入训练数据集，而将全部夏季数据归入测试数据集之类的糟糕情况。那么我们该怎么拆分一个数据集呢？有两点需要注意：\n\n●训练集规模越大，模型的学习效果就越好。\n\n●测试集规模越大，我们对于评估指标的信心越充足，置信区间就越窄。\n\n人工智能与大数据技术导论\n\n238","previous_page":237,"next_page":239}