总结学习机器学习过程中用到的数据学知识

airnew airnew     2023-01-07     322

关键词:

现在机器学习行业持续加温,应届毕业生年薪持续走高,2019年毕业生算法岗年薪40万起,上不封顶,吸引着越来越多的人想往机器学习方向转。但是刚接触到算法时,看到那些数学公式都望而生畏,特别是公式的推导。今天本文就介绍机器学习会用到哪些数学知识,让那些想往机器学习方向转的同学心里有底,知道学习的方向。

数学是机器学习的内功。作为机器学习的基石,数学知识无论如何是绕不开的,机器学习中大量的问题最终都可以归结为求解最优化问题,微积分、线性代数是最优化方法和理论的基础,很多机器学习算法的建模涉及到概率论,由此可见学好数学知识多么必要。不少准备或刚刚迈入机器学习的同学,在面临数学基础的学习时,会遇到两个问题:

  • 不知道机器学习和深度学习到底要用到哪些数学知识
  • 无法真正理解这些数学知识,并用于机器学习的推导证明

对此,Summer哥在本文中专门为大家解决这两个问题。

  • 首先,在庞杂的数学系统内,哪些知识是在机器学习中真正有用的,对这些知识掌握到什么程度就足够了?
  • 其次,掌握了的数学知识怎么在机器学习领域内运用,即怎么从机器学习的角度去理解数学知识?
一、机器学习所需要的数学知识

很多人对于机器学习中的数学知识,谈之色变,一想到实变函数、随机过程、泛函分析等等就不寒而栗。事实上,要理解和掌握绝大部分机器学习算法和理论,尤其是对做工程应用的人而言,真正所需要的数学知识不过尔尔,主要包括了:微积分、线性代数、概率论、最优化方法
下面我们来一一介绍一下:

微积分
先说微积分/高等数学。在机器学习中,微积分主要用到了微分部分,作用是求函数的极值,就是很多机器学习库中的求解器(solver)所实现的功能。在机器学习里会用到微积分中的以下知识点:

  • 导数和偏导数的定义与计算方法
  • 梯度向量的定义
  • 极值定理,可导函数在极值点处导数或梯度必须为0
  • 雅克比矩阵,这是向量到向量映射函数的偏导数构成的矩阵,在求导推导中会用到
  • Hessian矩阵,这是2阶导数对多元函数的推广,与函数的极值有密切的联系
  • 凸函数的定义与判断方法
    泰勒展开公式
  • 拉格朗日乘数法,用于求解带等式约束的极值问题

相比之下,积分、无穷级数、常微分方程、偏微分方程等在机器学习和深度学习中使用的相对较少。

线性代数
相比之下,线性代数用的更多。在机器学习的几乎所有地方都有使用,具体用到的知识点有:

  • 向量和它的各种运算,包括加法,减法,数乘,转置,内积
  • 向量和矩阵的范数,L1范数和L2范数
  • 矩阵和它的各种运算,包括加法,减法,乘法,数乘
  • 逆矩阵的定义与性质
  • 行列式的定义与计算方法
  • 二次型的定义
  • 矩阵的正定性
  • 矩阵的特征值与特征向量
  • 矩阵的奇异值分解

机器学习算法处理的数据一般都是向量、矩阵或者张量。经典的机器学习算法输入的数据都是样本的特征向量,深度学习算法在处理图像时输入的2维的矩阵或者3维的张量。掌握这些知识会使你游刃有余。

概率论
如果把机器学习所处理的样本数据看作随机变量/向量,我们就可以用概率论的观点对问题进行建模,这代表了机器学习中很大一类方法。在机器学习里用到的概率论知识点有:

  • 随机事件的概念,概率的定义与计算方法
  • 随机变量与概率分布,尤其是连续型随机变量的概率密度函数和分布函数
  • 条件概率与贝叶斯公式
  • 常用的概率分布,包括正态分布,伯努利二项分布,均匀分布
  • 随机变量的均值与方差,协方差
  • 随机变量的独立性
  • 最大似然估计

