在机器学习中,我们经常需要计算相似度或者距离。比如:向量之间的相似度,典型的方法如余弦相似度,通过向量夹角的余弦值来刻画,那么对于概率分布之间的相似度或者距离该如何计算呢?
假设小鸟通过叽叽喳喳的方式交流
那么假设叽是0,喳是1,
那么小鸟通过不同的叽叽喳喳的方式进行交流,这个过程我们称为编码,为了让小鸟省点力气,我们希望叫声尽可能的少,也就是编码长度尽可能的短,由于需要传递分布下的每一个事件,所以体现为事件A和事件B的平均编码长度尽可能的短
写成函数期望的形式便是:
虽然互不相同的编码方式非常多,但是我们选择长度最短的编码,当事件编码长度为1我们就说这个事件包含了一个比特的信息量,当概率分布包含4个等可能的事件时,小鸟最少需要叫两声,才能做到不混淆每个事件,相应的编码长度就是2,同理8,3.
但是当分布中的4个事件不是等可能的,虽然可以依照前面的编码,平均编码长度就是3,或者可以用编码4个等可能事件的方式,平均编码长度就是2,编码长度与4个等可能的事件没什么区别,但是小鸟依然觉得很累,因为事件A的发生概率最大为1/2,也就是说小鸟会经常性的传递