摘要: 本文给出了数据科学应用中的十项统计学习知识点,相信会对数据科学家有一定的帮助。
无论你是不是一名数据科学家,都不能忽视数据的重要性。数据科学家的职责就是分析、组织并利用这些数据。随着机器学习技术的广泛应用,深度学习吸引着大量的研究人员和工程师,数据科学家也将继续站在技术革命的浪潮之巅。
虽然编程能力对于数据科学家而言非常重要,但是数据科学家不完全是软件工程师,他应该是编程、统计和批判性思维三者的结合体。而许多软件工程师通过机器学习框架转型为数据科学家时,没有深刻地思考并理解这些框架背后的统计理论,所以统计学习理论成为了机器学习的理论框架。
为什么学习统计学习?理解不同技术背后的想法是非常重要的,只有真正理解了这些才能知道何时何地使用这些技术。首先必须理解简单的方法,以便掌握更复杂的方法。精确评估一个方法的性能,并且知道它工作情况的好坏显得非常重要。此外,这是一个令人兴奋的研究领域,在科学、工业和金融等方面具有重要的应用。最后,统计学习是培养现代数据科学家的一个基本素材。统计学习问题的例子包括以下几个部分:
- 确定前列腺癌的风险因素;
- 根据对数周期图分类记录的音素;
- 根据人口统计学、饮食和临床测量预测其是否有心脏病;
- 自定义垃圾电子邮件检测系统;
- 识别手写邮政编码中的数字;
- 将组织样本分类为对应的癌症;
- 建立人口调查数据中的工资与人口变量的关系;
此外,作者对数据挖掘进行了一定的研究,推荐 Intro to Statistical Learning (Hastie, Tibshirani, Witten, James)、Doing Bayesian Data Analysis (Kruschke)和 Time Series Analysis and Applications (Shumway, Stoffer)三本书,这里面有许多有价值的内容。在进入正题之前,想区分一下机器学习和统计学习,主要有以下几点区别:
- 机器学习是人工智能的一个分支;
- 统计学习是统计领域的一个分支;
- 机器学习更侧重于大规模应用和精度预测;
- 统计学习强调模型及其解释性、精度和不确定性;
- 但是这种区别变得越来越模糊,而且有大量相互交流;
- 机器学习在市场营销中占优势;
下面分享10项统计技术,任何数据科学家都应该学习,使得能够更高效地处理大数据集。
1.线性回归
在统计学中,线性回归是一种通过拟合因变量和自变量之间的最佳线性关系来预测目标变量的方法。线性回归主要分为简单线性回归和多元线性回归。简单线性回归使用一个自变量,通过拟合一个最佳线性关系来预测因变量;而多元线性回归使用一个以上的自变量来预测因变量。
2.分类
分类是一种数据挖掘技术,被用来将一个整体数据集分成几个类别,以为了更准确的预测和分析。分类技术中典型的代表是逻辑回归分析和判别分析。逻辑回归是一种预测分析,在用于描述数据时,解释一个二进制因变量与一个或多个序数、区间等变量之间的关系。逻辑回归可以检验的问题类型有:
- 每增加一磅体重或一天抽一包香烟对肺癌的概率有变化吗?(是/不是)
- 体重、卡路里与脂肪摄入量、参与者年龄对心脏病发作有影响?(是/不是)
在判别分析中,在每个响应类中分别对预测因子X的分布进行建模,然后利用贝叶斯定理将这些变量翻转到给定X值的响应类别的概率估计中。这样的模型可以是线性的也可以是二次型的。
- 线性判别分析计算每个观察的判别分数来分类它所处的响应变量类别,这些分数是通过寻找独立变量的线性组合得到,预测变量的协方差在响应变量Y的所有k级上都是相同的。
- 二次判别分析提供了另一种方法,预测变量不假设Y的k级上有共同的方差。
3.重采样方法
重采样是从原始数据样本中反复抽样的方法,是一种非参数统计推断方法。重采样在实际数据的基础上生成唯一的抽样分布,下面介绍两种最常用的重采样方法拔靴法(bootstrap)和交叉验证(cross-validation):
- 拔靴法在许多情况下是一种有用的技术,如验证预测模型的性能、集成方法等。它的工作原理是通过从原始数据中重置采样,并将“未选择”的数据点作为测试用例,反复操作几次后,计算平均得分并作为模型性能的估计;
- 交叉验证将训练数据分割成k个部分,将k-1个部分作为训练集,使用剩余部分作为测试集,重复试验k次后,计算平均分并作为模型的性能估计;
4.子集选择
这种方法确定了我们认为与反应有关的P预测因子的一个子集,然后使用子集特征的最小二乘拟合模型。
- 最佳子集选择:对P个预测变量的所有可能组合分别使用最小二乘法进行拟合,最后在所有可能模型(2P)选择一个最优模型;
- 向前逐步选择:以一个不包含任何预测变量的零模型开始,依次向模型中添加一个变量,妹子只将能够最大限度地提升模型效果的变量加入模型中,直到所有的预测变量都包含在模型中;
- 向后逐步选择:以半酣所有P个预测变量的模型开始,每次移除一个最有用的预测变量;
- 混合方法:该方法遵循向前逐步选择步骤,但是在加入新变量的同时,也移除了不能提升模型拟合效果的变量;
5.特征缩减技术
通过对损失函数加入正则项,使得训练求解参数过程中将影响较小的特征的系数衰减到0,只保留重要的特征。最常用的两种方法分别是岭回归(ridge regression)和lasso:
- Ridge regression与最小二乘法相似,只是在平方误差的基础上增加了正则项,它损失了无偏性,来换取高的数值稳定性,从而得到较高的计算精度;
- Ridge regression的一个缺点是无法使得预测因子完全为零,只是逼近零,这使得模型无法很好地解释结果;而Lasso克服了这一缺点,能够迫使某些系数为零;
6.降维
降维是将估计P+1个系数减少为M+1个系数,其中M<P。这是通过计算M个不同的线性组合或变量的投影来实现的,然后利用M个投影作为预测因子,使用最小二乘法拟合线性回归模型。常用的两种降维方法是主成分回归和偏最小二乘法:
- 可以将主成分回归描述为从一组大的变量中导出低纬度特征集的方法。其思想是从中选择排在前面的几个主成分,然后利用从数据中抽出的主成分进行回归,达到降维的目的。
- 主成分回归面临的一个问题是不能保证提取的主成分完全很好地代表原始特征,偏最小二乘法是主成分回归的有监督替代方法,也是一种降维方法。它首先识别出一组小的特征集合,然后通过对新的M个特征最小二乘拟合成线性模型。与主成分回归不同的是偏最小二乘法利用响应变量识别新特性。
7.非线性模型
在统计学中,非线性回归是回归分析的一种形式,在这种分析中,观测数据是通过模型参数和因变量的非线性组合函数建模,数据用逐次逼近法进行拟合。下面是几个处理非线性模型的重要技术:
- 阶跃函数:如果实数域上的某个函数可以用半开区间上的指示函数的有限次线性组合来表示,那么这个函数就是阶跃函数,即阶跃函数是有限段分段常数函数的组合。
- 分段函数:在定义域内不同部分上,有不同的解析表达式。
- 样条函数:样条是一种特殊的函数,是由多项式分段定义。在计算机图形学中,样条通常是指分段定义的多项式参数曲线,并且其结构简单、拟合准确,并能近似曲线拟合和交互式曲线设计中复杂的形状,受到广泛应用。
- 广义加性模型:是一种广义线性模型,其中线性预测器依赖于预测变量的未知光滑函数,专注于这些光滑函数的推理。
8.树形方法
树形方法可以用于回归和分类问题,这些涉及将预测空间分层或分段为一些简单的区域。由于分割预测空间的分裂规则可以用树形总结,所以这类方法也被称为决策树方法。以下方法是将多个树合并,然后得到一个单一的一致性预测:
- Bagging是通过原始数据训练额外的数据来减少预测的方差的方法。通过增加训练集的大小,虽然不能改善模型的预测能力,但是能减少方差,将预测调整到预期结果;
- Boosting是一种用几种不同的模型计算输出的方法,然后使用加权平均算法计算出结果的平均值,通过调节权重可以模型能为更广泛的输入数据提供良好的预测力;
- Random forest算法类似于Bagging,区别在于还需要绘制用于训练单个树的随机子集的特征。由于随机特征选择,这使得树更加独立,从而导致更好的预测性能;
9.支持向量机
支持向量机(SVM)是一种分类技术,简单地说,就是寻找一个超平面能最好地将两类点与最大边界区分开。本质上来说,它是一个有约束的优化问题,其中边界最大化受到数据点分布的约束。图中的数据点“支持”着超平面,超平面的两端上的训练样本就是支持向量。如果两类数据线性不可分时,可以将其投影到高维特征空间,使其线性可分。
10.无监督学习
上述内容只讨论了有监督学习技术,而这类技术运用的前提是需要有类别信息。而无监督学习就是在无类别信息情况下,寻找到好的特征。
常用的无监督学习算法有:
- 主成分分析(Principal Component Analysis)是通过识别一组具有最大方差切互不相关的特征的线性组合并作为研究的特征空间,从而产生低维表示的数据集;
- K-均值聚类(k-Mean clustering)是根据聚类中心的距离将数据划分为k个不同的簇;
- 层次聚类(Hierarchical clustering)是通过计算不同类别数据点间的相似度来创建一颗有层次的嵌套聚类树;
洞察背后的理论知识,能够便于今后的实际操作,希望这份基础数据科学统计指南能帮助到你。
阅读更多干货好文,请关注扫描以下二维码: