python 李沐 过拟合
时间: 2023-11-07 13:02:21 浏览: 165
过拟合是指模型在训练集上表现良好,但在新数据上表现糟糕的情况。在Python中,过拟合可以通过训练误差和泛化误差的曲线来观察。训练误差和泛化误差曲线,训练误差一直减小,而泛化误差在某个epoch之前贴合(gap小),之后分离(gap大)。李沐老师的代码示例中,关于过拟合的演示是使用多项式函数拟合的例子。在这个例子中,通过增加模型的复杂度,例如增加多项式的阶数,可以观察到训练误差不断减小,但泛化误差开始增大,即出现了过拟合现象。
相关问题
跟着李沐学深度学习欠拟合
### 深度学习中欠拟合的概念及其解决方法
#### 欠拟合定义
当模型未能充分捕捉到训练数据中的模式,从而无法很好地预测新样本时,则认为该模型存在欠拟合现象。具体表现为,在训练集上也表现不佳,即训练误差较大[^3]。
#### 导致原因分析
造成这种情况的原因可能有多种因素共同作用的结果:
- **模型容量不足**:所选架构过于简单不足以表达复杂的映射关系;
- **正则化强度过高**:过度抑制了权重更新使得网络难以收敛至最优解;
#### 解决策略探讨
针对上述问题可以从以下几个方面入手改善性能:
##### 增加模型复杂度
通过增加网络层数、每层节点数量等方式提升整体表征能力,使模型具备更强的学习潜力[^4]。
```python
net.add(Dense(256, activation='relu'))
net.add(Dense(128, activation='relu'))
```
##### 改善特征表示质量
利用更先进的预处理技术如标准化、归一化等手段增强原始信号的有效性;引入额外辅助信息作为补充输入源以丰富上下文语境[^2]。
##### 调整正则项系数
适当降低L2惩罚力度或其他形式约束条件的严格程度以便让权值能够更加灵活地调整适应不同场景下的需求变化趋势。
##### 扩充有效样本规模
收集更多样化的实例扩充现有数据库总量有助于缓解因统计偏差引起的数据分布失衡状况进而促进泛化水平提高。
kaggle房价预测李沐
### 关于Kaggle房价预测项目中的李沐教程、代码及资源
#### 李沐教程概述
在李沐编写的《动手学深度学习》第二版中,有关于利用深度学习技术参与Kaggle房价预测竞赛的内容。这部分不仅涵盖了理论知识还包含了实践操作指南[^1]。
#### 数据预处理方法
对于训练集中目标变量`SalePrice`存在偏度的情况(例如原始数据的偏度为1.88),采用自然对数变换加一(`np.log1p`)的方式对其进行转换以减少偏差的影响[^4]:
```python
import numpy as np
# 对销售价格应用log1p函数减小偏斜程度
train_data['SalePrice'] = np.log1p(train_data['SalePrice'])
print(train_data['SalePrice'].skew(), train_data['SalePrice'].kurt())
```
#### 提交预测结果流程
完成模型训练与评估后,生成符合Kaggle提交标准格式的CSV文件——`submission.csv`。此过程涉及将本地测试集上的预测值保存至该文件内,并通过特定步骤上传至平台进行评分[^2]:
- 登录[Kaggle](https://www.kaggle.com/)官网;
- 进入对应比赛主页;
- 使用页面提供的功能上传准备好的`submission.csv`文档;
- 完成提交动作等待官方反馈成绩。
#### 实战技巧分享
书中提到,在实际比赛中为了提高泛化能力防止过拟合现象发生,可以通过调整正则化系数λ来控制模型复杂度,默认设置下推荐取值约为0.001而非更大数值如1等。
阅读全文
相关推荐












