NTU ML2023Spring Part2.2 新手村攻略
1.NTU ML2023Spring Part02.NTU ML2023Spring Part1(合集)3.NTU ML2023Spring Part2.1 基础知识
4.NTU ML2023Spring Part2.2 新手村攻略
5.NTU ML2023Spring Part2.3 训不起来怎么办6.NTU ML2023Spring Part2.4 卷积神经网络(CNN)7.NTU ML2023Spring Part2.5 self attention8.NTU ML2023Spring Part2.6 Transformer9.NTU ML2023Spring Part2.7 GAN10.NTU ML2023Spring Part3.1 Regression11.NTU ML2023Spring Part3.2 Classification12.NTU ML2023Spring Part3.3 CNN13.NTU ML2023Spring Part3.4 Self AttentionLicense: CC BY-NC-SA 4.0
loss (test) large | loss (test) small | |
---|---|---|
loss (train) large | 可能是 optimization 不够或模型不够复杂 | 运气好 |
loss (train) small | overfitting 或 mismatch | 理想状态 |
overfitting:需要做 data augmentation 或模型过于复杂
mismatch:训练集和测试集的数据分布不一样
关于模型不够复杂或过于复杂:把训练集分一部分作为 validation set(相当于预测试?)
如何判断一个模型 loss 高的原因是不够复杂还是 optimization 不给力?
-
先训些比较简单的模型,比如网络深度浅一点,或者 SVM(支持向量机)这种容易优化好的
-
如果更大的网络在 training data 上的 loss 比小网络高的话就是优化没做好
-
否则可能是 model bias 或 overfitting
overfitting 了怎么办?
- 增加训练资料
- data augmentation
- 给 model 增加一些限制
- less params
- sharing params
- less features(不是减少训练资料)
- early stopping
- regularization
- dropout
为什么作业的评价要分 public testing set 和 private testing set?
其实可以类比成 OI 中的 pretest 和 system test,如果没有 system test 想必会有一堆乱搞过题,而且过了就是过了,没有后顾之忧。
与之对应地,尽量少地去根据 public testing set 的结果来修改模型,否则可能在 private testing set 里炸掉。(但是我前几个作业都是这么干的)
合集:
NTU ML2023Spring
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探