来源:新智元

本文共2100字建议阅读9分钟。

本文用可视化的方式来解释抽象的理论概念,使这些抽象概念变得生动而立体!

[ 导读 ]马尔科夫链、主成分分析以及条件概率等概念,是计算机学生必学的知识点,然而理论的抽象性往往让学生很难深入地去体会和理解。而本文,将这些抽象的理论概念,用可视化的方式来解释,还可调节相应参数来改变结果,使这些抽象概念变得生动而立体!

计算机相关概念太难、太抽象?别怕,往下看!

人类对视觉信息的记忆要远远大于文字信息。使用图表等形式的可视化,可以让抽象、难懂的概念一目了然;在此基础之上,添加可控的参数调节器,将更有助于对概念的深入学习与理解。

马尔科夫链

马尔科夫链是指数学中具有马尔科夫性质的离散事件随机过程。在其每一步中,系统根据概率分布可以从一个状态变到另一个状态,也可以保持当前状态。状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率。

这概念是不是看着有点晕?没关系,我们来看下面这张图:

2种状态的马尔科夫链

在状态空间中有两种状态,A和B。共有4种可能的转换。如果我们在A,接下来可以过渡到B或留在A。如果我们在B,可以过渡到A或者留在B。在这张图中,从任意状态到任意状态的转移概率是0.5。

当然,真正的建模工作者不会总是就画一张马尔科夫链图。 相反,他们会使用“转移矩阵”来计算转移概率。状态空间中的每个状态都会出现在表格中的一列或者一行中。矩阵中的每个单元格都告诉你从行状态转换到列状态的概率。因此,在矩阵中,单元格做的工作和图中的箭头所示是一样。

如果状态空间添加了一个状态,我们将添加一行和一列,向每个现有的列和行添加一个单元格。 这意味着当我们向马尔可夫链添加状态时,单元格的数量会呈二次方增长。因此,转换矩阵就起到了很大的作用(除非你想把法尔科夫链图画的跟丛林一样)。

马尔科夫链的一个作用是用计算机模拟现实世界中的现象。例如,可以用来检测一个新建的水坝溢流的频率(取决于连续下雨的天数)。为建立这个模型,可以从下面的雨天(R)和晴天(S)开始:

表述这种模拟天气的方法就是:“有一半的天数是下雨天。所以模拟中的每一天都有50%的概率是下雨的。”这个规则在模拟中所产生的序列如下:

你注意到上面的序列和原来的不太一样了吗?第二个序列似乎具有跳跃性,而第一个(真实数据)似乎具有“粘性”。在真实的数据中,如果某一天是晴天,那么第二天也很可能是晴天。

可以通过两个状态的马尔可夫链来消除这种“粘性”。当马尔科夫链处于状态“R”时,它保持在该状态的概率是0.9,状态改变的概率是0.1。同样,“S”状态保持不变的概率是0.9,过渡到“R”状态的概率是0.1。

在许多需要对大规模的现象做研究的工作人员手中,马尔科夫链的作用可以变得非常强大。例如,谷歌用于确定搜索结果顺序的算法,称为PageRank,就是一种马尔可夫链。

主成分分析(PCA)

主成分分析,是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。PCA是最重要的降维方法之一,在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。

  • 2D示例

首先,只考虑两个维度的数据集,比如高度和重量。这个数据集可以绘制成平面上的点。但如果想要整理出变量,PCA会找到一个新的坐标系,其中每个点都有一个新的(x,y)值。坐标轴实际上没有任何物理意义。它们是高度和重量的组合,被称为“主分量”。

拖动原始数据集中的点,可以看到PC坐标系统正在调整

PCA对于降维很有用。下面,我们将数据绘制成两条直线:一条由x值组成,另一条由y值组成。

但是,如果我们只打算沿一个维度查看数据,那么将该维度作为具有最大变化的主成分可能会更好。 通过减少PC2,不会造成太大损失,因为它对数据集的变化贡献最小。

  • 3D示例

