稀疏贝叶斯学习(SparseBayesianLearning)

稀疏贝叶斯学习(Sparse Bayesian Learning)

张智林(Zhilin?Zhang)?

z4zhang@

Department of Electrical and Computer Engineering, University of California, San Diego,

La Jolla, CA 92093-0407, USA

1 引言

稀疏贝叶斯学习(Sparse Bayesian Learning, SBL)最初作为一种机器学习算法由 Tipping 于 2001 年

前后提出[Tipping2001],随后被引入到稀疏信号恢复/压缩感知领域[Wipf2004,Ji2008]。Wipf 和 Rao 等人

对 SBL 进行了深入的理论研究。与广泛使用的基于 L1 惩罚项的算法(比如 Lasso,Basis Pursuit)相比

(以下简称 L1 算法),SBL 具有一系列显著的优势:(1)在无噪情况下,除非满足一些严格的条件

[Donoho2003],L1 算法的全局最小点(global minimum)并不是真正的最稀疏的解[Wipf2004]。因此,

在一些应用中,当真实的解是最稀疏的解,采用 SBL 是更好的选择。(2)当感知矩阵(sensing matrix)

的列与列相关性很强时,L1 算法的性能会变得非常差。事实上不光是 L1 算法,绝大多数已知的压缩感

知算法(比如 Approximate Message Passing 算法,Matching Pursuit 算法)在这种情况下性能都会变得很

差。相比之下,SBL 算法仍旧具有良好的性能[Wipf_NIPS2011]。因此,在雷达追踪,波达方向估计,

脑源定位,特征提取,功率谱估计等一些列领域,SBL 都具备显著的优势。(3)业已证明,SBL 算法

等价于一种迭代加权 L1 最小化算法(iterative reweighted L1 minimization),而 L1 算法仅仅只是其第一

步[Wipf2010]。Candes 等人指出,迭代加权 L1 最小化算法更易获得真正的最稀疏解[Candes2008]。从这

个角度也就不难理解 SBL 的优越性。(4)在很多实际问题中,所期望的稀疏解常常有一些结构,而利

用这些结构可以获得更好的性能[ModelCS]。作为一种贝叶斯算法,SBL 算法对利用这些解的结构信息

提供了更多的灵活性。这种灵活性最主要来自于SBL采用参数化的高斯分布为解的先验分布。最近Zhang

和 Rao 提出了块稀疏贝叶斯学习框架 (Block Sparse Bayesian Learning, BSBL)[Zhang_IEEE2011,

Zhang_TSP2012]。该框架提供了一种利用解的空间结构(spatial structure)和时序结构(temporal structure)

的解决方案。由其框架得到的算法在多任务学习(multi-task learning)[Wan2012],生理信号的无线传输

和远程监控[Zhang_TBME2012a, Zhang_TBME2012b],脑源定位和脑-机接口[Zhang_PIEEE2012]等许多

领域获得了极大的成功。

下面将首先介绍基本的 SBL 框架,然后对 BSBL 框架及其算法进行详细介绍,并在最后给出一些

代表性的实验结果。

2 稀疏贝叶斯学习

压缩感知的基本模型可描述为:

vAxy += (1)

其中 为N×M的感知矩阵, 为N×1维压缩信号, 为M维待求的解向量, 为未知的噪声向量。为求

解 ,SBL假设 中的每个元素都服从一个参数化的均值为0方差为

A y x v

x x iγ 的高斯分布[Wipf2004]:

MiNxp iii ,,1),,0();( == γγ (2)

1

其中 表示 中的第i个元素,ix x iγ 是未知的参数,将会由算法自动估计出来。这样一种先验分布常被称

为automatic relevance 先验分布,最初出现于人工神经网络领域[ARD1996]。在算法运行中,绝大部分的

iγ 将会变成0(无噪情况下)或者趋于0(有噪情况下)。SBL通常会采用一个阈值将趋近于0的 iγ 置

为0(该阈值的大小通常和信噪比有关)。当 0=iγ 时,相应的 则为0。因此,ix iγ 与解的稀疏程度密

切相关,也从而决定了 iγ 的学习规则是SBL算法中最核心的部分。在SBL框架中,噪声 通常假设为高

斯白噪声向量,即

v

),,0();

