{"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":275,"pdf_page":291,"physical_index":291,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"6c4570bcba6a2bd6f380ab26b8b5d19cb471bf7460e33cc7213876bc366509a8"},"chapter":"第9章","content":"特数据。\n\n那么该如何处理过拟合呢？我们可以通过正则化来避免过拟合。正则化有很多不同的策略。其中一种策略是“早停法”，也就是在训练数据的效果实际收敛前停止训练。尽量抵达验证数据曲线的底端，这是一种常用策略，但实际操作起来可能有些困难。其他正则化策略包括尝试添加模型复杂度惩罚项。我们可以在模型训练期间添加模型复杂度惩罚项。\n\n在这之前，我们的训练仅专注于一个重要方面，也就是获取正确的训练样本，最大程度地减少经验风险，即经验风险最小化：\n\n$$\n\\mathrm { m i n i m i z e ( L o s s ( D a t a | M o d e l ) ) }\n$$\n\n现在引入第二项以对模型复杂度进行惩罚：\n\n$$\n\\mathrm { m i n i m i z e ( L o s s ( D a t a | M o d e l ) + c o m p l e x i t y ( M o d e l ) ) }\n$$\n\n这称为结构风险最小化（structural risk minimization）。我们要平衡这两个关键因素（误差和复杂度），确保获取正确的训练数据，但又不过度信赖训练数据以免使模型过于复杂。那么，如何定义模型复杂度呢？我们可以采用多种方法。一种常见的策略是定义一个基于所有特征权重的函数。这个方法是尽量选择较小的权重，也就是使参数尽可能小，同时仍能获取正确的训练样本。换句话说，权重越高，复杂度越高。\n\n我们使用L2正则化公式来量化模型的复杂度：\n\n$$\nL _ { 2 } \\mathrm { \\ r e g u l a r i z a t i o n \\ t e r m } = | | \\pmb { w } | | _ { 2 } ^ { 2 } = w _ { 1 } ^ { 2 } + w _ { 2 } ^ { 2 } + . . . + w _ { n } ^ { 2 }\n$$\n\n上面定义了一个正则项（regularizationterm），它是所有权重的平方和，用于衡量模型复杂度。在上面的公式中，如果权重非常小（比如趋近于0），那么对复杂度的影响很小。离群值（outlier）的权重一般对复杂度影响大。假定我们有以下权重的线性模型：\n\n$$\n\\{ w _ { 1 } = 0 . 2 , w _ { 2 } = 0 . 5 , w _ { 3 } = 5 , w _ { 4 } = 1 , w _ { 5 } = 0 . 2 5 , w _ { 6 } = 0 . 7 5 \\}\n$$\n\n那么：\n\n$$\n\\begin{array} { r l } & { \\omega _ { 1 } ^ { 2 } + \\omega _ { 2 } ^ { 2 } + \\omega _ { 3 } ^ { 2 } + \\omega _ { 4 } ^ { 2 } + \\omega _ { 5 } ^ { 2 } + \\omega _ { 6 } ^ { 2 } } \\\\ & { = 0 . 2 ^ { 2 } + 0 . 5 ^ { 2 } + 5 ^ { 2 } + 1 ^ { 2 } + 0 . 2 5 ^ { 2 } + 0 . 7 5 ^ { 2 } } \\\\ & { = 0 . 0 4 + 0 . 2 5 + 2 5 + 1 + 0 . 0 6 2 5 + 0 . 5 6 2 5 } \\\\ & { = 2 6 . 9 1 5 } \\end{array}\n$$\n\n所以，L2正则化项为26.915。在上面的贡献度上，我们发现 ${ \\bf W } _ { 3 }$ 是25，基本上贡献了最多的复杂度。目前，我们在训练优化方面添加了两项：第一项是训练误差，取决于训练数据；第二项是模型复杂度。第二项与数据无关，只是要简化模型。在实际使用中，我们把这两项通过lambda实现了平衡，公式如下：\n\n$$\n\\mathrm { m i n i m i z e ( L o s s ( D a t a \\vert M o d e l ) } + \\lambda \\mathrm { c o m p l e x i t y ( M o d e l ) } )\n$$\n\n第9章 TensorFlow 高级知识\n\n275","previous_page":274,"next_page":276}