看透一个数据云是非常困难的,因此,在3D空间中,PCA显得更为重要。在下面的示例中,原始数据以3D的形式绘制,但可以通过不同的视角,将其投射到2D空间。确定好角度之后,点击“显示PCA”按钮,即可呈现2D的结果。在本例中,PCA变换确保水平轴PC1的变化量最大,垂直轴PC2的变化量次之,第三轴PC3的变化量最少。显然,PC3是丢弃的。

  • 应用:吃喝在英国

如果数据集不仅仅是三维的,而是17个维度的呢?!如下表所示:

表中是英国每个地区平均每人每周17种食物的消费量,单位为克。这张表显示了不同食物类型之间存在的一些有趣的差异,但总体差异并不显著。让我们看看PCA是否可以通过降维来强地区家之间的差异。

下图是第一个主成分的数据图。 我们可以看到一些有关北爱尔兰的情况已经发生了变化。

现在,看看第一和第二主成分,可以看到北爱尔兰是一个主要的异常值。一旦回过头来看看表格中的数据,这就显得很有道理了:北爱尔兰人吃的新鲜土豆要很多,吃的新鲜水果、奶酪、鱼和酒精饮料较少。这是一个很好的迹象,我们所看到的结构反映了现实世界地理的一个重要事实北爱尔兰是四个国家中唯一一个不在大不列颠岛上的。

条件概率

条件概率是指一个事件在另外一个事件已经发生条件下的发生概率。一个落下来的球可能落在红色的架子上(称之为A事件),或者落在蓝色架子上(称之为B事件),或者两者兼而有之。

那么给定一个球,它击中了红色架子(A事件),而后击中蓝色架子(B事件)的概率会是多少呢?可以通过给定A的条件概率,即P(B | A)来回答这个问题。

将抽象、难懂的计算机概念,以可视化的形式展现出来,可以帮助学生、研究者更好的理解;甚至可以帮助教师们提高教学质量。

无论如何,希望读者们能从本文中得到或多或少的帮助。

当然还有一些其他的抽象概念的可视化,读者们可访问下方链接地址查看:

http://setosa.io/ev/

