在机器学习中,在训练神经网络时经常使用交叉熵。
在我训练我的神经网络的过程中,我跟踪准确性和交叉熵。准确度很低,所以我知道我的网络表现不佳。但是对于知道交叉熵的模型,我能说什么呢?
在机器学习中,在训练神经网络时经常使用交叉熵。
在我训练我的神经网络的过程中,我跟踪准确性和交叉熵。准确度很低,所以我知道我的网络表现不佳。但是对于知道交叉熵的模型,我能说什么呢?
Andrew Ng在逻辑回归模块下的ML Coursera 课程中解释了使用交叉熵作为成本函数背后的直觉,特别是在这个时间点使用数学表达式:
这个想法是,对于一个值在 0 和 1 之间的激活函数(在这种情况下是一个逻辑 sigmoid,但显然适用于例如 CNN 中的一个softmax 函数,其中最终输出是一个多项逻辑),在真 1 值的情况(),将从无穷大减小到零,因为理想情况下我们希望它是,准确预测真实值,从而奖励接近它的激活输出;反过来,成本将趋于无穷大,因为激活函数趋于. 反之亦然用获得对数的技巧, 而不是
这是我尝试以图形方式显示这一点,因为我们将这两个函数限制在垂直线之间和,与 sigmoid 函数的输出一致:
这可以用一个更简洁的表达来概括:
在 CNN 中的 softmax 的情况下,交叉熵将类似地表述为
在哪里代表每个类的目标值,并且输出分配给它的概率。
超出直觉,交叉熵的引入意味着成本函数是凸的。