交叉熵

交叉熵

还是看了一下书比较明白

def cross_entropy_error(y_, t):
    # t 所对应的是 y_的标签
    # y_ 是网络的预测结果,用softmax 进行处理了的 概率
    cost = np.log(y_+ 1e-4)
    loss = -1 *  np.sum(cost * t) 
    return loss

如 t = [0, 0, 0, 0, 0, 0, 0, 1]
y = [0.1, 0.2, 0, 0, 0, 0, 0, 0.7]
这就能够算出来

def cross_entropy_error2(y_, t):
    if y_.ndim == 1:
        y_ = y_.reshape(1,y_.size)
        t = t.reshape(1, t.size)
    batch = y_.shape[0]
    cost = np.log(y_+ 1e-4)
    loss = -1 *  np.sum(cost * t) / batch 
    return loss
##这是一堆处理的函数

还是多练练,才能记得牢!

你可能感兴趣的:(交叉熵)