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

即将开播:6月19日,互联网银行架构师魏生谈互联网开放银行实施路径的探索与思考

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

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

本文的作者是物理学家、数据科学教育者和作家 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)这样的无参数回归模型?
  • 模型中的超参数是多少?如何调整超参数使模型性能达到最佳?

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

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

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

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

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

1. 统计学与概率论

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

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

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

2. 多变量微积分(Multivariable Calculus)

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

以下是你需要熟悉的多变量微积分数学概念:

  • 多元函数、导数和梯度、阶跃函数;
  • Sigmoid 函数、Logit 函数、ReLU 函数、损失函数;
  • Plot 函数绘制、函数最小值和最大值。

3. 线性代数

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

以下是你需要熟悉的线性代数概念:

  • 向量、向量范数;
  • 矩阵、矩阵的转置、矩阵的逆、矩阵的行列式、矩阵的迹、点积、特征值、特征向量。

4. 优化方法

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

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

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

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

相关推荐