[Bayes] *Bayesian Deep Learning for Transparency Improvement
为何有必要进修统计机器学习?
因为你没有那么多的数据
因为未知的东西最终还是需理论所解释
基于规则?基于概率?
---- 图灵奖得主、贝叶斯之父 Judea Pearl 谈深度学习局限,想造自由意志机器人
从科学角度来说,基于规则的系统就是错误的。它们为专家建模,而不是对疾病本身建模。
问题在于,程序员创建的规则没有正确的组合。当添加更多新的规则时,你必须撤消旧的规则。它是一个非常脆弱的系统。
例如,如果医院出现程序上的变动,整个系统都必须得重写。而且我们这里谈的规则不是一两个,而是有数百个,包括专家(在这个例子中是医生)理解的所有互动方式;当专家输入100 条规则,可能就已经忘了前面几条。
我不喜欢基于规则的系统的另一个原因是它不具有科学透明性。我很懒。所以我需要了解我在做什么,我需要了解它的数学理据。基于规则的系统在数学上是不稳定的。
数学可以优雅地告诉你:“如果你的过程没出错,就能保证得出确定的结果。”这种保证令人愉快,但基于规则的系统缺乏这种保证。
上世纪 80 年代初,我们从基于规则的系统转变为贝叶斯网络时,出现了一种新的思路。贝叶斯网络是一个概率推理系统。
专家可以把自己对所在领域的专业知识输入其中,这和专家系统的目标是一致的。这一思路是对某个领域而不是应用过程建模。拿疾病的例子来说,你需要把疾病相关的局部概率知识和相关变量表现形式输入,如果你观察到一些证据,计算机将会采纳并在需要的时候激活这些概率知识,并为你计算出新的证据所需要的修正概率。
专家系统能在小数据提供精确的回答,但专家的知识本身就具有“局限性”。
世界是概率的,且目前人类已经具备处理大数据的能力,大数据便意味着“大数收敛”,这个世界的未来,毕竟还是概率的。
失去透明性
贝叶斯网络主要卖点:可重组和透明
问题在于紧凑性和速度,这是两个主要的障碍。理论上,信念修正需要指数级的时间和指数级的存储能力,而这些难以提供。
知识构建者理解哪些事实是相关的,哪些是无关的,这是我们的优势。这给了我们一个稀疏的网络,而当你有一个稀疏的网络,就可以利用它的稀疏性,获得速度和紧凑性。
贝叶斯网络是一种在告诉它初始信念后,快速计算出修正信念的方式。这显然是飞跃性的进步,因为它具有概率演算的所有有利属性,再加上基于规则的系统的程序优势。而且,它是透明的。
我们现在的深度学习失去了透明性。我有跟那些说深度学习“效果很好”的用户交谈过,但他们不知道为什么效果好。一旦解开了它的束缚,它会有自己的动态性,会自己做修复,做优化,而且大多数情况下能得出正确的结果。但当它被束缚,你就没有线索知道它哪里出了错,哪里需要修复。这是让我担心的事情。
插播:机器学习专家与统计学家观点上有哪些不同?
作者:麦子
来源:知乎
共同点:
统计建模或者机器建模的目的都是从数据中挖掘到感兴趣的信息。下面只讨论supervised learning, 就是对一个pair:
( 自变量x,因变量y)进行建模。 也就是找到一个函数 y=f(x) , 用x 来刻画 (解释、预测)y。
首先我们要一组观察值(x,y),来 回归(learn)这个未知的函数 f。
区别:
统计学家: 在刻画 f 的过程中,统计学家用的方法是: 对于 f 的形状和 y 的random distribution 进行一些假设。
比如说假设 f 是线性模型, 或者y 是normal distribution。
然后来求在一定标准下最优的 f。
比如说,在BLUE (Best Linear Unbiased Estimators 最佳线性无偏估计)的标准下,最小二乘估计出来的 f 就是最好的估计。
然后根据对数据的distribution的假设或者是大数定律,可以求出 参数估计的不确定性 或者是 standard error。
进而构建置信区间,来表达我对我能做出的 f 的最好的估计 的信心。
优点: 可以对不确定性度量。 简单模型的可解释性强。当假设的assumptions满足时模型科学、准确、严谨。
缺点:复杂情况下assumptions难以验证。
机器学习专家:不对 y 的distribution进行过多的假设,不计算standar error,不 care bias。 通过 cross validation来判断 对于 f 的估计的好坏。
也就是说,在机器学习领域,数据量大,机器学习专家拿一部分来估计(train,learn )f,留一部分来验证预测结果的好坏。预测结果好的模型就是好模型,不计算估计参数的偏差。
缺点: 缺乏科学严谨性。
优点: 简单粗暴。 有一次听一个大牛的seminar几个教授的段子记忆尤新:"those machine learning people are making predictions without probability! "。成为了一门玄学。
对于这句话:“统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力” : 总体来说,可解释性强的模型会损失预测能力,预测能力强的模型往往比较难解释。
常见的模型中,"可解释性强 --> 预测强" 的模型依顺序排列是
- Lasso+线性回归 // least absolute shrinkage and selection operator
- 线性回归
- 非线性模型
- 非参模型
- SVM
构建简单的模型,比如线性模型,更容易解释因变量对自变量的影响。 适合于那种目的是解释一个变量对另外一个变量的影响的问题。也是经典统计中最常用到的模型。
变化再多一些,非线性模型,非参模型,更灵活,选择更多,所以可能达到更好的预测效果。但是往往比较难解释x对y的影响。(这些模型都来源于统计,推广于机器学习。这些模型都是几十年前统计的研究成果了好么!!因为最近计算机速度提上来了,原来没名气,是因为计算速度带不动,数据没收集辣么多啊!!)!
因为机器学习领域的数据大,运算能力强,所以能把复杂的非参或者非线性模型用的效果比较好。
在一些传统领域,工程实验,生物试验,社会调查,物理实验,我们能获得的数据量非常小,我们必须小心翼翼的对待我们的模型,从有限的数据中提取尽量可能多的信息。抑或是一些对参数很敏感的预测,差之毫厘失之千里,
但是在搜索引擎,淘宝用户购买信息,人脸特征识别等领域,我们能够获得很大量的数据,而且数据维度也非常高,用传统方式建模,很有可能维度高到严谨的function根本解不出来,机器学习的理论就非常有效了。
那么,为什么要学统计机器学习?
Can you guarantee a certain level of inferential accuracy within a certain time budget even as the data grow in size.
Link:
History of Bayesian Neural Networks
如何加强透明性
这便是Bayesian Deep Learning的价值。
From: Deep Learning Is Not Good Enough, We Need Bayesian Deep Learning for Safe AI
Epistemic and aleatoric uncertainty.
认知和偶然的不确定性
GMIS 2017 | 清华大学朱军详解珠算:贝叶斯深度学习的GPU库(附视频)