信息论与机器学习分类基础
1. 交叉熵在实践中的应用
在训练照片分类器时,我们常常需要比较两个概率分布。第一个是我们手动为照片内容创建的标签,第二个是系统在看到照片时计算出的概率集合。我们的目标是训练系统,使其输出与我们的标签相匹配。为了实现这一目标,我们需要知道系统何时出错,并量化错误的程度,这就是通过比较标签和预测结果得到的交叉熵。交叉熵越大,误差就越大。
例如,在对一张狗的照片进行分类时,在大多数实际情况下,除了“狗”这一标签的值为 1 外,其他标签的值都为 0。但为了更好地展示系统如何匹配标签分布,我们可以为六个标签分别分配任意概率(假设照片模糊,我们自己也不确定照片中的动物是什么)。
在训练开始时,系统的预测结果与我们手动创建的标签匹配度较差,通过交叉熵公式计算得到的交叉熵约为 1.9。经过一些训练后,两个分布更加接近,交叉熵下降到约 1.6。
大多数深度学习库都提供了一步计算交叉熵的内置例程。当只有两个类别时,我们可以使用专门为此情况设计的例程,通常称为二元交叉熵函数。
交叉熵计算步骤
- 确定手动创建的标签概率分布。
- 得到系统对输入的预测概率分布。
- 使用交叉熵公式计算两者之间的交叉熵。
2. 库尔贝克 - 莱布勒散度(KL 散度)
交叉熵是比较两个分布的有效度量。通过最小化交叉熵,我们可以最小化分类器输出与标签之间的误差,从而改进我们的系统。
我们可以进一步简化概念。将我们的单词分布视为代码,熵告诉我们使用完美、调优的代码发送消息所需的比特数,而交叉熵告诉我们使用不完美
超级会员免费看
订阅专栏 解锁全文
17万+

被折叠的 条评论
为什么被折叠?