13张动图助你彻底看懂马尔科夫链、PCA和条件概率!相关推荐

  1. PRML第八章读书笔记——Graphical Models 生成式模型/超先验/层次贝叶斯模型、d-分离/朴素贝叶斯、有向分解/马尔可夫毯、D图I图完美图、马尔科夫链/因子图/和积算法/最大和算法

    (终于读到概率图了,从这一章开始应该算是PRML的精华内容了.过于基础的东西就不写了,主要写自己不会的) 目录 8.1 Bayesian Networks P365 祖先采样法ancestral sa ...

  2. 炎热天气看书还是钓鱼?隐马尔科夫模型教你预测!

    高温天气与行为概率 夏季是一年最热的时候,气温普遍偏高,一般把日最高气温达到35℃以上的天气叫作高温天气,但是一般情况下高温天气分为两类.  (1)干热型高温.一般是指气温较高.太阳辐射强而且空气的湿 ...

  3. 【数据挖掘】贝叶斯信念网络 ( 马尔科夫假设 | 结构 | 有向无环图 | 参数 | 条件概率表 | 案例分析 )

    文章目录 I . 贝叶斯信念网络 II . 马尔科夫假设 III . 贝叶斯信念网络 示例 1 IV . 贝叶斯信念网络 示例 2 V . 贝叶斯信念网络 联合概率分布计算 VI . 贝叶斯信念网络 ...

  4. HMM模型——隐含马尔科夫模型【详细分析+图】

    HMM(隐马尔可夫模型) 含义 HMM(Hidden Markov Model), 中文称作隐含马尔科夫模型, 因俄国数学家马尔可夫而得名. 它一般以文本序列数据为输入, 以该序列对应的隐含序列为输出 ...

  5. 【第23期】令人舒心又伤脑的12张数学原理动图!你能看懂几个

    1.被简单证明的勾股定理 给三角形加上一点厚度.从面积问题,跳转到了具象的体积问题. 2.勾股定理的面积证明法 It s a long story--慢慢看. 3.周长和直径的π点小事 4.圆的面积= ...

  6. 直观机械动图,一秒看懂原理!

    全世界只有3.14 % 的人关注了 青少年数学之旅 这些神奇唯美的机械动图,让我们不得不感叹制造的魅力! 仿生四翼飞行机器人▲ 单手磁性拉链▲ 风洞实验--模拟飞机飞行▲ 可以说是最快的折弯机了▲ 这 ...

  7. 一张神图!教你看懂相机光圈、快门、感光度

    随着摄影器材越来越高端,我们的手机.相机上都会出现光圈.快门.ISO等调节选项.这些F什么的,几分之几还有几百的数值,对于摄影小白来说记起来太难了,完全无法理解,索性就直接使用自动模式,世界都太平了- ...

  8. 梯度下降算法动图_一文看懂常用的梯度下降算法

    概述 梯度下降算法(Gradient Descent Optimization)是神经网络模型训练最常用的优化算法.对于深度学习模型,基本都是采用梯度下降算法来进行优化训练的.梯度下降算法背后的原理: ...

  9. 物理太难?这些虚拟动图,让你看懂物理

    全世界只有3.14 % 的人关注了 爆炸吧知识 (刻度尺的使用) (测量平均速度实验) (声音的产生) (温度计的使用) (晶体和非晶体的熔化) (光的反射) (镜面反射.漫反射) (凸透镜成像) ( ...

最新文章

  1. python软件代码示例-Python学习示例源码
  2. 插上翅膀,让Excel飞起来——xlwings(一)
  3. html设置团偏跟着移动,雷阵雨云团向东偏南移动,北京两地将有强降雨+7级大风+冰雹!...
  4. Selenium + Grid + Testng并发运行用例
  5. Linux网络参数设置
  6. IOT(Index Organized Table)
  7. linux源码scripts目录是什么,linux-kernel – linux / scripts / recordmcount:没有这样的文件或目录...
  8. java 方法引用_JAVA 8 方法引用 - Method References
  9. 筛选法建立初始堆_学术简报|基于库仑效率的退役锂离子动力电池储能梯次利用筛选...
  10. iis 中php的mime类型,IIS添加MIME扩展类型及常用的MIME类型列表
  11. dcmtk编译 android,Win10编译Android可用的DCMTK-SO库
  12. 大数据 百亿级实时查询 ClickHouse SQL mysql canal kafka 数据实时同步
  13. 举个栗子!Tableau 技巧(105):用 四象限图 对数据进行分类分析
  14. 分析微信发送消息接口(基于网页版分析)
  15. 域策略(2)——设置统一桌面背景
  16. Kali与编程:小白黑客是如何安装Centos8的?(下节更精彩)
  17. 白银之手服务器人物不显示,白银之手 - 萌娘百科 万物皆可萌的百科全书
  18. 微信小程序项目-电子木鱼
  19. 查看Office授权信息
  20. 让软件项目重回主旋律——“Jolt大奖精选丛书”有奖征文

热门文章

  1. 记一次数组工具类 交集,去重
  2. Android ORMLite 框架的入门用法
  3. object-c中的继承
  4. DoS***原理和防御方法
  5. 【解题报告】【HDOJ1233】【最小生成树】还是畅通工程
  6. hdu 2518 Dominoes
  7. 2-5-PerformingMountsUnmounts
  8. linux与windows下开发,Linux 与 Windows下开发感受
  9. 卡尔曼滤波的优点总结
  10. 在EXCEL中怎么将多个CSV文件合并成一个文件