9.证据和概率

基本概念:用贝叶斯规则组合简单证据;通过假设条件独立进行概率推断

代表技巧:朴素贝叶斯;证据提升

例子:用广告瞄准线上客户

概率性的组合证据

联结概率和独立

贝叶斯规则

将贝叶斯规则应用到数据科学

条件独立和朴素贝叶斯

朴素贝叶斯的优缺点

证据“提升”的一个模型

例子:脸书“喜欢”中的证据提升

行为中的证据:针对用户的广告

总结

第九章 证据和概率

我们可以将我们所知道的关于数据实例的事情视为针对目标的不同值的证据。我们对数据实例了解的事情表示为实例的功能。如果我们知道每个特征给出的证据的强度,我们可以应用原则性方法来概率地组合证据,以得出关于目标值的结论。我们将根据训练数据确定任何特定证据的强度。

**

这段话给我的感觉就是。

算法本质上是思维的体现,一个个数学公式,体现的就是不同角度,看待同一件事情的思维。这种不同就是创新。

1.创新教育本质上就是鼓励不同,鼓励个性化,鼓励自我认同和自我发展。

2.学习算法,绝不是知道他的原理就可以了,而是要体会不同算法,背后不同的思维。

**

在线广告例子:

有针对性的投放广告。预测那些客户会接受广告营销(这是预测在商业中的应用)

有个问题:

我们该如何描述消费者?

其中一个方法是,收集他在网上浏览记录,哪些方面?

可能相关的,如金融,体育,娱乐,烹饪等的博客。可能会选择几千个非常受欢迎的内容,或者更多,但有些内容,如拖拉机,风扇页面,我们不太考虑。

人类擅长直觉判断,但是拙于精准计算。数学正好可以弥补人类在精度方面的弱势,但是这不等于拿起数学的人,就要放弃人的固有优势,直觉判断。总之,增强理解力,了解真相,真相会使人自由,需要直觉和数学。

我们不应该完全依赖于自己的直觉判断能力(这也是为什么要进行数据分析)

我们希望历史数据能够估计证据(数值描述)的方向和强度。

然后用一个框架,来评估证据,将其结合起来,估计结果的可能性。

这里我们感兴趣的是p(C|E),E是证据(某个特征量),C是某一类事件。

但是有一个问题:

在这个例子中,有没有这种可能性:

因为我们可能将成千上万个网站的浏览都考虑在内。

我们要预测的证据集,与我们的训练集中任何一个证据集都不一样,甚至毫不相关?

(在垃圾邮件分类中也有类似的问题:某个邮件与训练集中的邮件没有一样的,甚至单个来说,想关性微小)

因此,我们会将每个证据分开考虑,然后组合证据。

贝叶斯规则分类

这里的E是一个事件(特征向量)

不幸的是,我们回到了上面提到的主要困难,这使得公式9-2不能直接用于数据挖掘。考虑E是我们常用的矢量属性值<e1e2,...,ek>,一个可能很大的特定条件集合。施加方程9-2直接将需要知道pË|C ^)为pë1ë2∧⋯∧Ëķ|C ^)。这是非常具体的,很难衡量。我们可能永远不会在训练数据中看到与给定E完全匹配的具体示例在我们的测试数据中,即使我们这样做,我们也不太可能看到足够的信息来估计概率。

贝叶斯数据科学方法通过假设概率独立来处理这个问题。处理这种并发的最广泛使用的方法是做出特别强烈的假设独立。

因为贝叶斯规则中的P(E)中E是作为一个整体事件的发生,计算这个联合概率,如果不将各类具体事件假设为是独立的,计算会非常复杂。

条件独立和朴素贝叶斯

条件独立的情况下:

朴素贝叶斯的利与弊

Naive Bayes是一个非常简单的分类器,但它仍然考虑了所有的特征证据。它在存储空间和计算时间方面非常有效。训练仅包括在看到每个示例时存储类和特征出现的计数。如上所述,pc)可以通过计算所有实例中c类实例的比例来估算。pe i | c)可以通过c类中出现特征e i的比例来估计。

尽管简单和严格的独立性假设,朴素贝叶斯分类器 在许多现实世界的任务中进行分类时表现出色。这是因为出于直观上令人满意的原因违反独立性假设往往不会损害分类性能。具体来说,考虑两个证据实际上是强烈依赖的 - 这意味着什么?粗略地说,这意味着当我们看到一个时,我们也可能会看到另一个。因此,在某种程度上我们将重复计算证据(这里要联系到本章贝叶斯背后的思维,将特征值视为不同强度的证据)然而,只要证据通常指向我们正确的方向,对于分类,重复计算不会损害结果。实际上,它倾向于使概率估计在正确的方向上更加极端:对于正确的类别,概率将被高估,而对于不正确的类别,概率将被低估。但是对于分类,我们选择具有最大概率估计的类,因此在正确的方向上使它们更加极端是可以的。

