美文网首页
激活函数和损失函数-Question

激活函数和损失函数-Question

作者: 魏鹏飞 | 来源:发表于2020-11-19 07:20 被阅读0次

    1. 有哪些激活函数,有什么用?

    ReLU、Sigmoid、Tanh。作用:非线性变换。

    2. ReLU、Sigmoid、Tanh函数和导数。

    ReLU:
    f(z)=max(0, z) => 导数 f(n) = \begin{cases} 1, & z>0; \\ 0, & z \le 0. \end{cases}

    Sigmoid:
    f(z)=\frac{1}{1+exp(-z)} => 导数 f'(z)=f(z)(1-f(z))

    Tanh:
    f(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}} => 导数 f'(z)=1-(f(z))^2

    3. Sigmoid和ReLU的区别,ReLU解决了什么问题?

    Sigmoid和Tanh激活函数会导致梯度消失问题。
    ReLU优点:

    • Sigmoid和Tanh均需要计算指数,复杂度高。ReLU只需要一个阈值即可得到激活值。
    • ReLU的非饱和性可以有效地解决梯度消失问题。
    • ReLU的单侧抑制提供了网络的稀疏表达能力。

    1. 有哪些损失函数?

    均方差损失(MSE)、交叉熵损失(CrossEntropy)
    J_{MSE}=\frac{1}{N}\sum_{i=1}^N(\hat{y}_i-y_i)^2
    J_{CE}=-\sum_{i=1}^N[y_ilog\hat{y}_i+(1-y_i)log(1-\hat{y}_i)]

    2. 交叉熵、相对熵、

    相对熵又名KL散度:D_{KL}(p||q)=\sum_x p(x)log\frac{p(x)}{q(x)}=\sum_x[p(x)log(p(x))-p(x)log(q(x))]

    交叉熵:H(p,q)=-\sum_x p(x)log(q(x))

    3. 交叉熵损失函数公式。

    J_{CE}=-\sum_{i=1}^N[y_ilog\hat{y}_i+(1-y_i)log(1-\hat{y}_i)]

    4. 为什么使用交叉熵,不用平方差?

    平方差损失函数更适合输出为连续,并且最后一层不含sigmoidsoftmax激活函数的神经网络;
    原因是:平方差损失函数相对于输出层的导数:\delta^{(L)}=(a^{(L)}-y)f'(z^{(L)}),如果z^{(L)}的绝对值较大,函数的梯度会趋于饱和,导致\delta^{(L)}的取值非常小,梯度学习非常缓慢。

    交叉熵损失函数相对输出层的导数:\delta^{(L)}=a^{(L)}-y 此时导数是线性的,因此不会存在学习速度过慢的问题。

    相关文章

      网友评论

          本文标题:激活函数和损失函数-Question

          本文链接:https://www.haomeiwen.com/subject/bdczkktx.html