【大数据】数学基础及应用

由于工作关系,在我的周围存在这两类人,一是正在学校学习的大学生,二是在IT公司从事研发设计的工程师。他们在数学学习和应用方面出现了两个极端。在校大学生,特别是大一、大二的学生每学期都有一些诸如数学分析、线性代数、数论之类数学课程,尽管在课堂上可以听到莱布尼茨和牛顿的纠葛故事、笛卡尔的爱情故事,但是他们往往感到很迷茫,因为不知道所学的数学知识到底有什么用。对于IT公司的研发人员来说,他们在进入大数据相关岗位前,总是觉得要先学点数学,但是茫茫的数学世界,哪里才是大数据技术的尽头?

一谈到大数据技术,很多人首先想到的是数学,大概是因为数字在数学体系中稳固的位置吧,这也是理所当然的。本文对大数据技术的数学基础这个问题进行一些探讨。

基本了解:

大数据(big data)指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

对于“大数据”(Big data)研究机构Gartner给出了这样的定义。“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。

最小的基本单位是bit,按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。

特性:

容量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息

种类(Variety):数据类型的多样性

速度(Velocity):指获得数据的速度

可变性(Variability):妨碍了处理和有效地管理数据的过程

真实性(Veracity):数据的质量

复杂性(Complexity):数据量巨大,来源多渠道

价值(value):合理运用大数据,以低成本创造高价值

学习大数据需要掌握的数学基础:

(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)离散数学

离散数学的重要性就不言而喻了,它是所有计算机科学分支的基础,自然也是大数据技术的重要基础。这里就不展开了。

最后,需要提的是,很多人认为自己数学不好,大数据技术开发应用也做不好,其实不然。要想清楚自己在大数据开发应用中充当什么角色(关于当前大数据技术的岗位现状,阅读“”一文)。参考以下的大数据技术研究应用的切入点,上述数学知识主要体现在数据挖掘与模型层上,这些数学知识和方法就需要掌握了。

学习教程:大数据学习数学基础

(课程主要介绍大数据中的数学基础)

一、向量、矩阵介绍

二、向量在游戏引擎中的应用

三、矩阵奇异值分解及其应用

四、导数、梯度介绍

五、最优化方法及其应用

更多精品课程:

7天玩转云服务器

云数据库的Redis版使用教程

玩转云存储对象存储OSS使用入门

阿里云CDN使用教程

负载均衡入门与产品使用指南

阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)

你可能感兴趣的:(【大数据】数学基础及应用)