然而,如果我们将要使用概率估计本身,这确实会成为一个问题 - 因此,如第7章所述,应该谨慎使用Naive Bayes进行具有成本和收益的实际决策。从业者确实定期使用朴素贝叶斯进行排名,其中概率的实际值不相关 – 仅为不同类别中的示例的相对值。(朴素贝叶斯,会将大的概率变大小的概率变小)

朴素贝叶斯的另一个优点是它自然是一个“增量学习者”。一个增量学习者是一种感应技术,可以一次更新其模型一个训练示例。当新的培训数据可用时,它不需要重新处理所有过去的培训示例。

朴素贝叶斯是许多个性化垃圾邮件检测系统的基础,例如Mozilla的Thunderbird中的系统。

证据提升
本章大量应用了数学理解,并不直观,而是抽象的理解。但是却非常有用。

实际上,形象理解和抽象理解是互为补充促进的。

为了获得证据提升的公式,从朴素贝叶斯中的条件独立(比如某人看A网站与是否看B网站或其它无关)扩展为所有特征都独立:这个人接不接受广告投递和另外其他人都无关。这是一种对客观世界更强烈的简化,但是有意义简化问题,通常会给我们带来意想不到的惊喜。

我们将某个特征对于某个分类的提升定义为:

如果liftc(x)>1,则有助于p(c|E)/p(c)(也就是条件概率E发生的条件下C发生的概率,注意p(c)在一个数据集中是常量),也就是对结果有提升作用,反之,则有下降作用。

**

这又是一个用数学来理解现实世界的例子,抽象和形象思维的完美结合,如果要获得思维的乐趣,数学,真是一个好方法,难怪好多数学家哪怕穷困潦倒,也放不下数学了。

案例学习对于在解决实际问题,获得新的思路很有好处。但是你创新的根源,在于自己独特的感受和思考。

**

示例:来自脸书的“喜欢”

通过这些“喜欢”数据——每个客户可能在许多的东西下面点喜欢,对于每个用户来讲,这是一个可观的数据集,可以预测许多不明显的各种特征:

  • 他们如何在心理测试中得分(例如,他们是如何外向或尽职尽责)

  • 他们是(公开)同性恋

  • 他们是喝酒还是吸烟

  • 他们的宗教和政治观点

  • 还有很多。

  • 智力测验中的得分。

以“喜欢”数据预测智商为例:

以130作为高智商的分界线。应用证据提升方法,找到那些特征(看了什么东西)对高智商的结果更有“提升”效果?

喜欢

提升

喜欢

提升

指环王

1.69

维基解密

1.59

一个漫画

1.57

贝多芬

1.52

科学

1.49

美国国家公共电台

1.48

心理学

1.46

千与千寻

1.45

大爆炸理论

1.43

运行

1.41

保罗·科埃略

1.41

罗杰·费德勒

1.40

每日秀

1.40

星际迷航(电影)

1.39

丢失

1.39

哲学

1.38

骗我

1.37

洋葱

1.37

老爸老妈的浪漫史

1.35

科尔伯特报告

1.35

神秘博士

1.34

星际迷航

1.32

哈尔的移动城堡

1.31

谢尔顿·库珀

1.30

特隆

1.28

搏击俱乐部

1.26

愤怒的小鸟

1.25

盗梦空间

1.25

教父

1.23

杂草

1.22

这个案例是发表在美国国家科学杂志上的文章,这属于数据科学应用范畴。更关注现实的具体应用。将数据联系在一起 ,对数据的想象力。

要想找到答案,首要一步是要找到好问题。

你对哪些东西与高智商有相关性感兴趣吗?

朴素贝叶斯,对于特征数量巨大的数据集有好处,因为它把每个特征单独处理,再进行组合。无需重复计算,计算量小。

**

看到这里我笑了半天~

我觉得有必要记录一下,以加深我将学习归为是趣的事情这一意识——这属于自我意识培养。

——————

这才是货真价实的幽默哇~

如果我的喜好被列在了未列出的那一栏中,我会沮丧么?根本不会!

因为我知道,我就是个中等智商,根本不在乎来自任何人的任何毁誉。

在王小波看来,有趣就是有道理且新奇。作者完全做到了。他完全相信自己的方法和判断,并且以此为依据,对别人进行揣测。或许别人根本不拿这当回事儿呢!

不过话说回来,一个严谨的科学教授,不可能这么轻而易举的相信什么。可见,真正的科学,就是能够给人自信。在科学的领域内,唯一的权威是理性。这也是我喜欢它的原因。

数据是一种资产,只有有数据思维和技能的人才能发掘宝藏。

**

总结

在之前的章节中,模型都始于一个问题“如何最好的区分目标量?”这属于判别性方法。他们直接尝试区分不同目标。

本章介绍了一个新的方法系列,它基本上可以解决问题并询问:“不同的目标段如何生成 特征值?”他们试图模拟数据的生成方式。在使用阶段,当面对要分类的新示例时,他们使用模型来回答问题:“哪个类最有可能生成此示例?”因此,在数据科学中,这种建模方法称为生成。被称为贝叶斯方法的大型流行方法,因为它们主要依赖于贝叶斯规则,通常是生成方法。关于贝叶斯方法的文献 既广泛又深刻,您将经常在数据科学中遇到它们。

