Softmax && Cross-entropy Error

softmax 函数,被称为 归一化指数函数,是sigmoid函数的推广。

它将向量等比压缩到[0, 1]之间,所有元素和为1.

图解:

Softmax && Cross-entropy Error_第1张图片

 

Example:

softmax([1, 2, 3, 4, 1, 2, 3]) = [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]

Code:

import numpy as np

def softmax(x):
    c = np.max(x, axis = x.ndim - 1, keepdims = True)
    y = np.sum(np.exp(x - c), axis = x.ndim - 1, keepdims = True)
    x = np.exp(x - c) / y
    return x

softmax and sigmoid 异同:

Softmax && Cross-entropy Error_第2张图片

 

 

Cross-entropy Error(CE):交叉熵误差

假设误差是二值分布:

其中yi表示真实概率分布,只有yk=1,而yj=0jky^i表示预测概率分布,设它的输入为θi,则

 

 CE求导:

Softmax && Cross-entropy Error_第3张图片

 

Assigment:

Softmax:

 softmax求导:

 

softmax数值不稳定性、解决方法、证明:

 Loss function 梯度:

 

转载于:https://www.cnblogs.com/ylHe/p/9281117.html

你可能感兴趣的:(Softmax && Cross-entropy Error)