最优化方法
最后要说的是最优化,因为几乎所有机器学习算法归根到底都是在求解最优化问题。求解最优化问题的指导思想是在极值点出函数的导数/梯度必须为0。因此你必须理解梯度下降法,牛顿法这两种常用的算法,它们的迭代公式都可以从泰勒展开公式中得到。如果能知道坐标下降法、拟牛顿法就更好了。

拉格朗日乘数法在机器学习中用的非常多,用于求解代等式约束的最优化问题,因此熟练的使用它是非常有必要的。

凸优化是机器学习中经常会提及的一个概念,这是一类特殊的优化问题,它的优化变量的可行域是凸集,目标函数是凸函数。凸优化最好的性质是它的所有局部最优解就是全局最优解,因此求解时不会陷入局部最优解。如果一个问题被证明为是凸优化问题,基本上已经宣告此问题得到了解决。在机器学习中,线性回归、岭回归、支持向量机、logistic回归等很多算法求解的都是凸优化问题。

拉格朗日对偶为带等式和不等式约束条件的优化问题构造拉格朗日函数,将其变为原问题,这两个问题是等价的。通过这一步变换,将带约束条件的问题转换成不带约束条件的问题。通过变换原始优化变量和拉格朗日乘子的优化次序,进一步将原问题转换为对偶问题,如果满足某种条件,原问题和对偶问题是等价的。这种方法的意义在于可以将一个不易于求解的问题转换成更容易求解的问题。在支持向量机中有拉格朗日对偶的应用。

KKT条件是拉格朗日乘数法对带不等式约束问题的推广,它给出了带等式和不等式约束的优化问题在极值点处所必须满足的条件。在支持向量机中也有它的应用。

看完这些,不少同学会安心不少,原来机器学习的数学基础知识大多已经学习过。除流形学习需要简单的微分几何概念之外,深层次的数学知识如实变函数,泛函分析等主要用在一些基础理论结果的证明上,即使不能看懂证明过程,也不影响我们使用具体的机器学习算法。概率图模型、流形学习中基于图的模型会用到图论的一些基本知识,如果学习过离散数学或者数据结构,这些概念很容易理解。

二、从机器学习的角度学习数学知识

不少同学对数学知识的掌握比较扎实,但是一转入机器学习中,就不知道从何下手应用。这就是缺乏了从机器学习的角度看待数学知识的素质。如何把数学知识运用到机器学习的算法中去呢?首先就是要熟知机器学习的算法和理论中对应着哪些数学知识?

我们来看看典型算法和理论结论所用到的数学知识:技术分享图片

只有明白自己所学的数学知识可以应用到哪一块机器学习的算法或者理论中,才能更有针对的掌握对应的数学知识。另外无论是哪一门学问,都不是一蹴而就的,反反复复地去复习和运用知识,才能牢记掌握,机器学习中的数学知识也不例外。

机器学习需要的数学总结

数学知识数学知识总括微积分(高等数学)线性代数概率论与数理统计凸优化微积分微积分学,数学中的基础分支。内容主要包括函数、极限、微分学、积分学及其应用。函数是微积分研究的基本对象,极限是微积分的基本概念,... 查看详情

机器学习基石--thelearningproblem

...学习的过程也非常的类似:人类通过观察事物,进行归纳总结,进而获得学习的结果;机器也是一样,输入的数据对应人类的观察,归纳和总结的过 查看详情

机器学习之学习率

...降正常工作?如何选择学习率a(learningrate)?今天就给大家总结一下学习率有关的知识当学习率a选择过大可能出现随着迭代次数的增加,代价函数J()越来越大,不会收敛。这个时候就需要减小学习率。数据家已经证明:只有学习... 查看详情

学习yjango博士的学习方法后的总结

博士的初期内容主要是机器学习,基于机器学习的理论来总结人类自身的学习过程和方式,现总结博士视频中提到的主要方式-. 学习的原则 例子重塑大脑 明确输入输出 用二阶知识拆分知识二.什么是学习  定义:学... 查看详情

机器学习之基础知识(全)(代码片段)

