Python数据分析要学什么数学
因为不知道所学的数学知识到底有什么用。对于IT公司的研发人员来说,他们在进入大数据相关岗位前,总是觉得要先学点数学,但是茫茫的数学世界,哪里才是数据技术的尽头?
一谈到数据技术,很多人首先想到的是数学,大概是因为数字在数学体系中稳固的位置吧,这也是理所当然的。本文对数据技术的数学基础这个问题进行一些探讨。
我们知道数学的三大分支,即代数、几何与分析,每个分支随着研究的发展延伸出来很多小分支。在这个数学体系中,与大数据技术有密切关系的数学基础主要有以下几类。(关于这些数学方法在大数据技术中的应用参见《互联网大数据处理技术与应用》一书,2017,清华大学出版社)
(1)概率论与数理统计
这部分与大数据技术开发的关系非常密切,条件概率、独立性等基本概念、随机变量及其分布、多维随机变量及其分布、方差分析及回归分析、随机过程(特别是Markov)、参数估计、Bayes理论等在大数据建模、挖掘中就很重要。大数据具有天然的高维特征,在高维空间中进行数据模型的设计分析就需要一定的多维随机变量及其分布方面的基础。Bayes定理更是分类器构建的基础之一。除了这些这些基础知识外,条件随机场CRF、隐Markov模型、n-gram等在大数据分析中可用于对词汇、文本的分析,可以用于构建预测分类模型。
当然以概率论为基础的信息论在大数据分析中也有一定作用,比如信息增益、互信息等用于特征分析的方法都是信息论里面的概念。
(2)线性代数
这部分的数学知识与数据技术开发的关系也很密切,矩阵、转置、秩分块矩阵、向量、正交矩阵、向量空间、特征值与特征向量等在大数据建模、分析中也是常用的技术手段。
在互联网大数据中,许多应用场景的分析对象都可以抽象成为矩阵表示,大量Web页面及其关系、微博用户及其关系、文本集中文本与词汇的关系等等都可以用矩阵表示。比如对于Web页面及其关系用矩阵表示时,矩阵元素就代表了页面a与另一个页面b的关系,这种关系可以是指向关系,1表示a和b之间有超链接,0表示a,b之间没有超链接。著名的PageRank算法就是基于这种矩阵进行页面重要性的量化,并证明其收敛性。
以矩阵为基础的各种运算,如矩阵分解则是分析对象特征提取的途径,因为矩阵代表了某种变换或映射,因此分解后得到的矩阵就代表了分析对象在新空间中的一些新特征。所以,奇异值分解SVD、PCA、NMF、MF等在大数据分析中的应用是很广泛的。
(3)最优化方法
模型学习训练是很多分析挖掘模型用于求解参数的途径,基本问题是:给定一个函数f:A→R,寻找一个元素a0∈A,使得对于所有A中的a,f(a0)≤f(a)(最小化);或者f(a0)≥f(a)(最大化)。优化方法取决于函数的形式,从目前看,最优化方法通常是基于微分、导数的方法,例如梯度下降、爬山法、最小二乘法、共轭分布法等。
(4)离散数学
离散数学的重要性就不言而喻了,它是所有计算机科学分支的基础,自然也是数据技术的重要基础。这里就不展开了。
最后,需要提的是,很多人认为自己数学不好,数据技术开发应用也做不好,其实不然。要想清楚自己在大数据开发应用中充当什么角色。参考以下的大数据技术研究应用的切入点,上述数学知识主要体现在数据挖掘与模型层上,这些数学知识和方法就需要掌握了。
当然其他层次上,使用这些数学方法对于改进算法也是非常有意义的,例如在数据获取层,可以利用概率模型估计爬虫采集页面的价值,从而能做出更好的判断。在大数据计算与存储层,利用矩阵分块计算实现并行计算。
以上内容为大家介绍了Python数据分析要学什么数学,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
猜你喜欢LIKE
相关推荐HOT
更多>>python中的filter函数功能是什么?
python中的filter函数功能是什么?在python中,面对众多的数据,我们要过滤筛选出我们需要的数据。python中的filter函数就是起到了过滤筛选的作...详情>>
2023-11-10 20:37:27pythontime模块是什么
pythontime模块是什么在python中使用时间,就免不了和time模块打交道,另外两个模块这个暂时先不做介绍。做time模块的使用上,我们可以用它来对...详情>>
2023-11-10 15:53:16python是什么编程语言
python是什么编程语言1、说明是一种面向对象、解释型计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Pyt...详情>>
2023-11-10 15:21:05python异常处理的两种技巧
python异常处理的两种技巧1、传递异常有时我们会在捕捉到一个异常后重新引发它(传递异常),实现起来很简单,使用不带参数的raise语句即可。deff...详情>>
2023-11-10 14:49:39热门推荐
python中的filter函数功能是什么?
沸python delattr函数如何使用?
热python中pdb模块怎么用?
热Python如何截图保存?
新python中缺少module怎么办?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python对象的三要素是什么
pythonGIL在Python多线程的应用
python如何对多个CSV文件进行读取
pythonif嵌套命令如何理解?
python对列表进行永久性或临时排序的方法
python生成器调用方法引发异常