0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据科学和机器学习所需要的基本数学技能

如意 来源:读芯术 作者:读芯术 2020-07-06 09:39 次阅读

作为一切科学的基础,数学在数据科学领域也占据着重要地位。如果你是一名数据科学爱好者,一定想过这些问题:

· 我可以在几乎没有数学背景的情况下,成为一名数据科学家吗?

· 在数据科学中,哪些基本的数学技能是重要的?

有很多好用的包可以用来构建预测模型,或生成数据可视化。一些最常用的描述性分析和预测性分析包包括:Ggplot2、Matplotlib、Seaborn、Scikit-learn、Caret、TensorFlow、PyTorch、Keras等。

有了这些包,任何人都可以构建模型或者生成数据可视化。然而,想要微调模型,使之能产生具有最佳性能的可靠模型,确实需要非常扎实的数学基础知识。

建立模型是一回事,但是解释模型,并且总结出有意义的,且可用于数据驱动的决策制定的结论是另一回事。重要的是,在使用这些包之前,读者必须要对每一个包的数学基础有所了解,不仅限将这些包作为黑盒子工具来使用。

案例研究:构建多元回归模型

假设现在要建立一个多元回归模型。在此之前,我们需要问自己几个问题:

· 数据集有多大?

· 我的特征变量和目标变量是什么?

· 哪些预测特征与目标变量最相关?

· 哪些功能很重要?

· 应该缩放特征吗?

· 如何提高模型的预测能力?

· 应该使用正则回归模型吗?

· 回归系数是多少?

· 什么是拦截?

· 如何将数据集划分为训练集和测试集?

· 什么是主成分分析(PCA)?

· 应该使用主成分分析来删除冗余的特征吗?

· 应不应该使用非参数回归模型,如k邻近回归(或支持向量回归)?

· 模型中有哪些超参数,如何对它们进行微调以获得性能最优的模型?

· 如何评估模型?是用R2-score(决定系数),MSE(均方误差),还是MAE(平均绝对误差)?

没有良好的数学背景,就无法回答上述问题。在数据科学和机器学习中,数学技能和编程技能同等重要。作为一名数据科学爱好者,一定要投入时间来研究数据科学和机器学习的理论和数学基础。

能否建立可靠而有效的模型,使其应用于现实世界的问题,取决于读者的数学技能有多好。接下来我们来讨论一下在数据科学和机器学习中所需要的一些基本数学技能。

数据科学与机器学习的基本数学技能

1. 线性代数

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

以下是大家需要熟悉的:向量;向量的范数;矩阵;矩阵的转置;逆矩阵;矩阵的行列式;矩阵的迹;点积;特征值;特征向量。

2. 统计与概率

统计与概率用于特征可视化、数据预处理、特征转换、数据插补、降维、特征工程、模型评价等。

以下是大家需要熟悉的:均值、中值、模式、标准差/方差、相关系数和协方差矩阵、概率分布(二项式、泊松分布、正态分布)、p值、贝叶斯定理(精度、召回率、正预测值、负预测值、混淆矩阵、ROC曲线)、中心极限定理,R-2 score,均方误差(MSE),A/B检验,蒙特卡罗模拟

3. 多变量微积分

大多数机器学习模型都是由一个具有多个特征或预测器的数据集建立的。因此,熟悉多变量微积分对于建立机器学习模型非常重要。

以下是大家需要熟悉的:多元函数;导数和梯度;阶跃函数、S形函数、Logit效用函数、ReLU(修正线性单元)函数;成本函数;函数绘图;函数的最小值和最大值。

4.优化方法

大多数机器学习算法是通过最小化目标函数进行预测建模,从而学习为获得预测标签而必须应用于测试数据的权重。

以下是大家需要熟悉的:成本函数/目标函数;似然函数;误差函数;梯度下降算法及其变体(例如随机梯度下降算法)。

本文讨论了数据科学和机器学习所需的基本数学和理论技能。互联网时代,你能很轻松找到学习资源。作为数据科学爱好者一定要记住,数据科学的理论基础对于高效可靠的模型建立至关重要。你应该花足够的时间来钻研每种机器学习算法背后的数学理论,这对于数据科学来说是必不可少的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数学建模
    +关注

    关注

    0

    文章

    45

    浏览量

    13753
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130563
  • 数据科学
    +关注

    关注

    0

    文章

    163

    浏览量

    9982
