为何有必要进修统计机器学习?

因为你没有那么多的数据

因为未知的东西最终还是需理论所解释


基于规则?基于概率?

---- 图灵奖得主、贝叶斯之父 Judea Pearl 谈深度学习局限,想造自由意志机器人

从科学角度来说,基于规则的系统就是错误的。它们为专家建模,而不是对疾病本身建模。

问题在于,程序员创建的规则没有正确的组合。当添加更多新的规则时,你必须撤消旧的规则。它是一个非常脆弱的系统。

例如,如果医院出现程序上的变动,整个系统都必须得重写。而且我们这里谈的规则不是一两个,而是有数百个,包括专家(在这个例子中是医生)理解的所有互动方式;当专家输入100 条规则,可能就已经忘了前面几条。

我不喜欢基于规则的系统的另一个原因是它不具有科学透明性。我很懒。所以我需要了解我在做什么,我需要了解它的数学理据。基于规则的系统在数学上是不稳定的。

数学可以优雅地告诉你:“如果你的过程没出错,就能保证得出确定的结果。”这种保证令人愉快,但基于规则的系统缺乏这种保证。

上世纪 80 年代初,我们从基于规则的系统转变为贝叶斯网络时,出现了一种新的思路。贝叶斯网络是一个概率推理系统。

专家可以把自己对所在领域的专业知识输入其中,这和专家系统的目标是一致的。这一思路是对某个领域而不是应用过程建模。拿疾病的例子来说,你需要把疾病相关的局部概率知识和相关变量表现形式输入,如果你观察到一些证据,计算机将会采纳并在需要的时候激活这些概率知识,并为你计算出新的证据所需要的修正概率。

专家系统能在小数据提供精确的回答,但专家的知识本身就具有“局限性”。

世界是概率的,且目前人类已经具备处理大数据的能力,大数据便意味着“大数收敛”,这个世界的未来,毕竟还是概率的。

失去透明性

贝叶斯网络主要卖点:可重组和透明

  问题在于紧凑性和速度,这是两个主要的障碍。理论上,信念修正需要指数级的时间和指数级的存储能力,而这些难以提供。

  知识构建者理解哪些事实是相关的,哪些是无关的,这是我们的优势。这给了我们一个稀疏的网络,而当你有一个稀疏的网络,就可以利用它的稀疏性,获得速度和紧凑性。

贝叶斯网络是一种在告诉它初始信念后,快速计算出修正信念的方式。这显然是飞跃性的进步,因为它具有概率演算的所有有利属性,再加上基于规则的系统的程序优势。而且,它是透明的。

我们现在的深度学习失去了透明性。我有跟那些说深度学习“效果很好”的用户交谈过,但他们不知道为什么效果好。一旦解开了它的束缚,它会有自己的动态性,会自己做修复,做优化,而且大多数情况下能得出正确的结果。但当它被束缚,你就没有线索知道它哪里出了错,哪里需要修复。这是让我担心的事情。


插播:机器学习专家与统计学家观点上有哪些不同?

作者:麦子

链接:https://www.zhihu.com/question/29687860/answer/45794666
来源:知乎

共同点:

统计建模或者机器建模的目的都是从数据中挖掘到感兴趣的信息。下面只讨论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! "。成为了一门玄学。

对于这句话:“统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力” : 总体来说,可解释性强的模型会损失预测能力,预测能力强的模型往往比较难解释。

常见的模型中,"可解释性强 --> 预测强" 的模型依顺序排列是

    1. Lasso+线性回归     // least absolute shrinkage and selection operator
    2. 线性回归
    3. 非线性模型
    4. 非参模型
    5. SVM

构建简单的模型,比如线性模型,更容易解释因变量对自变量的影响。 适合于那种目的是解释一个变量对另外一个变量的影响的问题。也是经典统计中最常用到的模型。

变化再多一些,非线性模型,非参模型,更灵活,选择更多,所以可能达到更好的预测效果。但是往往比较难解释x对y的影响。(这些模型都来源于统计,推广于机器学习。这些模型都是几十年前统计的研究成果了好么!!因为最近计算机速度提上来了,原来没名气,是因为计算速度带不动,数据没收集辣么多啊!!)!

因为机器学习领域的数据大,运算能力强,所以能把复杂的非参或者非线性模型用的效果比较好。

