为什么需要机器学习?( 二 )


1.2.2 诊断性分析到目前为止 , 我们已经处理了输出数据 , 这是在特定的基础流程生成之后观察到的 。系统描述的自然问题与很多因素有关 。温度更多取决于气象和地理因素 , 这些因素既易于观测 , 又可以完全隐藏 。时间序列中的季节性显然受一年中的周期影响 , 但所出现的异常值又该如何解释呢?
例如我们在一个处于冬季的地区发现了一个温度峰值 , 我们怎样才能证明它的合理性呢?在简单的方法中 , 我们可以将其视为可过滤掉的噪声异常值 。但是 , 如果该值已经被观察到并且有存在价值(例如所有各方都认为这不是错误) , 我们应该假设存在隐藏(或潜在)原因 。
这可能是令人惊讶的 , 但大多数复杂的场景都具有大量难以分析的潜在原因(有时称为因素) 。总的来说 , 这不是一个糟糕的情况 , 但正如我们将要讨论的那样 , 将它们包含在模型中并通过数据集了解它们的影响是非常重要的 。
另一方面 , 决定丢弃所有未知元素意味着降低模型的预测能力 , 并且会成比例地降低准确性 。因此 , 诊断分析的主要目标不一定是找出所有因素 , 而是列出可观察和可测量的因素(也称为因子) , 以及所有的潜在因素(通常概括为单个全局因素) 。
在某种程度上 , 因为我们可以轻松监控效果 , 诊断分析通常类似于逆向工程的过程 , 但要检测潜在原因与可观察效果之间存在的关系就较为困难 。因此这种分析通常是概率性的 , 并且有助于找出某个确定的原因带来特定影响的概率 。这样 , 排除非影响分量和确定最初排除的关系也更容易 。然而 , 这个过程需要更深入的统计学知识 , 除了一些例子如高斯混合之外 , 这类分析将不会在本书中讨论 。
1.2.3 预测性分析如果收集了整体描述性知识并且对潜在原因的认识已令人满意 , 那么我们就可以创建预测模型了 。创建预测模型的目的是根据模型本身的历史和结构来推断未来的结果 。在许多情况下 , 我们将这个阶段与下一个阶段一起分析 , 因为我们很少对系统的自由演变感兴趣(例如温度将在下个月如何变化) , 而是对我们可以影响输出的方式感兴趣 。
也就是说 , 我们只关注预测 , 考虑最重要的因素 。第一个需要考虑的因素就是流程性质 。我们不需要机器学习用于确定性过程 , 除非这些过程的复杂性太高以至于我们不得不将它们视为黑匣子 。在本章将要讨论的大多数例子都是无法消除不确定性的随机过程 。例如一天中的温度可以建模为条件概率(例如高斯) , 具体取决于前面的观测值 。因此 , 预测不是将系统变为确定性系统 , 而是减少分布的方差 , 使概率只有在小的温度范围内 , 才会很高 。另外 , 正如我们所知 , 许多潜在因素在幕后工作 , 该选择会对最终的准确定性产生极大的不利影响 , 因此不能接受基于尖峰分布的模型(例如基于概率为1的单一结果) 。
如果模型被参数化 , 变量受学习过程影响(例如高斯的均值和协方差矩阵) , 那么我们的目标是在偏差-方差权衡中找出最佳平衡 。由于本章只是概述 , 我们不用数学公式讲解概念 , 只需要一个定义即可(更多细节可以在


推荐阅读