小舟、杜伟编译

入数据科学大坑,我需要什么样的数学水平?

作为一门基础性学科,数学在数据科学和机器学习领域都发挥着不可或缺的作用。数学基础是理解各种算法的先决条件,也将帮助我们更深入透彻地了解算法的内在原理。所以,本文作者阐释了数据科学和机器学习为何离不开数学,并提供了统计学与概率论、多变量微积分、线性代数以及优化方法四个数学分支中需要熟悉的一些数学概念。

本文的作者是物理学家、数据科学教育者和作家 Benjamin Obi Tayo 博士,他的研究兴趣在于数据科学机器学习、AI、Python 和 R 语言、预测分析、材料科学和生物物理学。

本文作者 Benjamin Obi Tayo。


数据科学机器学习离不开数学


如果你是一个数据科学爱好者,则大概会产生以下两个疑问:

我几乎没有数学背景,那么能成为数据科学家吗?
哪些基本的数学技能在数据科学中非常重要呢?

我们都知道,数据科学离不开各式各样的扩展包。并且,现在有很多性能强大的包可以用来构建预测模型或者用来生成可视化数据。如下列举了用于描述性和预测性分析的一些最常见包:
  • Ggplot2

  • Matplotlib

  • Seaborn

  • Scikit-learn

  • Caret

  • TensorFlow

  • PyTorch

  • Keras

得益于以上这些扩展包,任何人都可以构建模型或者生成可视化数据。但与此同时,要优化模型进而生成性能最佳的可靠模型,拥有强大的数学背景也是很有必要的。

也就是说,构建模型只是一方面,另一方面还需要对模型进行解释,得出有意义的结论,这样才能更好地做出数据驱动的决策。

最后,在使用这些包之前,你需要理解每个包中蕴含的数学基础,这样才不会只把这些包当作黑盒工具(black-box tool)。

案例分析:构建一个多元回归模型

假设我们要构建一个多元回归模型,那么需要事先问自己几个问题:
  • 数据集有多大?

  • 特征变量和目标变量是什么?

  • 哪些预测特征与目标变量关联最大?

  • 哪些特征比较重要?

  • 是否应该扩展特征?

  • 数据集应该如何划分成训练集和测试集?

  • 主成分分析(principal component analysis, PCA)是什么?

  • 是否应该使用 PCA 删除多余特征?

  • 如何评估模型?用 R2 值、MSE 还是 MAE?

  • 如何提升模型的预测能力?

  • 是否使用正则化回归模型(regularized regression model)?

  • 回归系数是多少?

  • 截距是多少(intercept)?

  • 是否使用像 K 近邻回归(KNeighbors regression)或者支持向量回归(support vector regression)这样的无参数回归模型?

  • 模型中的超参数是多少?如何调整超参数使模型性能达到最佳?

很明显,如果没有良好的数学背景,你将无法解决上述问题。因此,在数据科学机器学习中,数学技能和编程技能一样重要,这很关键。

作为一个数据科学的推崇者,投入时间来学习数据科学机器学习中的理论基础和数学基础很有必要。毫不夸张地说,你所构建的可靠有效模型能否用于解决现实世界的问题,这也将取决于你的数学技能有多好。

接下来讨论一下数据科学机器学习中一些必要的数学技能。

数据科学机器学习中必要的数学技能

数学包罗万象,任何人都不可能门门精通。所以,在数据科学机器学习研究中,我们可以根据自身所在的具体领域、手头的具体工作或者使用的具体算法来有侧重地学习对应的数学技能。

统计学与概率论

统计学和概率论可用于可视化变量、数据预处理、特征变换、数据插补、降维特征工程和模型评估等等。

以下是需要熟悉的一些统计学与概率论概念:

平均数、中位数、众数、标准差 / 方差;
相关系数和协方差矩阵概率分布(二项分布、泊松分布和正态分布);
p 值、贝叶斯定理(精度、召回率、正预测值、负预测值、混淆矩阵和 ROC 曲线)、中心极限定理
R_2 值、均方误差(MSE)、A/B 测试、蒙特卡罗模拟。

多变量微积分(Multivariable Calculus)

大多数机器学习模型是使用包含几种特征或预测变量的数据集来构建的。因此,熟悉多变量微积分对于构建机器学习模型非常重要。

以下是你需要熟悉的多变量微积分数学概念:多元函数、导数和梯度、阶跃函数;
Sigmoid 函数、Logit 函数、ReLU 函数、损失函数
Plot 函数绘制、函数最小值和最大值。

线性代数

线性代数机器学习中最重要的数学技能,一个数据集可以被表示为一个矩阵。线性代数可用于数据预处理、数据转换以及降维和模型评估。

以下是你需要熟悉的线性代数概念:向量、向量范数
矩阵、矩阵的转置、矩阵的逆、矩阵的行列式、矩阵的迹、点积、特征值、特征向量。

优化方法

大多数机器学习算法通过最小化目标函数的方法来执行预测建模。

以下是你需要熟悉的优化数学概念:

损失函数 / 目标函数似然函数、误差函数、梯度下降算法及其变体。

总之,作为一个数据科学的推崇者,应该时刻谨记,理论基础对构建有效可靠的模型至关重要。因此,你应该投入足够的时间去研究每一种机器学习算法背后的数学理论。

原文链接:https://medium.com/towards-artificial-intelligence/how-much-math-do-i-need-in-data-science-d05d83f8cb19

入门数据科学
1
相关数据
混淆矩阵技术

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。矩阵的每一行表示预测类中的实例,而每一列表示实际类中的实例(反之亦然)。 这个名字源于这样一个事实,即很容易看出系统是否混淆了两个类。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

协方差矩阵技术

在统计学与概率论中,协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

中心极限定理技术

中心极限定理是概率论中的一组定理。中心极限定理说明,在适当的条件下,大量相互独立随机变量的均值经适当标准化后依分布收敛于正态分布。这组定理是数理统计学和误差分析的理论基础,指出了大量随机变量之和近似服从正态分布的条件。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

降维技术

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

似然函数技术

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。 似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“ 似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

主成分分析技术

在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。由于主成分分析依赖所给数据,所以数据的准确性对分析结果影响很大。

微积分技术

微积分(Calculus)是高等数学中研究函数的微分(Differentiation)、积分(Integration)以及有关概念和应用的数学分支。它是数学的一个基础学科。内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法 。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

A/B 测试技术

一种统计方法,用于将两种或多种技术进行比较,通常是将当前采用的技术与新技术进行比较。A/B 测试不仅旨在确定哪种技术的效果更好,而且还有助于了解相应差异是否具有显著的统计意义。A/B 测试通常是采用一种衡量方式对两种技术进行比较,但也适用于任意有限数量的技术和衡量方式。

推荐文章
暂无评论
暂无评论~