根据大佬介绍,准备再次系统的学习一下课程,为了整个的连贯性,前面熟悉的知识也备忘一下,便于多次复习重温。
这个章节是2.1-2.4关于模型介绍,如何训练模型,什么是模型,怎么选择好的函数,怎么找到最好的参数等等,具体内容就不赘述了,主要根据当中节选的PPT,做一些基本的记录。
参数的更新
参数的更新:
θ
k
+
1
=
θ
k
−
η
∂
C
(
θ
k
)
∂
θ
\theta^{k+1} = \theta ^ k - \eta \frac{ \partial{C}(\theta^k) }{\partial{\theta}} \hspace{5cm}
θk+1=θk−η∂θ∂C(θk)
batch_size不同的参数更新
分别对应batch_size为epoch_cnt,1,B的情况
参数更新的流程
batch_size的实验结果
很奇怪吧? 时间为啥不是单纯的正相关,即B越大,耗时越长
硬件的原因
因为在某些情况下,matrix-matrix的计算时间比matrix-vector短
局部最优
模型容易陷入局部最优,怎么办?
初始化的改变
学习率的调整
流程策略图
训练集的效果不好: 往往可能需要修改代码,有可能是程序有bug,也可能模型选取不对;
训练集好,但验证机不好: 往往是过拟合
解决过拟合
更多训练样例,dropout;嗯,对了,还有激活函数也行。