KL 散度又叫相對熵
KL 散度是一種衡量兩個概率分佈的匹配程度的指標,兩個分佈差異越大,KL散度越大
KL散度是恆大於等於零的,等於零時說明兩個分佈一樣
用KL散度來衡量兩個高斯分佈的相似度公式
具體的推導可以看添加鏈接描述
自己用tensorflow實現了一下
def calculate_gaussian_kl_divergence(m1,m2,v1,v2):
###m1,m2 指兩個高斯分佈的均值
###v1,v2指兩個高斯分佈的方差
return tf.log(v2 / v1) + tf.div(tf.add(tf.square(v1), tf.square(m1 - m2)), 2 * tf.square(v2) ) - 0.5