1. 常用激活函数
1.1 sigmoid函数
- 公式: f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+e−x1
- 求导: ∂ f ∂ x = f ( x ) ( 1 − f ( x ) ) = e x ( 1 + e x ) 2 \frac{\partial f}{\partial x}=f(x)(1-f(x))=\frac{e^x}{(1+e^x)^2} ∂x∂f=f(x)(1−f(x))=(1+ex)2ex
- 函数曲线:

- 优点:(1) 可以引入非线性。(2) 容易求导。(3) 可以将实数压缩至 ( 0 , 1 ) (0,1) (0,1)。
- 缺点:梯度消失。
1.2 softmax函数
- 公式: f ( x ) = e x i ∑ j e x j f(x)=\frac{e^{x_i}}{\sum_j e^{x_j}} f(x)=∑jexjexi
- 应用:多分类问题。
1.3 tanh函数
- 公式:
t a n h x = s i n h x c o s h x = e x − e − x e x + e − x = 1 − e − 2 x 1 + e − 2 x tanh~x=\frac{sinh~x}{cosh~x}=\frac{e^x-e^{-x}}{e^x+e^{-x}}=\frac{1-e^{-2x}}{1+e^{-2x}} tanh x=cosh xsinh x=ex+e−xex−e−x=1+e−2x1−e−2x - 求导: t a n h ′ ( x ) = 1 − t a n h 2 ( x ) tanh^{'}(x)=1-tanh^2(x) tanh′(x)=1−tanh2(x)
- 函数曲线:

- 缺点:梯度消失。
- 优点:比 sigmoid 收敛速度更快。
1.4 Relu函数
- 公式:
f ( x ) = { 0 , x ≤ 0 x , x > 0 f(x)=\left\{ \begin{array}{ll} 0, & \textrm{$x\leq 0$}\\ x, & \textrm{$x>0$} \end{array} \right. f(x)={0,x,x≤0x>0 - 函数曲线:

- 优点:(1) 相比起Sigmoid,ReLU在SGD中能够快速收敛。
(2) Sigmoid涉及了很多运算大的操作,比如指数,ReLU的实现更加简单。
(3) 有效缓解了梯度消失的问题。
1.5 阶跃函数
- 公式:
f ( x ) = { 0 , x ≤ 0 1 , x > 0 f(x)=\left\{ \begin{array}{ll} 0, & \textrm{$x\leq 0$}\\ 1, & \textrm{$x>0$} \end{array} \right. f(x)={0,1,x≤0x>0 - 函数曲线:

2. 常用损失函数
2.1 平方差损失函数
- 公式:
E = 1 2 ∑ k ( y k − t k ) 2 E=\frac{1}{2}\sum_{k}(y_k-t_k)^2 E=21k∑(yk−tk)2 - 应用:回归问题。
2.2 交叉熵损失函数
- 公式:
E = − ∑ k t k l o g y k E=-\sum_{k}t_k~log~y_k E=−k∑tk log yk - 应用:分类问题。
3. 正则化
3.1 L1正则化
3.2 L2正则化
4. 损失函数的优化方法
4.1 梯度下降法
4.2 牛顿法
4.3 最小二乘法
5. DL中的tricks
5.1 Batch Normal
5.2 Layer Normalization
5.3 Dropout
5.4 Adam
6. 模型评价指标
6.1 accuracy, precision, recall, F1
7. ML与DL中常见问题及解决方案
7.1 梯度消失与梯度爆炸
参考:https://blog.youkuaiyun.com/dulingtingzi/article/details/80254038