目录1.机器学习概述1.1人工智能概述1.1.1人工智能使用场景1.1.2人工智能小案例1.2 人工智能发展历程1.2.1图灵测试1.2.2发展历程1.2.3小结1.3人工智能主要分支1.3.1 人工智能、机器学习和深度学习1.3.2主要分支介绍1.3.3人工智能发展... 查看详情

零基础入门学python系列内容汇总

...些经验与方法介绍了自己在学习Python过程中用到的资料和总结的一些经验。零基础入门学Python(一)——Python的安装与启动介绍了Python的安装与启动步骤。零基础入门学Pyhton(二)——用Python设计第一个小游戏介... 查看详情

高项备考整体管理,过程域知识点案例学习

...言最近准备备考信息系统项目管理师,将学习的东西总结一下。总是学了就忘,就是学的不够深入,将知识再总结再提取,可以记忆更深刻。学习就是这样,学习、总结,总结再学习,学而思,思... 查看详情

高项备考范围管理,过程域知识点案例学习

...言最近准备备考信息系统项目管理师,将学习的东西总结一下。总是学了就忘,就是学的不够深入,将知识再总结再提取,可以记忆更深刻。学习就是这样,学习、总结,总结再学习,学而思,思... 查看详情

高项备考整体管理过程域知识点案例学习

...言最近准备备考信息系统项目管理师,将学习的东西总结一下。总是学了就忘,就是学的不够深入,将知识再总结再提取,可以记忆更深刻。学习就是这样,学习、总结,总结再学习,学而思,思... 查看详情

机器学习系列1-学习资料和学习路线

该系列是学习机器学习的系列博客,主要用于记录和分享学习机器学习(和深度学习)过程中的各种知识和问题,希望能够将自己学习到的知识、方法论转化为文字,分享给更多有志于从事机器学习相关工作或学习的同学。学习... 查看详情

机器学习笔记——关联规则

...系列主要记录自己学习机器学习算法过程中的一些参考和总结,其中有部分内容是借鉴参考书籍和参考博客的。目录:什么是关联规则关联规则中的必须知道的概念关联规则的实现过程关联规则的核心点——如何生成频繁项集实... 查看详情

学机器人有是啥好处

...京这边码高机器人做的还不错。孩子学习机器人课程好处总结如下:1.激发想象力,创造力,提高动手能力。通过机器人的多样化搭建,孩子们自己动手去操作的能力、思维能力以及自主创新的能力都会有质的飞跃,尤其是他们... 查看详情

学人工智能应该选啥专业?

...我们的生活场景中。在人工智能领域,它普遍包含了机器学习、知识图谱、自然语言处理、人机交互、计算机视觉、生物特征识别、AR/VR七个关键技术。一、机器学习机器学习(MachineLearning)是一门涉及统计学、系统辨识、逼近理... 查看详情

机器学习|机器学习概念理解与基本知识

...念理解与基本知识1、机器学习是什么在数据上通过算法总结出规律模式,应用在新数据上做预测。2、机器学习基本概念2.1、不同类型的问题监督学习:分类问题(选择)、回归问题(计算)无监督学习:聚类问题(抱团)、关... 查看详情

机器学习总结机器学习基础知识

机器学习分类(1)监督学习数据集是有标签的,就是说对于给出的样本我们是知道答案的,我们大部分学到的模型都是属于这一类的,包括线性分类器、支持向量机等等;(2)无监督学习跟监督学习相反,数据集是完全没有标... 查看详情

从零入门机器学习之开宗明义:编程与数据思维

...。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过... 查看详情

想要学人工智能需要学些啥python的知识

...能和Python的图。从上图可以看出,人工智能包含常用机器学习和深度学习两个很重要的模块,而下图中Python拥有matplotlib、Numpy、sklearn、keras等大量的库,像pandas、sklearn、matplotlib这些库都是做数据处理、数据分析、数据建模和绘... 查看详情

机器学习之深度学习入门(代码片段)

...言精准概括了机器学习的相关知识,内容全面,总结到位,剖析了机器学习的what,who,when,where,how,以及why等相关问题。从机器学习的概念,到机器学习的发展史,再到机器学习的各类算法, 查看详情