【机器学习】Bregman分离算法推导

Bregman分离算法比Bregman迭代算法更简单、更有效。接上篇博客,我们可以构造优化模型 argminH(u)+J(u) 来还原真实目标数据,一般理解为 H(u) 是我们的目标最小化模型,常用的有 H(u)=1/2(AuY)2 ,其中u是目标,Y是观测结果,A是导致观测结果与真实结果不一致的原因;J(u)一般是一个约束项,自从压缩感知火了之后,一般J(u)是一个L1模型,即一个绝对值函数,等价于要找一组u,使得u的表示最简单。整体表示为

argmin|Φ(u)|+H(u)

Φ(u) 是表达式,其L1模型略难求解。一种技巧是建立约束优化模型:
argmin|d|+H(u),s.t.d=Φ(u)argmin|d|+H(u)λ/2(dΦ(u))2

这里将约束变为L2项。是一个为了松弛变量做出的折中。原先复杂的 Φ(u) 被放入二次函数——一个简单的凸函数中,很好计算梯度了;而复杂的L1约束项约束了d。令 J(u,d)=|d|+H(u) ,约束问题变为
argminu,dJ(u,d)+H(u)
我们引入二元Bregman散度,这样就可以使用Bregman迭代算法了。
(uk+1,dk+1)=argminu,dDp(u,uk,d,dk)+λ/2(dΦ(u))2(1)
pk+1u=pkuJ(u,d)u=pkuλΦ(uk+1)T(Φ(uk+1)dk+1)=λiΦ(Φ(ui)di)(2)
pk+1d=pkdJ(u,d)d=pkuλ(dk+1Φ(uk+1))=λi(diΦ(ui)(3)

bk=i(Φ(uidi) ,如果把 Φ 视作线性映射,那么有 pku=λΦTbk,pkd=λbk
现在来看u的优化公式,d固定当做常量, uk 也是常量。由(1)得到
uk+1=argminJ(u,dk)<pku,uuk>+λ/2(dkΦ(u))2=argminJ(u,dk)<λΦTbk,uuk>+λ/2(dkΦ(u))2=argminH(u)+λΦT(uuk)bk+λ/2(dkΦ(u))2+C

很多文献在这一步后面直接给出了结果, Φ 莫名其妙就消了,也没有推导,非常晦涩。这里我推测右边是用了泰勒展开式,其中 Ruk 是余项:
ΦT(uuk)bk+1/2(dkΦ(u))2=bk[Φ(uk)+ΦT(uuk)+Ruk]+1/2(dkΦ(u))2+C1=bkΦ(u)+bkdk+1/2(dkΦ(u))2+C2=1/2[(dkΦ(u))22bk(dkΦ(u))+(bk)2]+C3=1/2(dkΦ(u)bk)2+C3

所以得到:
uk+1=argminH(u)+λ/2[dkΦ(u)bk]2

同理得到:
dk+1=argmin|d|+λ/2[dΦ(uk+1)bk]2
bk+1=bk+[Φ(uk+1)dk+1]

如此迭代直到u收敛。
其中d的优化,由于表达式d只是一个变量,所以它的L1优化模型类比 argmin1/2(Axb)2+|x| ,这个已经有非常成熟的优化解法。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值