深度学习知识点之1---sigmoid and softmax, BCE and CE loss function
Sigmoid——二分类将输出转换为概率概率的值范围为0.0到1.0属于所有类别的概率之和为1.0σ(li)=11+e−liσ(li) = \frac{1}{1 + e^{-li}}σ(li)=1+e−li1Softmax——多分类S(li)=e(li)∑ke(lk)S(l_i) = \frac{e^(l_i)}{\sum{_k}e^(l_k)}S(li)=∑ke(lk)e(li)mu
·
Sigmoid——二分类
- 将输出转换为概率
- 概率的值范围为0.0到1.0
- 属于所有类别的概率之和为1.0
σ(li)=11+e−liσ(li) = \frac{1}{1 + e^{-li}}σ(li)=1+e−li1
Softmax——多分类
S(li)=eli∑kelkS(l_i) = \frac{e^{l_i}}{\sum_{k}e^{l_k}}S(li)=∑kelkeli
multi-label分类,非 multi-class分类
- 输出属于对个类别中的一个或者多个类
- 例如一幅包含猫咪的图像可以同事属于“猫”、“哺乳动物”或者“宠物”
- 对每一个输出独立使用Sigmoid激活函数,不使用softmax
BCE (结合sigmoid)
- Cross-entropy loss for multi-label classification
Li=−∑kyklog(σ(li)+(1−yk)log(1−σ(li)))L_i = - \sum_{k} y_klog(\sigma(li) + (1 - y_k)log(1 - \sigma(l_i)))Li=−k∑yklog(σ(li)+(1−yk)log(1−σ(li)))
CE (结合softmax)
- Cross-entropy loss for multi-class classification
Li=−∑kyklog(S(lk))L_i = - \sum_{k}y_klog(S(l_k))Li=−k∑yklog(S(lk))
一般而言:cross-entropy loss比方差函数square error loss在分类的情形下要好:
- 方差函数对误差的输出惩罚非常大
- 如果使用Softmax激活函数,加上方差函数作为损失函数,梯度包含y^(1−y^)\hat{y}(1 - \hat{y})y^(1−y^), 当输出接近0.0或者1.0的时候,梯度值非常小,网络的训练会比较慢
从以下的求导公式可以看出
Gradient of square error loss
Gradient of cross-entropy loss
更多推荐
所有评论(0)