简述
隐含层
略。
输出层
- softmax一般只用在多分类的输出层上。
- 当网络用于回归时, 预测ctr等值域在[0,1]上的问题, 似乎可以把sigmoid用上。
tanh
双曲正切函数.
图1-1 tanh 图像, 值为[-1,+1]
它有一个很好的性质, 它的导数包含了原函数的值, 所以多次求导的时候, 只需要预先算一次, 后面可以重复利用.
sigmoid
sigmoid, 名为S型函数. 它是一类函数,但通常指代standard logistic distribution分布。
图1-2 Standard logistic sigmoid function 值域为[0,1]
讨论
仅当x在0附近时,f(x)才对输入强烈敏感,sigmoid 这一广泛饱和性
会使得基于梯度的学习变得困难,所以通常不鼓励将它们用作前馈网络中的隐藏单元。
softmax
wikipedia:Softmax_function
将K维向量
公式为
在 numpy 中没有现成的函数, 可以自己实现:
def softmax(a):
"""
sample:
:param a: [1,2]
:return: [ 0.26894142 0.73105858]
"""
return np.exp(a)/np.sum(np.exp(a))
一般与交叉熵损失函数搭配, 用于二分类, 多分类。
sign
图3-1 符号函数, 值映射为{-1,+1}
ReLU
The Rectified Linear Unit, 修正线性单元.
函数为
ReLu作为激活函数的优势是它在生物上的合理性,它是单边的,相比sigmoid和tanh,更符合生物神经元的特征。
PReLU
Parametric Rectified Linear Unit.