1.深度学习步骤
1)define function set;goodness of the function set;pick the best function
——get the neural network
2)check training set performers:good results
——if not:step1):不是过拟合
——if ture:step3)
注:深度学习相比于k近邻、决策树而言,不容易出现过拟合(k近邻、决策树的training set最后一定是很好的正确率100%之类,这是一定会过拟合的),深度学习很容易training的时候得不到好的结果,所以可能会反复步骤1和2
3)if testing set :not good
——step 1):过拟合(training good ,testing not good)
注意:只有 testing set 正确率低,不能判断是过拟合,要看training set
4) testing set :good
——over
2.步骤2-4涉及优化模型,但是不同问题有不同的优化方式
问题类型:
1)优化training set(提升拟合度)
优化方式:选择新的激活函数(sigmoid、relu、maxout等);adaptive learning rate
2)优化testing set(解决过拟合)
优化方式:dropout;early stopping;regularization
补:dropout(用于解决过拟合:train ok,test not good)
在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型的泛化性更强,因为他不会太依赖局部的特征(让一些神经元失活,来防止过拟合的一种方式)
3.用sigmoid做激活函数时,层数越多不代表结果越好
但这不是层数多的时候过拟合了(蓝色线时training set结果,不是testingset 结果)
只是not well trained
原因:
1)梯度消失
(2)梯度爆炸)
4.梯度消失 vanishing gradient problem
根据backpropagation算法
在学习效率不变的情况下,前面的层梯度小,后面的层梯度大;前面还在随机缓慢下降,后面已经收敛(converge)了,结果会卡在局部最小的位置(local minimum)
因此,是前面layer的梯度小导致了这个问题
👆改变input的值,他的影响是逐渐衰减的,因为sigmoid会压缩输出
所以示实际问题中,通常采用ReLU和其衍生的激活函数作为中间层函数
(layer wise training 逐层训练)