刚刚开始学习机器学习,有很多不懂的东西,也是刚刚开始写博客,主要是想记录自己学习的点点滴滴!
现在学习的是台湾大学李弘毅的机器学习,在学习视频,可能要多看两遍才能都体会消化这些知识!
1.Deep learning只是把原来的非Deep learning问题中的寻找feature的问题转化为寻找一个神经网络结构的问题。
只是看哪一种方法解决问题比较方便。
2. sigmod function已经比较少用了。
3. 当我们training之后的模型用在testing上结果不好的时候,不一定是overfitting,也可能是本身在training的时候就有需要优化的地方。
不能在training之后直接用在testing上,还应该先看一下training之后的结果
过拟合是深度神经网(DNN)中的一个常见问题,也就是模型在training上的结果好,但是在testing上的结果却比较差,这很有可能是过拟合了。
通过dropout可以比较好的解决overfitting的问题,下面介绍一下overfitting:
(来源:https://yq.aliyun.com/articles/68901)
Dropout以概率p舍弃神经元并让其它神经元以概率q=1-p保留。
每个神经元被关闭的概率是相同的。
4.关于梯度消失的问题,就是靠近输入的gradient比较小,而靠近输出的gradient比较大,这就是梯度消失。
我们测试gradient的大小,可以通过在输入层,把weight加上一个小的变量☌,如果采用sigmoid激励函数,那么一个很大的☌,输入之后得到一个很小(0-1之间)的数,变化被衰减了。
所以梯度消失是由于激励函数activation 使用sigmoid引起的。