马尔可夫链、PCA、贝叶斯可视化图,学起来并不难
马尔可夫链、主成分分析、条件概率等概念都是计算机学生需要学习的知识点。然而,理论的抽象性往往使学生难以深入体验和理解。本文以直观的方式解释了这些抽象的理论概念。您还可以调整相关参数来改变结果,让这些抽象的概念变得生动、立体!
计算机相关概念太难、太抽象?别害怕,往下看!
人类对视觉信息的记忆远大于文本信息。利用图表等形式的可视化,可以使抽象、难懂的概念一目了然;在此基础上,添加可控参数调节器将更有利于深度学习和概念理解。
马尔可夫链
马尔可夫链是指数学中涉及具有马尔可夫性质的离散事件的随机过程。在每个步骤中,系统都可以根据概率分布从一种状态更改为另一种状态,也可以保持当前状态。状态的变化称为转移,与不同状态变化相关的概率称为转移概率。
这个概念是不是有点混乱?没关系,我们看下图: ![]()
有 2 个状态的马尔可夫链
状态空间中有两个状态,A 和 B。有 4 种可能的转换。一旦我们到达 A,我们就可以移动到 B 或留在 A。如果我们在 B,我们可以搬到 A 或留在 B。在这张图中,从任意状态到任意状态的转移概率为0.5。
当然,真正的建模者不会总是绘制马尔可夫链图。 相反,他们将使用“转移矩阵”来计算转移概率。 状态空间中的每个状态都显示在表中的列或行中。矩阵中的每个单元格告诉您从行状态移动到列状态的概率。因此,矩阵中的单元格执行与图中箭头所示相同的工作。 ![]()
将状态添加到状态空间时,我们添加一行和一列,向每个现有的列和行添加一个单元格。 这意味着当我们向马尔可夫链添加状态时,单元数量呈二次方增长。 这就是变换矩阵发挥重要作用的原因(除非你想将 Falkov 链画成丛林)。
马尔可夫链的功能之一就是利用计算机来模拟现实世界的现象。例如,它可以用来检测新建水坝的洪水频率(取决于连续阴雨天数)。为了建立这个模型,从以下雨天(R)和晴天(S)开始: ![]()
这个模拟天气的表达方式是:“一半天是雨天。所以模拟中的每一天都有一个下雨的概率为 50%。“这条线在模拟中产生的序列如下:![]()
你有没有注意到上面的序列与原始的不同?第二个序列似乎有跳跃,而第一个(真实数据)“粘滞”。真实数据表明,如果某一天是晴天,那么第二天很可能也是晴天。
这种“粘性”可以通过二态马尔可夫链消除。当马尔可夫链处于状态“R”时,它保持在该状态的概率为0.9,其状态改变的概率为0.1。类似地,“S”状态保持不变的概率为0.9,转变为“R”状态的概率为0.1。 ![]()
在很多需要研究大规模现象的人手中,马尔可夫链可以变得非常强大。例如,Google 用于确定搜索结果顺序的算法(称为 PageRank)就是马尔可夫链。科夫链。
主成分分析 (PCA)
主成分分析是一种统计方法。 使用正交变换将一组可能相关的变量转换为一组线性不相关的变量。变量,转换后的变量集称为主成分。 PCA是最重要的降维方法之一,广泛应用于数据压缩消除冗余、数据噪声消除等领域。
2D 示例
首先考虑一个只有二维的数据集,例如身高和体重。该数据集可以绘制为平面上的点。但如果你想找出变量,PCA 会找到一个新的坐标系,其中每个点都有一个新的 (x,y) 值。这些轴实际上没有任何物理意义。它们是身高和体重的组合,即所谓的“主要组成部分”。 ![]()
拖动原始数据集中的点,查看PC坐标系是否调整。
PCA 对于降维很有用。下面我们将数据绘制成两条直线:一条由 x 值组成,另一条由 y 值组成。 ![]()
但是,如果我们只打算查看一个维度的数据,那么最好将该维度视为变化最大的主成分。减少 PC2 不会造成太大损失,因为它对数据集变化的贡献最小。 ![]()
3D 示例
看透数据云非常困难,因此 PCA 在 3D 空间中更加重要。在下面的示例中,原始数据以 3D 形式绘制,但可以从不同角度将其投影到 2D 空间。确定角度后,单击“显示 PCA”按钮以显示 2D 结果。在该示例中,PCA变换使得水平轴PC1的变化最大,其次是垂直轴PC2的变化,第三轴PC3的变化最小。当然,PC3就被丢弃了。![]()
应用:英国的食品和饮料
如果数据集不仅仅是 3 维,而是由 17 个维度组成怎么办? !如下表所示: ![]()
该表显示了英国各地区每人每周平均消耗17种食物,单位为克。该表显示了食物类型之间的一些有趣差异,但总体差异并不显着。我们看看PCA是否可以通过降维来增加区域之间的差异。
下图是第一主成分的数据图。我们可以看到北爱尔兰的一些事情发生了变化。 ![]()
现在看看第一个和第二个主要组成部分,我们可以看到北爱尔兰是一个很大的异常值。当你回顾表中的数据时,这是有道理的:北爱尔兰吃更多的新鲜土豆,更少的新鲜水果、奶酪、鱼和酒精饮料。这是一个好兆头,表明我们看到的结构反映了现实世界地理的一个重要事实。北爱尔兰是四个国家中唯一不在大不列颠岛上的国家之一。 ![]()
条件概率
条件概率是指在另一个事件已经发生的情况下,一个事件发生的概率。 下落的球可以落在红板上(称为事件 A),或落在蓝板上(称为事件 B),或两者都落在。
那么给定一个球,它击中红板(事件 A)然后击中蓝板(事件 B)的概率是多少?这个问题可以通过给出A的条件概率来回答,即P(B|A)。 ![]()
![]()
以视觉形式表示抽象且困难的计算机概念可以帮助学生和研究人员更好地理解;它甚至可以帮助教师提高教育质量。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网