java 稀疏贝叶斯算法_稀疏贝叶斯学习(SparseBayesianLearning).PDF相关推荐

  1. 用python实现朴素贝叶斯算法_朴素贝叶斯算法 python 实现

    应用贝叶斯准则: 使用上面这些定义,可以定义贝叶斯分类准则为: 如果 P(c1|x, y) > P(c2|x, y), 那么属于类别 c1; 如果 P(c2|x, y) > P(c1|x, ...

  2. 朴素贝叶斯算法_朴素贝叶斯算法原理

    摘要:本文介绍了贝叶斯公式,并根据公式而产生的朴素贝叶斯分类算法在机器学习中的应用,并列举了朴素贝叶斯分类算法的优缺点. 1贝叶斯公式的理解 贝叶斯定理(Bayes' theorem)是概率论中的一个 ...

  3. java 稀疏贝叶斯算法_稀疏贝叶斯学习(SBL)算法过程推导

    [直接复制word中的公式格式会出问题,为了方便,公式部分就以截图形式呈现] 首先推导贝叶斯公式: 考虑事件A和事件B: 由以上两式,即得贝叶斯公式: 求解的问题模型为: 由贝叶斯公式可得: 要估计ω ...

  4. java mllib 算法_朴素贝叶斯算法原理及Spark MLlib实例(Scala/Java/Python)

    朴素贝叶斯 算法介绍: 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法. 朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,在没有其它可用信息下,我 ...

  5. 朴素贝叶斯算法_机器学习第三篇:详解朴素贝叶斯算法

    一.统计知识 01|随机事件: 1.概念 随机事件是在随机试验中,可能出现也可能不出现,而在大量重复试验中具有某种规律性的事件叫做随机事件(简称事件).随机事件通常用大写英文字母A.B.C等表示.随机 ...

  6. 机器学习朴素贝叶斯算法_机器学习中的朴素贝叶斯算法

    机器学习朴素贝叶斯算法 朴素贝叶斯算法 (Naive Bayes Algorithm) Naive Bayes is basically used for text learning. Using t ...

  7. python实现朴素贝叶斯算法_机器学习---用python实现朴素贝叶斯算法(Machine Learning Naive Bayes Algorithm Application)...

    在这里,我们使用一份皮马印第安女性的医学数据,用来预测其是否会得糖尿病.文件一共有768个样本,我们先剔除缺失值,然后选出20%的样本作为测试样本. 特征分别是: 怀孕次数 口服葡萄糖耐量试验中血浆葡 ...

  8. 贝叶斯思维 统计建模的Python学习法pdf

    下载地址:网盘下载 编辑推荐 贝叶斯方法正在变得越来越常见与重要,但是却没有太多可以借鉴的资料来帮助初学者.基于Allen Downey在大学讲授的本科课程,本书的计算方法能帮助你获得一个良好的开端. ...

  9. java矩阵连乘算法_使用java写的矩阵乘法实例(Strassen算法)

    Strassen算法于1969年由德国数学家Strassen提出,该方法引入七个中间变量,每个中间变量都只需要进行一次乘法运算.而朴素算法却需要进行8次乘法运算. 原理 Strassen算法的原理如下 ...

最新文章

  1. 惠普8440p拆机加内存图解_惠普电脑开不了机怎么办
  2. 使用SVCUtil.exe生成客户端代理类和配置文件
  3. oracle数据库中函数和存储过程中的区别
  4. PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)
  5. leetcode —— 48. 旋转图像
  6. 用汇编的眼光看C++(之退出流程)
  7. 互联网公司的架构设计要怎么落地?| 技术头条
  8. MAC下安装和管理java
  9. html 多选框取值,多选框取值
  10. 汉英词典python
  11. 强力推荐一款游戏十分好玩
  12. FormulaR1C1是EXCEL中单元格公式输入方法(补充解说)
  13. 论文笔记SAR-U-Net: Squeeze-and-excitation block and atrous spatial pyramid pooling based residual U-Net
  14. 111完美邮箱品牌域名——数字域名111.com
  15. fiyme android底层,魅族首批Android 10底层Flyme于今日正式推送
  16. 就同一个Service类中,一个事务方法调用另外一个有事务的方法
  17. Prometheus监控服务器
  18. podman 使用初
  19. 20210427瑞芯微RK3399在Android10下查看芯片温度
  20. mysql弱口令是什么意思_MYSQL用户root密码为弱口令又一攻击方法

热门文章

  1. 刚刚!霍金向北京喊话:人类需要大胆前行,涉足无前人所及之处
  2. 炫舞滑板机器人_教程丨自制鬼畜滑板机器人,用纸壳就能做
  3. 【bfs】密码锁-C++
  4. Java程序员情人节_关于程序员:一封来自Java程序员的情书
  5. 用C语言编辑一光年相当于多少米,一光年到底有多远?是光速跑了365天的距离,这样说你就少算了...
  6. 高三老师给大一学生的一封信
  7. python多线程爬取妹子图
  8. mahout第一篇-----Mahout学习路线图
  9. 巧用R语言挖掘谁是全网最受欢迎和最高产武侠作者
  10. 转一位计算机牛人的心得,谈到计算机和数学,很实用~