点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
作为一门基础性学科,数学在数据科学和机器学习领域都发挥着不可或缺的作用。数学基础是理解各种算法的先决条件,也将帮助我们更深入透彻地了解算法的内在原理。所以,本文作者阐释了数据科学和机器学习为何离不开数学,并提供了统计学与概率论、多变量微积分、线性代数以及优化方法四个数学分支中需要熟悉的一些数学概念。
本文的作者是物理学家、数据科学教育者和作家 Benjamin Obi Tayo 博士,他的研究兴趣在于数据科学、机器学习、AI、Python 和 R 语言、预测分析、材料科学和生物物理学。
如果你是一个数据科学爱好者,则大概会产生以下两个疑问:我们都知道,数据科学离不开各式各样的扩展包。并且,现在有很多性能强大的包可以用来构建预测模型或者用来生成可视化数据。如下列举了用于描述性和预测性分析的一些最常见包: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 函数、损失函数;线性代数是机器学习中最重要的数学技能,一个数据集可以被表示为一个矩阵。线性代数可用于数据预处理、数据转换以及降维和模型评估。矩阵、矩阵的转置、矩阵的逆、矩阵的行列式、矩阵的迹、点积、特征值、特征向量。大多数机器学习算法通过最小化目标函数的方法来执行预测建模。损失函数 / 目标函数、似然函数、误差函数、梯度下降算法及其变体。总之,作为一个数据科学的推崇者,应该时刻谨记,理论基础对构建有效可靠的模型至关重要。因此,你应该投入足够的时间去研究每一种机器学习算法背后的数学理论。下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~