选自KDnuggets
作者:James Le
机器之心编译
参与:路雪、刘晓坤、蒋思源
「数据科学家比程序员擅长统计,比统计学家擅长编程。」本文介绍了数据科学家需要掌握的十大统计技术,包括线性回归、分类、重采样、降维、无监督学习等。
不管你对数据科学持什么态度,都不可能忽略分析、组织和梳理数据的重要性。Glassdoor 网站根据大量雇主和员工的反馈数据制作了「美国最好的 25 个职位」榜单,其中第一名就是数据科学家。尽管排名已经顶尖了,但数据科学家的工作内容一定不会就此止步。随着深度学习等技术越来越普遍、深度学习等热门领域越来越受到研究者和工程师以及雇佣他们的企业的关注,数据科学家继续走在创新和技术进步的前沿。
尽管具备强大的编程能力非常重要,但数据科学不全关于软件工程(实际上,只要熟悉 Python 就足以满足编程的需求)。数据科学家需要同时具备编程、统计学和批判思维能力。正如 Josh Wills 所说:「数据科学家比程序员擅长统计学,比统计学家擅长编程。」我自己认识很多软件工程师希望转型成为数据科学家,但是他们盲目地使用 TensorFlow 或 Apache Spark 等机器学习框架处理数据,而没有全面理解其背后的统计学理论知识。因此他们需要系统地研究统计机器学习,该学科脱胎于统计学和泛函分析,并结合了信息论、最优化理论和线性代数等多门学科。
为什么学习统计学习?理解不同技术背后的理念非常重要,它可以帮助你了解如何使用以及什么时候使用。同时,准确评估一种方法的性能也非常重要,因为它能告诉我们某种方法在特定问题上的表现。此外,统计学习也是一个很有意思的研究领域,在科学、工业和金融领域都有重要的应用。最后,统计学习是训练现代数据科学家的基础组成部分。统计学习方法的经典研究主题包括:
之后我将介绍 10 项统计技术,帮助数据科学家更加高效地处理大数据集的统计技术。在此之前,我想先厘清统计学习和机器学习的区别:
1. 线性回归
在统计学中,线性回归通过拟合因变量和自变量之间的最佳线性关系来预测目标变量。最佳拟合通过尽量缩小预测的线性表达式和实际观察结果间的距离总和来实现。没有其他位置比该形状生成的错误更少,从这个角度来看,该形状的拟合是「最佳」。线性回归的两个主要类型是简单线性回归和多元线性回归。
简单线性回归使用一个自变量通过拟合最佳线性关系来预测因变量的变化情况。多元线性回归使用多个自变量通过拟合最佳线性关系来预测因变量的变化趋势。
任意选择两个日常使用且相关的物体。比如,我有过去三年月支出、月收入和每月旅行次数的数据。现在我需要回答以下问题:
2. 分类
分类是一种数据挖掘技术,为数据分配类别以帮助进行更准确的预测和分析。分类是一种高效分析大型数据集的方法,两种主要的分类技术是:logistic 回归和判别分析(Discriminant Analysis)。
logistic 回归是适合在因变量为二元类别的回归分析。和所有回归分析一样,logistic 回归是一种预测性分析。logistic 回归用于描述数据,并解释二元因变量和一或多个描述事物特征的自变量之间的关系。logistic 回归可以检测的问题类型如下:
在判别分析中,两个或多个集合和簇等可作为先验类别,然后根据度量的特征把一个或多个新的观察结果分类成已知的类别。判别分析对每个对应类中的预测器分布 X 分别进行建模,然后使用贝叶斯定理将其转换成根据 X 的值评估对应类别的概率。此类模型可以是线性判别分析(Linear Discriminant Analysis),也可以是二次判别分析(Quadratic Discriminant Analysis)。
3. 重采样方法
重采样方法(Resampling)包括从原始数据样本中提取重复样本。这是一种统计推断的非参数方法。即,重采样不使用通用分布来逼近地计算概率 p 的值。
重采样基于实际数据生成一个独特的采样分布。它使用经验性方法,而不是分析方法,来生成该采样分布。重采样基于数据所有可能结果的无偏样本获取无偏估计。为了理解重采样的概念,你应该先了解自助法(Bootstrapping)和交叉验证(Cross-Validation):
自助法(Bootstrapping)适用于多种情况,如验证预测性模型的性能、集成方法、偏差估计和模型方差。它通过在原始数据中执行有放回取样而进行数据采样,使用「未被选中」的数据点作为测试样例。我们可以多次执行该操作,然后计算平均值作为模型性能的估计。
交叉验证用于验证模型性能,通过将训练数据分成 k 部分来执行。我们将 k-1 部分作为训练集,「留出」的部分作为测试集。将该步骤重复 k 次,最后取 k 次分值的平均值作为性能估计。
通常对于线性模型而言,普通最小二乘法是拟合数据时主要的标准。下面 3 个方法可以提供更好的预测准确率和模型可解释性。
4. 子集选择
该方法将挑选 p 个预测因子的一个子集,并且我们相信该子集和所需要解决的问题十分相关,然后我们就能使用该子集特征和最小二乘法拟合模型。
5. Shrinkage
这种方法涉及到使用所有 p 个预测因子进行建模,然而,估计预测因子重要性的系数将根据最小二乘误差向零收缩。这种收缩也称之为正则化,它旨在减少方差以防止模型的过拟合。由于我们使用不同的收缩方法,有一些变量的估计将归零。因此这种方法也能执行变量的选择,将变量收缩为零最常见的技术就是 Ridge 回归和 Lasso 回归。
6. 降维
降维算法将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。
7. 非线性模型
在统计学中,非线性回归属于一种回归分析形式,其中,观测数据使用模型参数的非线性组合的函数(依赖于一个或多个独立变量)建模。其使用逐次逼近法拟合数据。下方是几种处理非线性模型的重要技术。
8. 基于树的方法
基于树的方法可以用于回归和分类问题,包括将预测器空间分层或分割成几个简单区域。由于用于预测器空间的分离规则集合可以总结为一个树,这类方法被称为决策树方法。以下的方法是几种不同的树,它们可以组合起来输出单个一致的预测。
9. 支持向量机
支持向量机(SVM)是一种常用的监督学习分类技术。通俗地说,它用于寻找对两类点集做出最佳分离的超平面(hyperplane,在 2D 空间中是线,在 3D 空间中是面,在高维空间中是超平面。更正式的说法是,一个超平面是一个 n 维空间的 n-1 维子空间)。而支持向量机是保留最大的间隔的分离超平面,因此本质上,它是一个约束最优化问题,其中支持向量机的间隔在约束下被最大化,从而完美地对数据进行分类(硬间隔分类器)。
那些「支持」着超平面的数据点被称为「支持向量」。在上图中,填充蓝色圆和两个填充方块就是支持向量。在两类数据不是线性可分的例子中,数据点将被投射到一个更高维空间中,使得数据变得线性可分。包含多个类别的数据点的问题可以分解成多个「一对一」(one-versus-one)或「一对剩余」(one-versus-rest)的二分类问题。
10. 无监督学习
目前为止,我们都只讨论过监督学习技术,其中数据分类都是已知的,且提供给算法的经验都是实体和其分类的关系。当数据的分类是未知的时候,就需要使用另一种技术了。它们被称为无监督的,因为它们需要自己去发现数据中的模式。聚类(clustring)是无监督学习的一种,其中数据将根据相关性被分为多个群集。下方是几种最常用的无监督学习算法:
本文为机器之心编译,转载请联系本公众号获得授权。