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

因为你没有那么多的数据

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


基于规则?基于概率?

---- 图灵奖得主、贝叶斯之父 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. [TypeScript] Type Definitions and Modules

    For example you are building your own module, the same as Lodash: my-lodash.d.ts declare module &quo ...

  2. PHP上传文件类 代码练习

    类文件: <?php class upload{ protected $fileName; protected $uploadPath; protected $maxSize; protecte ...

  3. java回调简单实现

    package data; import java.util.HashMap; import java.util.Map; public class Good { CallBack callBack; ...

  4. vue - dist

    描述:打包后准备上线的文件(需要服务器环境才能运行!!!)

  5. iOS开发-使用storyboard实现UILabel的自适应高度(iOS8)

    好久没有写博客了.以后多写些博客,对自己是一种提升.对大家也是一种帮助 近期特别痴迷storyboard和xib的可视化编程,在写项目的时候遇到个问题就是怎样使UILabel自适应高度,查了好多文章博 ...

  6. <译>Spark Sreaming 编程指南

    Spark Streaming 编程指南 Overview A Quick Example Basic Concepts Linking Initializing StreamingContext D ...

  7. 如何监控Tomcat服务器

    如何监控Tomcat服务器 发表于:2009-06-25来源:作者:点击数:2651 标签:tomcatTomcat服务器 在进行 性能测试 时,一般都需要对应用服务器进行监控,监控的指标包括应用服务 ...

  8. 【搞机】Apple Pencil 开箱

    前言 上次入手了新的iPad Pro .好开心呢. 然后发现官方的笔不错呢~ 后来,苹果官方的12期免息分期又回来啦~ 买买买!!! 上图 体验 官方的笔真的不愧叫Pencil ,完美模拟铅笔的手感. ...

  9. laravel文件存储Storage

    use Illuminate\Support\Facades\Storage; //建立目录 Storage::disk('public')->makeDirectory(date('Y-m') ...

  10. Atitit.  Exception in thread "main" java.lang.Error: Unresolved compilation problem:

    Atitit.  Exception in thread "main" java.lang.Error: Unresolved compilation problem: 1.1. ...