收藏 人收藏

    评论

    相关推荐

    fpga学习需要具备哪些课程

    FPGA(Field Programmable Gate Array)学习需要具备一系列的课程知识和实践技能
    的头像 发表于 03-14 15:51 286次阅读

    【量子计算机重构未来 | 阅读体验】+机器学习的终点是量子计算?

    便对机器的计算能力产生了兴趣,虽然不是这个专业的,但是可以抽出闲鱼的时间,来了解一下,可以通过学习来掌握一些技能。 目前也只有在闲暇之余做一些代码的工作了。 希望以后能够用的上。 其次大学期间也没有学
    发表于 03-10 16:33

    FPGA工程师需要具备哪些技能

    ,工程师需要考虑时序约束、时钟网络设计、数据路径优化等因素。较常用的布局布线工具有ALLEGRO PCB和Orcad等软件。在使用EDA工具之前,FPGA工程师需要了解所需的电路元件,
    发表于 11-09 11:03

    机器学习数据挖掘方法和应用

    机器学习数据挖掘方法和应用(经典)
    发表于 09-26 07:56

    机器学习为什么需要数据预处理

    并以格式化的方式进行存储。为此,我们使用数据预处理任务。 为什么我们需要数据预处理? 现实世界的数据通常包含噪声、缺失值,并且可能采用无法直接用于
    的头像 发表于 08-24 09:20 1155次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>为什么<b class='flag-5'>需要</b><b class='flag-5'>数据</b>预处理

    如何使用Keil M4 DSP图书馆的基本数学功能帮助用户获得DSP高性能优势

    应用程序: CMISIS-DSP 图书馆是一套通用的信号处理和数学功能, NuMicro M4 微控制器已经优化。 该文件描述了如何使用 Keil M4 DSP 图书馆的基本数学功能帮助用户获得
    发表于 08-22 06:53

    机器学习是什么意思?机器学习属于什么分支?机器学习有什么用处?

    的技术。在这个过程中,计算机通过不断地迭代和学习,提高算法的准确性和可靠性,从而可以更好地解决各种实际问题。 机器学习属于计算机科学领域的一种技术,并在人工智能领域中具有重要的地位。它
    的头像 发表于 08-17 16:30 1277次阅读

    机器学习数据挖掘的区别 机器学习数据挖掘的关系

    机器学习数据挖掘的区别 , 机器学习数据挖掘的关系 机器
    的头像 发表于 08-17 16:30 1526次阅读

    数据挖掘和机器学习有什么关系

    数据挖掘和机器学习有什么关系 数据挖掘和机器学习是两个不同的概念,但它们有一些重要的相似之处。这
    的头像 发表于 08-17 16:29 2069次阅读

    python机器学习概述

    Python机器学习概述 机器学习是人工智能领域的一个重要分支,是一种可以自动改进和学习的算法。在过去的几十年里,
    的头像 发表于 08-17 16:11 765次阅读

    人工智能训练师是什么

    人工智能训练师指的是具有相关专业能力的人士,在人工智能领域里,他们负责训练机器学习模型。与传统的计算机科学相比,机器学习是一个相对新的领域,
    的头像 发表于 08-13 14:17 1388次阅读

    人工智能需要哪些专业知识

    数学是人工智能的另一个重要基础学科。熟练掌握线性代数、微积分和概率论等数学知识,可以帮助我们更好地理解人工智能算法以及模型背后的数学原理。此外,人们还需要了解
    的头像 发表于 08-13 13:58 1401次阅读

    人工智能需要什么基础

    人工智能需要什么基础 人工智能,是指让机器能够像人一样具备推理、学习、判断、处理、行动和交流等智能特征的技术和应用。而想要成为一名优秀的人工智能从业者,必须具备一定的基础知识和技能。那
    的头像 发表于 08-12 17:26 3989次阅读

    人工智能需要学习什么

    和层次,分析人工智能需要学习的内容。 1. 数据学习 人工智能最根本的就是数据,只有通过数据
    的头像 发表于 08-12 17:12 639次阅读

    机器学习和深度学习的区别

      机器学习是一种方法,利用算法来让机器可以自我学习和适应,而且不需要明确地编程。在许多应用中,需要
    发表于 08-02 17:36 388次阅读