本章主要关注一种特别常见且简单但非常有用的贝叶斯方法,称为朴素贝叶斯分类器。它是“天真的”,因为它将每个特征建模为独立生成(对于每个目标),因此当特征相关时,生成的分类器倾向于重复计算证据。由于它的简单性,它非常快速和有效,尽管它天真,它却令人惊讶的(几乎令人尴尬)有效。在数据科学中,它很简单,只是一个常见的“基线“方法 - 应用于任何新问题的第一种方法之一。

我们还讨论了贝叶斯推理如何使用某些独立性假设可以让我们计算“证据提升”来检查支持或反对结论的大量可能证据。

《商业数据分析》读书笔记(九)相关推荐

  1. OREILLY Programming .NET 3.5 读书笔记之一

    OREILLY Programming .NET 3.5 读书笔记之一 <Programming .NET 3.5>是OREILLY 2008.08出版的.NET 3.5 开发书籍,作者是 ...

  2. c语言指针读书笔记,《C与指针》读书笔记九

    原标题:<C与指针>读书笔记九 指针之所以在C语言中占据很大分量,是因为指针有很大的灵活性.指针以结构体结合确实为程序的编写提供了一把锋利无比的宝剑.在有些资料上介绍结构体是多种数据集合, ...

  3. 《Programming in Scala》读书笔记(持续更新) - passover的个人空间 - DOIT博客 - 多易网...

    <Programming in Scala>读书笔记(持续更新) - passover的个人空间 - DOIT博客 - 多易网 <Programming in Scala>读书 ...

  4. 3D游戏设计读书笔记九

    3D游戏设计读书笔记九 本次作业五选一,我选择制作血条预制设计,要求如下: 分别使用 IMGUI 和 UGUI 实现 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机 分析两种实现 ...

  5. TCPIP详解Protocol 读书笔记(九) IP选路

    TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 文章目录 TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 IP选路原理简单回顾 初始化路 ...

  6. Head First设计模式读书笔记九 第十章 状态模式

    过去的笔记链接 https://blog.csdn.net/u011109881/article/details/60158137 状态模式实例 用Java设计糖果机吧 大致流程: 上图中,有四种状态 ...

  7. C专家编程--读书笔记九 再论数组

    第九章 一.知识点 1.所有作为函数参数的数组名总是可以通过编译器转换成指针. 然而,数组和指针在编译器处理时是不同的,在运行时的表示形式也是不一样的,并可能产生不同的代码.对编译器而言,一个数组就是 ...

  8. 《深入理解计算机系统》读书笔记九:寄存器结构

  9. 读书笔记九:TCP/IP详解之广播和多播,IGMP协议

    单播,多播,广播的介绍 单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是具体网 ...

  10. 《Go语言程序设计》读书笔记 (九) 命令工具集

    Go语言的工具箱集合了一系列的功能的命令集.它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于完成包的查询.计算的包依赖关系.从远程版本控制系统和下载它们等任务.它也是一个构建系 ...

最新文章

  1. 敏捷开发之道(二)极限编程XP
  2. AI吉尼斯:那些你不知道的人工智能之“最”
  3. IT职场人生系列之十八:危险职业(上)
  4. 【220】◀▶ IDL 数组操作函数说明
  5. 服务器状态监控之二软硬件环境介绍
  6. “伪基站”任意冒用手机号短信诈骗
  7. ios不响应presentModalViewController界面的处理
  8. matlab 高斯函数_光学与matlab:高斯光的模拟
  9. Spring BeanFactory 容器
  10. Flash已死,有事烧纸!
  11. python 菜鸟教程
  12. 鲁棒控制(棒棒控制原理)
  13. 不用传感器的指南针android app,Android 利用方向传感器实现指南针具体步骤
  14. 微信朋友圈抓取 附近人自动加 附近人朋友圈抓取 最近一直在研究(有兴趣的看网址)...
  15. 浅析Marshmallow在flask中的应用
  16. 短链(ShortURL)的Java实现
  17. C++语言基础:输出一个整数的个位十位百位上的数字
  18. numpy_2(多维数组降为一维reval,flatten)
  19. Ubuntu中编写C语言程序
  20. 为什么好多公司的开发语言从C#变成了Java?

热门文章

  1. 对计算机专业的兴趣怎么说,我的职业兴趣-我似乎对任何领域都有兴趣,有时会很想知道计算机及其网络是怎么设计运作的,...
  2. IOS resign error: dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
  3. robotium自动化测试实现脚本命令行执行resign重签名操作
  4. java+ssh+mysql体育用品商城
  5. 笔记本拆c面_笔记本如何正确拆解 笔记本拆解方法【步骤介绍】
  6. 通通的最后一篇博客(附自制html5平面射击小游戏一枚)
  7. 示波器和频率计测试哪个更准?原理是什么
  8. python tushare mpf 画股票k线图
  9. 电动汽车 V2G 放电模型 算法
  10. Skinmagic--MFC界面美化