一、超参数实验(未改变网络的情况)
k | num_epochs | lr | weight_decay | batch_size | 训练误差 | 验证误差 | |
---|---|---|---|---|---|---|---|
5 | 1000 | 6 | 0 | 128 | 0.121 | 0.157 | |
5 | 2000 | 5 | 0.1 | 128 | 0.133 | 0.152 | |
5 | 1000 | 6 | 0.2 | 128 | 0.145 | 0.178 | |
5 | 500 | 6 | 0 | 256 | 0.146 | 0.157 | |
5 | 100 | 5 | 0 | 128 | 0.243 | 0.246 | |
5 | 500 | 5 | 0 | 128 | 0.131 | 0.147 | |
5 | 100 | 5 | 0 | 64 | 0.165 | 0.170 |
一般层数越高其lr要越低
训练误差突然上升?
原因:可能是权重衰减从0一下调到0.2导致的
二、网络架构改进
房价可能是曲线,故一定要引入激活函数Relu.
最终三层,32,16,1近乎最优
如果是非线性的那么学习率一般不会超过1
如果不加dropout则0.139,加了变为0.152,似乎dropout对该网络影响不大,加入以后过拟合的现状并未得到改善,但是加入weight_decay确能提高准确度,但是过拟合改善不明显
三、特征预处理
难点:
- 数值较大:取对数,再做标准化
- 有文本特征:可能会内存爆炸,可以用稀疏矩阵解决