统计学和机器学习是两个密切相关的领域。实际上,两者之间的界限有时可能非常模糊。但是,有一些方法显然属于统计领域,不仅在机器学习项目中有用,而且非常有价值。可以公平地说,需要统计方法才能有效地通过机器学习预测建模项目工作。
统计学是先决条件
机器学习和统计学是两个紧密相关的研究领域。因此许多统计学家将机器学习称为“ 应用统计学 ”或“ 统计学习 ”,而不是以计算机科学为中心的名称。
所有的机器学习初学者都应该学习一点统计学的知识。下面有几个精心挑选的例子来具体说明。
从一本流行的应用机器学习书《 Applied Predictive Modeling 》的开头看一下这句话:
… the reader should have some knowledge of basic statistics, including variance, correlation, simple linear regression, and basic hypothesis testing (e.g. p-values and test statistics).
— Page vii, Applied Predictive Modeling, 2013
这是流行的《 Introduction to Statistical Learning 》一书中的另一个示例:
We expect that the reader will have had at least one elementary course in statistics.
— Page 9, An Introduction to Statistical Learning with Applications in R, 2013.
即使不是统计学的先决 条件,也需要一些原始的先验知识,这可以从广泛阅读的“ Programming Collective Intelligence ”的引用中看出:
… this book does not assume you have any prior knowledge of […] or statistics. […] but having some knowledge of trigonometry and basic statistics will help you understand the algorithms.
— Page xiii, Programming Collective Intelligence: Building Smart Web 2.0 Applications, 2007.
为了能够理解机器学习,需要对统计信息有一些基本的了解。
想要知道为什么会这样,我们必须了解为什么首先需要统计领域。
为什么要学习统计?
原始观测值本身就是数据,但它们不是信息或知识。
数据引发了一些问题,例如:
- 最常见或最期望的观察是什么?
- 观察的极限是什么?
- 数据是什么样的?
尽管它们看起来很简单,但必须回答这些问题才能将原始观察结果转化为我们可以使用和共享的信息。
除了原始数据,我们还可以通过设计实验来收集观察数据。从这些实验结果中,我们可能会遇到更复杂的问题,例如:
- 哪些变量最相关?
- 两次实验的结果有何不同?
- 差异是真实存在的还是因为数据噪声产生的?
这些问题很重要。问题的答案对项目,利益相关者以及有效的决策都是至关重要的。
需要统计方法来找到关于数据的问题的答案。
我们可以看到,为了了解用于训练机器学习模型的数据并解释测试不同机器学习模型的结果,都需要统计方法。
这只是冰山一角,因为预测建模项目中的每个步骤都将需要使用统计方法。
什么是统计学?
统计学是数学的一个子领域。
它指的是处理数据和使用数据回答问题的方法的集合。
Statistics is the art of making numerical conjectures about puzzling questions. […] The methods were developed over several hundred years by people who were looking for answers to their questions.
— Page xiii, Statistics, Fourth Edition, 2007.
这是因为该领域包括处理数据的方法包,对于初学者而言,它看起来像是很大的东西,而且是不确定的。很难看出属于统计方法的方法与属于其他研究领域的方法之间的界限。通常,技术既可以是统计中的经典方法,又可以是用于特征选择或建模的现代算法。
尽管统计工作知识不需要深入的理论知识,但一些重要的且易于理解的定理可以为统计和概率之间的关系提供有价值的基础。
两个例子包括大数定律和中心极限定理;第一个有助于理解为什么较大的样本通常更好,第二个则为我们如何比较样本之间的期望值(例如平均值)提供了基础。
对于我们在实践中使用的统计工具,将统计领域分为两大类方法可能会有所帮助:用于汇总数据的描述性统计和用于从数据样本中得出结论的推论统计。
Statistics allow researchers to collect information, or data, from a large number of people and then summarize their typical experience. […] Statistics are also used to reach conclusions about general differences between groups. […] Statistics can also be used to see if scores on two variables are related and to make predictions.
Pages ix-x, Statistics in Plain English, Third Edition, 2010.
描述统计
描述性统计指的是将原始观察汇总为我们可以理解和共享的信息的方法。
通常,我们将描述性统计视为对数据样本的统计值的计算,以便总结数据样本的属性,例如共同的期望值(例如,均值或中位数)和数据的传播范围(例如,方差或标准差)。
描述性统计信息还可能涵盖可用于可视化数据样本的图形方法。图表和图形可以对观察的形状或分布以及变量之间如何相互关联提供有用的定性理解。
推论统计
推论统计是一些方法的统称,这些方法可以帮助从较小的一组称为样本的观测值中量化域或总体的属性。
通常,我们认为推论统计是根据总体分布估算的数量,例如期望值或传播数量。
更复杂的统计推断工具可用于量化在给定假设的情况下观察数据样本的可能性。这些通常被称为统计假设检验的工具,其中检验的基本假设称为原假设。
给定我们可以假设的假设范围以及我们可能施加在数据上的约束条件,以提高检验结果正确的能力或可能性,推理性统计方法的例子很多。
统计方法在机器学习项目中的使用示例
在下面的内容中,展示了统计方法的一些特定示例,这些示例在预测建模问题的关键步骤中非常重要。可以公平地说,需要统计方法才能有效地通过机器学习方法完成预测建模的工作。
1.问题框架
在预测建模问题中较大的影响力也许就是问题的框架。
这是问题类型的选择,例如回归或分类,也许是问题的输入和输出的结构和类型。
问题的框架并不总是很明显。对于某个领域的新手,可能需要对该领域中的观察结果进行大量探索。
对于可能不从常规角度看问题的领域专家,他们也可能会从多个角度考虑数据而获取一些有用信息。
可以在问题分类期间帮助探索数据的统计方法包括:
- 探索性数据分析。进行汇总和可视化以探索数据的临时视图。
- 数据挖掘。自动发现数据中的结构化关系和模式。
2.数据理解
数据理解意味着对变量的分布以及变量之间的关系有密切的了解。
其中一些知识可能来自领域专业知识,或者需要领域专业知识才能进行解释。尽管如此,研究领域的专家和新手都将从实际处理领域问题中的实际观察有所受益。
统计方法的两个大分支用于帮助理解数据。他们是:
- 摘要统计。使用统计量总结变量之间的分布和关系的方法。
- 数据可视化。使用图表和图形等可视化方法总结变量之间的分布和关系的方法。
3.数据清理
来自某个领域的观察通常不是原始的。
尽管数据是数字的,但会受到可能破坏数据保真度的过程的影响,进而可能会影响使用该数据的任何下一步过程或模型。
一些示例包括:
- 数据损坏。
- 数据错误。
- 数据丢失。
识别和修复数据问题的过程称为数据清理
统计方法用于数据清理,例如:
- 离群值检测。识别与分布中的期望值相差甚远的观测值的方法。
- 归责。修复或填充观测值中损坏或缺失的方法。
4.数据选择
建模时,并非所有观察值或所有变量都可能相关。
将数据范围缩小到对做出预测最有用的那些元素的过程称为数据选择。
用于数据选择的两种统计方法包括:
- 数据样本。从较大的数据集中系统创建较小的代表性样本的方法。
- 特征选择。自动识别与结果变量最相关的那些变量的方法。
5.数据准备
数据通常不能直接用于建模。
通常需要进行一些转换,以更改数据的形状或结构,使其更适合问题的选定框架或学习算法。
使用统计方法进行数据准备。一些常见的示例包括:
- 缩放比例。标准化和归一化等方法。
- 编码。整数编码和One-hot编码等方法。
- 转换。诸如Box-Cox方法之类的幂变换方法。
6.模型评估
预测建模问题的关键部分是评估学习方法。
在对模型训练期间未看到的数据进行预测时,通常需要估计模型的技能。
通常,训练和评估预测模型的过程的计划称为实验设计。这是统计方法的整个子领域。
- 实验设计。设计系统实验以比较自变量对结果的影响的方法,例如选择机器学习算法来提高预测精度。
作为实施实验设计的一部分,使用方法对数据集进行重新采样,以便经济地利用可用数据,从而估算模型的技能。
- 重采样方法。为了训练和评估预测模型而将数据集系统地分为子集的方法。
7.模型超参数配置
给定的机器学习算法通常具有一整套超参数,这些超参数允许使用者根据特定问题而定制学习方法。
超参数的配置在本质上通常是经验性的,而不是分析性的,需要大量的实验才能评估不同的超参数的取值对模型效果的影响。
使用两个统计子字段之一对不同的超参数配置之间的结果进行解释和比较:
- 统计假设检验。给定对结果的假设或期望,量化观察结果的可能性的方法(使用临界值和p值表示)。
- 估计统计。使用置信区间量化结果不确定性的方法。
8.模型选择
对于给定的预测建模问题,可能有不止一个机器学习算法适合于此问题。选择一种方法作为解决方案的过程称为模型选择。这可能涉及项目利益相关者的一套标准,也包括对问题评估方法的估计技能的仔细解释。
与模型配置一样,出于模型选择的目的,可以使用两类统计方法来解释不同模型的估计技能。他们是:
- 统计假设检验。给定对结果的假设或期望,量化观察结果的可能性的方法(使用临界值和p值表示)。
- 估计统计。使用置信区间量化结果不确定性的方法。
9.模型介绍
一旦对最终模型进行了训练,就可以在使用或部署最终模型以对实际数据进行实际预测之前将其呈现给利益相关者。
呈现最终模型的一部分涉及呈现模型的估计方法。
估计统计领域的方法可用于通过使用公差区间和置信区间来量化机器学习模型的估计技能中的不确定性。
- 估计统计。通过置信区间量化模型技能不确定性的方法。
10.模型预测
最后,是时候开始使用最终模型对我们不知道实际结果的新数据进行预测了。
作为进行预测的一部分,量化预测的置信度很重要。
就像模型表示过程一样,我们可以使用估计统计领域的方法来量化此不确定性,例如置信区间和预测区间。
- 估计统计。通过预测区间量化预测不确定性的方法。
从上面的例子可以看到统计方法在整个预测建模项目过程中的重要性。 探索性的数据分析,数据汇总和数据可视化可用于帮助构建预测性建模问题并更好地理解数据。统计方法可用于清理和准备用于建模的数据。统计假设检验和估计的统计数据可以在模型的选择和从最终模型展示的技能和预测帮助。