凸集、凸函数与KL散度

凸集的定义是:集合C内任意两点间的线段任然包含在集合中,则此集合称为凸集。形式化的方法描述:以任意一点作为原点,对于集合内任意两点 x 1 ⃗ \vec{x_1} x1 , x 2 ⃗ \vec{x_2} x2 ,和任意一个处于[0,1]的实数 θ \theta θ,都有: θ x 1 ⃗ + ( 1 − θ ) x 2 ⃗ ∈ C \theta \vec{x_1}+(1-\theta)\vec{x_2}\in C θx1 +(1θ)x2 C

在这里插入图片描述

凸函数在优化中经常用到,这因为凸函数的局部最优点就是全局最优点。因此在机器学习中,我们的优化目标通常是凸函数。凸函数的定义域是凸集,类似于凸集的性质它满足: f ( θ x 1 + ( 1 − θ ) x 2 ) ≤ θ f ( x 1 ) + ( 1 − θ ) f ( x 2 ) f(\theta x_1+(1-\theta)x_2)\leq\theta f(x_1)+(1-\theta)f(x_2) f(θx1+(1θ)x2)θf(x1)+(1θ)f(x2)如下图所示:

在这里插入图片描述

这是一个典型的凸函数, f ( x 1 ) ≤ f ( x 2 ) 且 x 1 ≤ x 2 f(x_1)\leq f(x_2)且x_1\leq x_2 f(x1)f(x2)x1x2,所以有

f ( x 2 ) ≥ θ f ( x 1 ) + ( 1 − θ ) f ( x 2 ) ≥ f ( x 1 ) f(x_2)\geq \theta f(x_1)+(1-\theta)f(x_2)\geq f(x_1) f(x2)θf(x1)+(1θ)f(x2)f(x1) x 2 ≥ θ x 1 + ( 1 − θ ) x 2 ≥ x 1 x_2\geq \theta x_1+(1-\theta)x_2\geq x_1 x2θx1+(1θ)x2x1

所以有 f ( θ x 1 + ( 1 − θ ) x 2 ) ≤ θ f ( x 1 ) + ( 1 − θ ) f ( x 2 ) f(\theta x_1+(1-\theta)x_2)\leq\theta f(x_1)+(1-\theta)f(x_2) f(θx1+(1θ)x2)θf(x1)+(1θ)f(x2)
此外凸函数还有两个重要导数性质: x 1 , x 2 x_1,x_2 x1,x2是定义域上任意两个值,则有: f ( x 2 ) ≥ f ( x 1 ) + ▽ f ( x ) ( x 2 − x 1 ) f(x_2)\geq f(x_1)+\bigtriangledown f(x)(x_2-x_1) f(x2)f(x1)+f(x)(x2x1)
凸函数二阶导还满足: ▽ 2 f ( x ) ≥ 0 \bigtriangledown^2f(x)\geq 0 2f(x)0
我们可以通过凸函数性质来证明KL散度的非负性,KL散度表示为 K L ( p ∣ ∣ q ) = − ∑ x p ( x ) l o g ( p ( x ) q ( x ) ) KL(p||q)=-\sum_x p(x)log(\frac{p(x)}{q(x)}) KL(pq)=xp(x)log(q(x)p(x))表示两个分布的接近程度,越接近,KL散度越小。由于log是凸函数,所以有:

K L ( p ∣ ∣ q ) ≥ − l o g [ ∑ x p ( x ) l o g p ( x ) q ( x ) ] = − l o g ( ∑ x q ( x ) ) = 0 KL(p||q)\geq-log[\sum_x p(x)log\frac{p(x)}{q(x)}]=-log(\sum_x q(x))=0 KL(pq)log[xp(x)logq(x)p(x)]=log(xq(x))=0

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值