常见激活函数(sigmod,tanh,ReLU,Leaky ReLu,Maxout)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见激活函数(sigmod,tanh,ReLU,Leaky ReLu,Maxout)相关的知识,希望对你有一定的参考价值。

参考技术A         优点:

                ①能将输出限制在(0,1)之间,便于完成分类任务;

        缺点:

                ①非零中心:输出值不是以零为中心,从而随着前向传播很可能导致后面的神经元的输出要么全为正数,要么全为负数,最终导致梯度下降时出现Z字型下降;

                ②梯度饱和、梯度消失:sigmod函数的两侧形状趋近于水平,梯度逐渐无穷接近于0,这些地方就会出现梯度饱和,导致梯度始终很小,无法让权重集发生有效的改变;而sigmod函数的导数的输出值区间为(0,0.25),随着神经网络层数增加,在反向传播中,梯度值不断地乘1个小于1/4的数,会让梯度逐渐变得逐渐趋近于0,同样无法让权重集发生有效的改变。

                ③非线性:sigmod的函数表达式是包含了指数运算,在计算时消耗资源更多。

        优点:

                ①能将输出限制在(-1,1)之间,便于完成分类任务;

                ②零中心

        缺点:

                ①梯度饱和、梯度消失

                ②非线性

        优点:

                ①线性:解决计算资源,缩短收敛时间

        缺点:

                ①单元死亡:ReLU函数的左侧是完全水平的,当神经元z值为负值时,输出α值为0,梯度也为0,无法通过梯度改变权重值w,w值固定不变,称之为“ReLU单元死亡”

        优点:

                ①线性:

                ②梯度不饱和,无单元死亡:

(可以视为ReLU、Leaky ReLU的一般化,增加单元参数来引入比较值)

        优点:

                ①线性:

                ②梯度不饱和

        缺点:

                ①参数量倍增:由于引入了新单元来做比较值,导致参数量增加,消耗计算资源。

排除sigmod选择,优先选择ReLU;如果遇到棘手的“单元死亡”问题,则使用Leaky ReLU或者Maxout。

tanh可以尝试使用,但效果应该会比ReLU、Leaky ReLU和Maxout差一些。

机器学习总结2 - 关于激活函数损失函数正则化异常检测算法总结

LSTM特性, CNN特性, 损失函数, paper, 项目 ...软件


激活函数:
-> sigmod: 硬饱和性, y(0,1), 斜率趋于0;
-> tanh: 软饱和性, y(-1,1), 虽然输出均值为0, 可以更快收敛, 但斜率依然会趋于0;
-> relu: 当x<0时, 存在硬饱和, y(0, +), 使用leak-relu, 当x<0时, 使斜率不会为0;

损失函数/ 性能指标:
-> 均方差mse, 均方根误差rmse, 常用于回归问题, rmse=500, 置信区间(68% 1a, 95% 2a, 99.7% 3a), means: 68% 的预测值位于实际值的500以内;
而岭回归, lasson回归, 是在 mse + L1_L2 正则项;
-> 交叉熵, 一方面, 当使用sigmod激活函数时, 使用交叉熵, 否则会存在梯度饱和; 另一方面, 在分类问题, 用其判断真实分布与预测分布的差异;
categorical_crossentropy

正则化:
-> 在每层中, 激活函数之前, 使用L1_L2 混合正则化;

 


now() 模型综述:
BI平台, OneCLassSVM, 隔离森林, 异常检测; 随机森林, GBDT, LSTM预测, NLP自然语言, CNN卷积推荐。

-> OneCLassSVM: SVM主要解决: 1.小样本, 2.非线性, 3.高纬度;
样本数据对于真实数据的生成过程, 是九牛一毛, 因此需要使用超平面提升泛化能力;
对于非线性, 使用核函数与松弛变量解决: 以X轴向量为例, 若将向量进行分隔, 需要使用 y = c0 + c1*x + c2*x^2 ;

-> Isolation Forest: 每颗隔离树: 只有两个子节点或两个叶子节点; 而异常值(离群点) 大概率会被分配到叶子节点,
因此可以使用叶子节点到根节点的路径长度判断是否为异常值; 最大深度为log(n);

-> RandomForest: 基于样本分裂与特征分裂的双重随机性, 具有强泛化能力, 抗噪音, 同时应对连续与离散不同的数据结构,
而且各样本集具有相同的分布;

-> GradientTree Boosting: 使用每一颗回归树优化上一步的残差, 超参数: 学习步长避免局部最优 , 采样比例(0,1) 样本独立性影响泛化能力

-> LSTM:


lstm 预测:

[[0:10],[1:11]] -> 预测 [[11],[12]]

以上是关于常见激活函数(sigmod,tanh,ReLU,Leaky ReLu,Maxout)的主要内容,如果未能解决你的问题,请参考以下文章

激活函数 sigmoid、tanh、relu

激活函数 sigmoid、tanh、relu

Relu激励函数

ReLU为什么比Sigmoid效果好

机器学习总结2 - 关于激活函数损失函数正则化异常检测算法总结

激活函数