阅读之前看这里👉:博主是一名正在学习数据类知识的学生,在每个领域我们都应当是学生的心态,也不应该拥有身份标签来限制自己学习的范围,所以博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。
博客地址:天阑之蓝的博客,学习过程中不免有困难和迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。
目录
问题的提出
在深度学习的过程中,我们可能出现两种问题,一个问题是模型在训练集上表现不好,另一种问题是模型在测试集上表现不好(过拟合)。
针对这些问题,有什么可以优化的方法呢?
一、模型在测试集上表现不好的优化方法
1.激活函数的选择
神经网络的激活函数其实是将线性转化为非线性的一个函数,在深度学习中常用的激活函数有sigmoid function。
1.1 什么是Sigmoid function
一提起Sigmoid function可能大家的第一反应就是Logistic Regression。我们把一个sample扔进 s i g m o i d sigmoid sigmoid中,就可以输出一个probability,也就是是这个sample属于第一类或第二类的概率。 还有像神经网络也有用到 s i g m o i d sigmoid sigmoid,不过在那里叫activation function。Sigmoid function长下面这个样子:
σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1+e^{-z}} σ(z)=1+e−z1
其实这个function我们只知道怎么用它,但是不知道它是怎么来的,以及底层的含义是什么。
首先假设我们有两个class:C1和C2,并且给出一个sample x x x,我们的目标是求 x x x属于C1的概率是多少。这个概率我们可以通过Naive Bayes很轻松的得出,也就是(公式1):
其中等号右面的分布这项(公式2):
x x x出现的概率等于C1出现的概率乘以