各自的领域优势?
在一些传统领域,工程实验,生物试验,社会调查,物理实验,我们能获得的数据量非常小,我们必须小心翼翼的对待我们的模型,从有限的数据中提取尽量可能多的信息。抑或是一些对参数很敏感的预测,差之毫厘失之千里,
比如检验一个艾滋病新药物是否有效,来决定要不要投入funding去进行研发,我们就要用严谨的概率统计模型。(个人做项目,小公司做项目,数据量不大,或者项目具有唯一性,那么统计机器学习便是必要的)
但是在搜索引擎,淘宝用户购买信息,人脸特征识别等领域,我们能够获得很大量的数据,而且数据维度也非常高,用传统方式建模,很有可能维度高到严谨的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

PPT

 


如何加强透明性

这便是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库(附视频)

[Bayes] *Bayesian Deep Learning for Transparency Improvement的更多相关文章

  1. 贝叶斯深度学习(bayesian deep learning)

      本文简单介绍什么是贝叶斯深度学习(bayesian deep learning),贝叶斯深度学习如何用来预测,贝叶斯深度学习和深度学习有什么区别.对于贝叶斯深度学习如何训练,本文只能大致给个介绍. ...

  2. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  3. A Full Hardware Guide to Deep Learning

    A Full Hardware Guide to Deep Learning Deep Learning is very computationally intensive, so you will ...

  4. A Full Hardware Guide to Deep Learning深度学习电脑配置

     https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149( 欢迎关注博 ...

  5. Why are very few schools involved in deep learning research? Why are they still hooked on to Bayesian methods?

    Why are very few schools involved in deep learning research? Why are they still hooked on to Bayesia ...

  6. (转) Awesome - Most Cited Deep Learning Papers

    转自:https://github.com/terryum/awesome-deep-learning-papers Awesome - Most Cited Deep Learning Papers ...

  7. 机器学习(Machine Learning)&深度学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  8. 机器学习(Machine Learning)&深入学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林. ...

  9. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

随机推荐

  1. 创建CSS3警示框渐变动画

    来源:GBin1.com 在线演示   在线下载 现代的网页设计技术已经允许开发人员在大多数浏览器中快速实现所支持的动画,其中消息警示是非常普遍的.由于默认的JavaScript警示框往往设计不佳和过 ...

  2. Spark1.0.0 history server 配置

    在执行Spark应用程序的时候,driver会提供一个webUI给出应用程序的执行信息.可是该webUI随着应用程序的完毕而关闭port,也就是说,Spark应用程序执行完后,将无法查看应用程序的历史 ...

  3. Git学习笔记二--工作区和暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 简单理解: 我们使用mkdir Git在d盘下创建的文件夹,就是工作区,我们编辑readme.txt文件就是在工作区下完成的: gi ...

  4. LR打不开浏览器的解决方法

        很久没用LoadRunner了,今天想复习一下,免得技能生疏,安装了一个LR11,跑一下,竟然打不开IE浏览器: 这时肯定是靠谷哥跟度娘的,经过一轮搜索,可以解决打开IE了,但录制不了解决,又 ...

  5. 反射与annotation

    1,可以通过反射取得使用的全部annotation 2,可以通过反射取得指定的annotation. 一个annotation要想变得有意义, 必须结合反射机制取得annotation中设置的全部内容 ...

  6. Sqlldr导入txt文件内容到数据库中

    需求:数据迁移,将txt文件中的内容导入oracle数据库的表中,文本文件中数据格式如下(数据以空格隔开) 1. 创建与文本数据格式相匹配的表(此处在scott用户下创建) create table ...

  7. CSS3中伪类nth-child和nth-of-type区别

    本篇文章由:http://xinpure.com/css3-pseudo-class-difference-between-nthchild-and-nthoftype/ 首先来看看 nth-chil ...

  8. MQTT 学习笔记

    MQTT特点 MQTT协议是为大量计算能力有限,且工作在低带宽.不可靠的网络的远程传感器和控制设备通讯而设计的协议. 1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合 2.对负载内容 ...

  9. 堆越界--coredump 在malloc函数里

    一,可执行程序分析: objdump -h xxx,可以看到程序内部各个段的内存分布,结果如下(部分):  26 .data         0000016c  0000000000879d20  0 ...

  10. AngularJS ——ngResource、RESTful APIs 使用

    这篇文章里,用以下两个情景用例来解释: 保存/持久化 新的数据对象 更新存在的数据对象 代码片段包含了AngularJs代码和Spring MVC代码,以能够让你简单快速的上手. 想要$resourc ...