人工智能必备知识储备之“数学篇”
https://www.toutiao.com/a6689602778995622407/
你想学习吗?好吧,看来,你并不是很想。
毕竟,一时偷懒一时爽,一直偷懒是真的一直爽。但是吧,请稍微拿起你的求知欲望,我们接着往下瞧一瞧。
一个不得不正视问题,在生活中,人们对数学的怀疑程度日益加深,那曾经学过的数学啊,仿佛在什么地方都派不上用场。除了枯燥的计算公式,就是冗长的计算量,没有惊喜,更没有浪漫的它,即使在菜市场上算账,微积分,拉着朗日定理之类的东西也是。好的吧,说句大言不惭的话,也许数学真的就是宇宙真理。而在人工智能方面,数学则更加是必不可少的。
比如:
线性代数,可以将你的研究对象形式化具体化,把抽象的事物,拿到我们所处的三维现实世界中;
线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。
概率论,可以描述统计规律,从而起到表现出客观存在的作用,在人工智能层次应用时,和线性代数具有或多或少相似及相同的地方;
概率论是研究随机现象数量规律的数学分支。随机现象是相对于决定性现象而言的。在一定条件下必然发生某一结果的现象称为决定性现象。例如在标准大气压下,纯水加热到100℃时水必然会沸腾等。随机现象则是指在基本条件不变的情况下,每一次试验或观察前,不能肯定会出现哪种结果,呈现出偶然性。例如,掷一硬币,可能出现正面或反面。随机现象的实现和对它的观察称为随机试验。随机试验的每一可能结果称为一个基本事件,一个或一组基本事件统称随机事件,或简称事件。典型的随机试验有掷骰子、扔硬币、抽扑克牌以及轮盘游戏等。事件的概率是衡量该事件发生的可能性的量度。
虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验却往往呈现出明显的数量规律。
数理统计,也许又可以被称作一种概率论的反应用。以小见大,从特殊到总体,当运用到分析具体数据时,往往会收到比较意外的结果。
数理统计是数学的一个分支,分为描述统计和推断统计。它以概率论为基础,研究大量随机现象的统计规律性。描述统计的任务是搜集资料,进行整理、分组,编制次数分配表,绘制次数分配曲线,计算各种特征指标,以描述资料分布的集中趋势、离中趋势和次数分布的偏斜度等。推断统计是在描述统计的基础上,根据样本资料归纳出的规律性,对总体进行推断和预测。
最优化理论,顾名思义,就是告诉你如何通过一顿操作猛如虎,然后找到最优解。找到方法,运用,并获得最合适的结果。
最优化理论是关于系统的最优设计、最优控制、最优管理问题的理论与[1]方法。最优化,就是在一定的约束条件下,使系统具有所期待的最优功能的组织过程。是从众多可能的选择中作出最优选择,使系统的目标函数在约束条件下达到最大或最小。最优化是系统方法的基本目的。优化方法有几个基本因素:系统目标;实现目标的可能方案;实行各方案的支付代价;建立系统模型;制定系统评价标准等。现代优化理论及方法是在本世纪40年代发展起来的,其理论和方法愈来愈多,如线性规划、非线性规划、动态规划、排队论、对策论、决策论、博弈论等。
信息论,信息的无限可能性,使得世界万物都具有了不确定性。当我们必须去定义这些复杂而又抽象的情况时,引入某些概念却也成了顺理成章的事情。那么就去定义吧?只有制定了规则,才能让人工智能,真正的“人工”。
信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。信息系统就是广义的通信系统,泛指某种信息从一处传送到另一处所需的全部设备所构成的系统。信息论是关于信息的理论,应有自己明确的研究对象和适用范围。但从信息论诞生的那时起人们就对它有不同的理解。
形式逻辑,一个人是否正常,看他的逻辑就能看出来,当人工智能的发展怎么也绕不开“类人思维”时,则更要求其具有出色的逻辑能力。当然,框框架架下的逻辑也许并不是那么优秀,但是如果想要更进一步,了解并学习已有的事物逻辑,是“超脱”必须要走的前一步。
形式逻辑,也叫普通逻辑。研究思维形式及其规律的科学。它是一门工具性质的科学,是人们认识事物、表达思想时经常运用的一种必要的逻辑工具。人的认识在理性阶段要实现对客观世界的反映,就要实现思维内容和思维形式的统一,否则,就不能实现这个反映。思维内容就是思维所反映的对象及其属性,形式就是对某个对象反映的方式,也就是用词语表达的概念、用语句所表达的判断和用复句所表达的推理等。
以前总觉得大学学习的高等数学什么的,特别不靠谱。但是,有一句话不是这样说的嘛,“所有的努力,都不会被辜负”。没有什么一步登天,我们所能做的,有且只有从第一步,一直走到第九十九步。
愿你的未来,一片大好;也像数学一样,无论有没有人可以证明,只要“有理”,它就在那。
AI要学计算机原理吗,人工智能开发需要的数学基础——为什么AI工程师那么贵
原标题:人工智能开发需要的数学基础——为什么AI工程师那么贵
数学基础知识蕴含着处理智能问题的基本思想与方法,也是理解复杂算法的必备要素。今天的种种人工智能技术归根到底都建立在数学模型之上,要了解人工智能,首先要掌握必备的数学基础知识,具体来说包括:
线性代数:如何将研究对象形式化?
概率论:如何描述统计规律?
数理统计:如何以小见大?
最优化理论:如何找到最优解?
信息论:如何定量度量不确定性?
形式逻辑:如何实现抽象推理?
线性代数:如何将研究对象形式化?
事实上,线性代数不仅仅是人工智能的基础,更是现代数学和以现代数学作为主要分析方法的众多学科的基础。从量子力学到图像处理都离不开向量和矩阵的使用。而在向量和矩阵背后,线性代数的核心意义在于提供了⼀种看待世界的抽象视角:万事万物都可以被抽象成某些特征的组合,并在由预置规则定义的框架之下以静态和动态的方式加以观察。
着重于抽象概念的解释而非具体的数学公式来看,线性代数要点如下:线性代数的本质在于将具体事物抽象为数学对象,并描述其静态和动态的特性;向量的实质是n维线性空间中的静止点;线性变换描述了向量或者作为参考系的坐标系的变化,可以用矩阵表示;矩阵的特征值和特征向量描述了变化的速度与方向。
总之,线性代数之于人工智能如同加法之于高等数学,是一个基础的工具集。
概率论:如何描述统计规律?
除了线性代数之外,概率论也是人工智能研究中必备的数学基础。随着连接主义学派的兴起,概率统计已经取代了数理逻辑,成为人工智能研究的主流工具。在数据爆炸式增长和计算力指数化增强的今天,概率论已经在机器学习中扮演了核心角色。
同线性代数一样,概率论也代表了一种看待世界的方式,其关注的焦点是无处不在的可能性。频率学派认为先验分布是固定的,模型参数要靠最大似然估计计算;贝叶斯学派认为先验分布是随机的,模型参数要靠后验概率最大化计算;正态分布是最重要的一种随机变量的分布。
数理统计:如何以小见大?
在人工智能的研究中,数理统计同样不可或缺。基础的统计理论有助于对机器学习的算法和数据挖掘的结果做出解释,只有做出合理的解读,数据的价值才能够体现。数理统计根据观察或实验得到的数据来研究随机现象,并对研究对象的客观规律做出合理的估计和判断。
虽然数理统计以概率论为理论基础,但两者之间存在方法上的本质区别。概率论作用的前提是随机变量的分布已知,根据已知的分布来分析随机变量的特征与规律;数理统计的研究对象则是未知分布的随机变量,研究方法是对随机变量进行独立重复的观察,根据得到的观察结果对原始分布做出推断。
用一句不严谨但直观的话讲:数理统计可以看成是逆向的概率论。数理统计的任务是根据可观察的样本反过来推断总体的性质;推断的工具是统计量,统计量是样本的函数,是个随机变量;参数估计通过随机抽取的样本来估计总体分布的未知参数,包括点估计和区间估计;假设检验通过随机抽取的样本来接受或拒绝关于总体的某个判断,常用于估计机器学习模型的泛化错误率。
最优化理论:如何找到最优解?
本质上讲,人工智能的目标就是最优化:在复杂环境与多体交互中做出最优决策。几乎所有的人工智能问题最后都会归结为一个优化问题的求解,因而最优化理论同样是人工智能必备的基础知识。最优化理论研究的问题是判定给定目标函数的最大值(最小值)是否存在,并找到令目标函数取到最大值(最小值)的数值。如果把给定的目标函数看成一座山脉,最优化的过程就是判断顶峰的位置并找到到达顶峰路径的过程。
通常情况下,最优化问题是在无约束情况下求解给定目标函数的最小值;在线性搜索中,确定寻找最小值时的搜索方向需要使用目标函数的一阶导数和二阶导数;置信域算法的思想是先确定搜索步长,再确定搜索方向;以人工神经网络为代表的启发式算法是另外一类重要的优化方法。
信息论:如何定量度量不确定性?
近年来的科学研究不断证实,不确定性就是客观世界的本质属性。换句话说,上帝还真就掷骰子。不确定性的世界只能使用概率模型来描述,这促成了信息论的诞生。
信息论使用“信息熵”的概念,对单个信源的信息量和通信中传递信息的数量与效率等问题做出了解释,并在世界的不确定性和信息的可测量性之间搭建起一座桥梁。
总之,信息论处理的是客观世界中的不确定性;条件熵和信息增益是分类问题中的重要参数;KL散度用于描述两个不同概率分布之间的差异;最大熵原理是分类问题汇总的常用准则。
形式逻辑:如何实现抽象推理?
1956年召开的达特茅斯会议宣告了人工智能的诞生。在人工智能的襁褓期,各位奠基者们,包括约翰·麦卡锡、赫伯特·西蒙、马文·闵斯基等未来的图灵奖得主,他们的愿景是让“具备抽象思考能力的程序解释合成的物质如何能够拥有人类的心智。”通俗地说,理想的人工智能应该具有抽象意义上的学习、推理与归纳能力,其通用性将远远强于解决国际象棋或是围棋等具体问题的算法。
如果将认知过程定义为对符号的逻辑运算,人工智能的基础就是形式逻辑;谓词逻辑是知识表示的主要方法;基于谓词逻辑系统可以实现具有自动推理能力的人工智能;不完备性定理向“认知的本质是计算”这一人工智能的基本理念提出挑战。
《人工智能基础课》全年目录
本专栏将围绕机器学习与神经网络等核心概念展开,并结合当下火热的深度学习技术,勾勒出人工智能发展的基本轮廓与主要路径。
人工智能的核心就是机器学习(MachineLearning),它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
机器学习是一个非常广泛和丰富的领域,几乎在每个行业都有应用。因为要学习的东西太多,初学者很容易发慌,而且在面对很多个模型时也很容易迷失,看不到大局。
因此,我们把机器学习大概划分为九个部分,我们通过这九个部分内容也就能知道为什么我们需要这样的数学基础。
ML整体学习:
基本的机器学习原理,比如方差权衡这些知识。
优化:
为模型发现最优参数的算法。
数据预处理:
处理缺失数据、偏态分布、异常值等。
取样和拆分
怎样拆分数据集来调整参数和避免过度拟合。
监督式学习
使用分类和回归模型从标记数据中学习。
非监督式学习
使用因素和集群分析模型从非标记数据中学习。
模型评估
根据不同的性能度量做出决策。
集成学习
将不同模型相结合,达到更好的性能。
商业应用
机器学习如何帮助不同类型的商业业务。
人工智能领域和其他最新发展的技术一样是一个奠基数理科学上的一门技术。
除了数学基础,还需要哪些知识呢?
1)所以最基础知识就是数学,也看到有的回答说需要逻辑。这个也是对的,其实严格上来讲逻辑与数学也不分家。多少数学家想把完备的数学大厦建立在逻辑的基础上,后来还是失败了(搜索DavidHilbert,BertrandRusell)。这种失败也是逻辑学家哥德尔(KurtGodel)用数学的方法来完成的。离散数学中讲到的很多就是逻辑,也是计算机科学发展的基础。一句话计算机与数学不分家,人工智能一般还是认为是计算机科学或信息科学的一个分支,所以一样离不开数学。
2)作为一个普通的人工智能工程师,不是所有的数学都需要。主要是高等数学(微积分、优化)、线性代数、概率与统计这三门是非常重要而且必要的数学基础。很难相信不懂什么是高斯分布可以用贝叶斯方法做推理,不懂线性代数可以理解高维空间流形,不懂微积分可以理解反向传播,和不懂优化能理解SVM.这些必要的数学基础,也是在教机器学习和数据挖掘中一次次被复习的内容。甚至很多课程要花大量的时间,确定学生有这样的基础。
3)编程是实现人工智能的方法,我们懂了理论,就要实践,代码是我们实现我们算法的唯一路径。如果我们代码能力不好,我们无法正确表述我们的理论模型,无法发现代码中的错误还以为是理论错了。甚至不够熟练,会把一个简单问题,变得很复杂,是算法的计算复杂度超级大,需要很长的时间求解。我印象中一个特别清晰的例子,一个算法中涉及到的一步是从一个超大的数据库中需要找到3个最大的数,结果一个学生把整个数据库进行排序算法之后取前三个,可想而知。这个算法能快吗?还有跟多的例子是我们设计了一个算法,最后结果出来不是对,我们就研究、讨论、分析和各种办法想理解我们以前的想法哪里错了,结果呢,经常是一个Bug!
4)英文能力,人工智能学科发展快。大部分文献是英文的,代码的解释也是英文的。很多技术博客等等,都是英文中有大量的优秀资源,不是中文中就没有,但是英文好会让你学习的能力事半功倍,可以追到前沿,直接看MIT,Berkeley,Standford,CMU教授的一手课程和笔记。
参考文档
作者:AI前线
链接:https://juejin.im/post/5a2bd31a51882540f36379d0
作者:景略集智
链接:https://www.zhihu.com/question/21277368/answer/277626779返回搜狐,查看更多
责任编辑:
程序员学人工智能,为什么必须要懂数学建模
https://www.toutiao.com/a6678180224556859918/
从数学建模到人工智能
为什么要把数学建模与当今火热的人工智能放在一起?
首先,数学建模在字面上可以分解成数学+建模,即运用统计学、线性代数和积分学等数学知识,构建算法模型,通过模型来解决问题。数学建模往往是没有对与错,只有"更好"(better),就好像让你评价两个苹果哪个更好吃,只有好吃、不好吃或者更好吃,没有对与错。
人工智能(ArtificialIntelligence,AI),你可以将其理解为是一种"黑科技",人类通过它,让计算机能够"更好"地像人一样思考。可以说"算法模型"是人工智能的"灵魂",没有算法模型,一切都是"水中月""镜中花"!
因此,本文将从数学建模入手,由浅入深地为读者揭开AI的神秘面纱。
1.1数学建模数学建模与人工智能数学建模简介
数学建模是利用数学方法解决实际问题的一种实践。即通过抽象、简化、假设、引进变量等处理过程,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解。数学建模可以通俗地理解为数学+建模,即运用统计学、线性代数,积分学等数学知识,构建数学模型,通过模型解决问题。
按照传统定义,数学模型是对于一个现实对象,为了一个特定目的(实际问题),做出必要的简化假设(模型假设),根据对象的内在规律(业务逻辑、数据特征),运用适当的数学工具、计算机软件,得到的一个数学结构。
亚里士多德说,"智慧不仅仅存在于知识之中,而且还存在于应用知识的能力中"。数学建模就是对数学知识最好的应用,通过数学建模,你会发现,生活中很多有意思的事情都可以靠它来解决,其流程如图1-1所示。
2.人工智能简介对于普通大众来说,可能是近些年才对其有所了解,其实人工智能在几十年以前就被学者提出并得到一定程度的发展,伴随着大数据技术的迅猛发展而被引爆。
▲图1-1数学建模流程
(1)人工智能的诞生
最初的人工智能其实是20世纪30至50年代初一系列科学研究进展交汇的产物。1943年,沃伦·麦卡洛克(WarrenMcCulloch)和瓦尔特·皮茨(WalterPitts)首次提出"神经网络"概念。1950年,阿兰·图灵(AlanTuring)提出了著名的"图灵测试",即如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器则具有智能。直到如今,图灵测试仍然是人工智能的重要测试手段之一。1951年,马文·明斯基(MarvinMinsky)与他的同学一起建造了第一台神经网络机,并将其命名为SNARC(StochasticNeuralAnalogReinforcementCalculator)。不过,这些都只是前奏,一直到1956年的达特茅斯会议,"ArtificialIntelligence"(人工智能)这个词才被真正确定下来,并一直沿用至今,这也是目前AI诞生的一个标志性事件。
▲图1-2达特茅斯会议参会者50年后聚首照[footnoteRef:1][1:达特茅斯会议参会者50年后再聚首,左起:TrenchardMore、JohnMcCarthy、MarvinMinsky、OliverSelfridge和RaySolomonoff(摄于2006年),图片版权归原作者所有。]
在20世纪50年代,人工智能相关的许多实际应用一般是从机器的"逻辑推理能力"开始着手研究。然而对于人类来说,更高级的逻辑推理的基础是"学习能力"和"规划能力",我们现在管它叫"强化学习"与"迁移学习"。可以想象,"逻辑推理能力"在一般人工智能系统中不能起到根本的、决定性的作用。当前,在数据、运算能力、算法模型、多元应用的共同驱动下,人工智能的定义正从用计算机模拟人类智能,演进到协助引导提升人类智能,如图1-3所示。
(2)人工智能的概念
人工智能(ArtificialIntelligence),英文缩写为AI,它是研究开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
▲图1-3下一代人工智能(图片来源《新一代人工智能发展白皮书》)
人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的"容器",也可能超过人的智能。
(3)人工智能、机器学习、深度学习
下面我们来介绍下主要与人工智能相关的几个概念,要搞清它们的关系,最直观的表述方式就是同心圆,如图1-4所示,最先出现的是理念,然后是机器学习,当机器学习繁荣之后就出现了深度学习,今天的人工智能大爆发是由深度学习驱动的。
▲图1-4AI、机器学习、深度学习的关系
人工智能(AI)、机器学习(ML)、深度学习(DL)的关系为DL⊆ML⊆AI。
人工智能,即AI是一个宽泛的概念,人工智能的目的就是让计算机能够像人一样思考。机器学习是人工智能的分支,它是人工智能的重要核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。深度学习是机器学习研究中的一个新领域,推动了机器学习的发展,并拓展了人工智能的领域范围。甚至有观点认为,深度学习可能就是实现未来强AI的突破口。
可以把人工智能比喻成孩子大脑,机器学习是让孩子去掌握认知能力的过程,而深度学习是这个过程中很有效率的一种教学体系。
因此可以这样概括:人工智能是目的、结果;深度学习、机器学习是方法、工具。
本书讲解了人工智能、机器学习、深度学习的相关应用,它们之间的关系,常见的机器学习算法等知识,希望你通过对本书的学习,深刻理解这些概念,并可以轻而易举地给别人讲解。
3.数学建模与人工智能关系无论是数学建模还是人工智能,其核心都是算法,最终的目的都是通过某种形式来更好地为人类服务,解决实际问题。在研究人工智能过程中需要数学建模思维,所以数学建模对于人工智能非常关键。
下面通过模拟一个场景来了解人工智能与数学建模之间的关系。
某患者到医院就诊,在现实生活中,医生根据病人的一系列体征与症状,判断病人患了什么病。医生会亲切地询问患者的症状,通过各种专项检查,最后进行确诊。在人工智能下,则考虑通过相应算法来实现上述过程,如德国的辅助诊断产品Ada学习了大量病例来辅助提升医生诊病的准确率。
▲图1-5AI机器人
情景①:如果用数学建模方法解决,那么就通过算法构建一个恰当的模型,也就是通过图1-1所示的数学建模流程来解决问题。
情景②:如果用人工智能方法解决,那么就要制造一个会诊断疾病的机器人。机器人如何才能精准诊断呢?这就需要利用人工智能技术手段,比如采用一个"人工智能"算法模型,可能既用了机器学习算法,也用了深度学习算法,不管怎样,最终得到的是一个可以落地的疾病预测人工智能解决方案。让其具有思考、听懂、看懂、逻辑推理与运动控制能力,如图1-5所示。
通过上面的例子可以看出,人工智能离不开数学建模。在解决一个人工智能的问题过程中,我们将模型的建立与求解进行了放大,以使其结果更加精准,如图1-6所示。
▲图1-6AI下对数学建模的流程修正
可见,从数学建模的角度去学习人工智能不失为一种合适的方法。
本文摘自《Python3破冰人工智能:从入门到实战》
-END-