当下,人工智能成了新时代的必修课,其重要性已无需赘述,但作为一个跨学科产物,它包含的内容浩如烟海,各种复杂的模型和算法更是让人望而生畏。对于大多数的新手来说,如何入手人工智能其实都是一头雾水,比如到底需要哪些数学基础、是否要有工程经验、对于深度学习框架应该关注什么等等。

那么,学习人工智能该从哪里开始呢?人工智能的学习路径又是怎样的?

本文节选自王天一教授在极客时间 App 开设的“人工智能基础课”,已获授权。更多相关文章,请下载极客时间 App,订阅专栏获取。

数学基础知识蕴含着处理智能问题的基本思想与方法,也是理解复杂算法的必备要素。今天的种种人工智能技术归根到底都建立在数学模型之上,要了解人工智能,首先要掌握必备的数学基础知识,具体来说包括:

  • 线性代数:如何将研究对象形式化?
  • 概率论:如何描述统计规律?
  • 数理统计:如何以小见大?
  • 最优化理论: 如何找到最优解?
  • 信息论:如何定量度量不确定性?
  • 形式逻辑:如何实现抽象推理?

线性代数:如何将研究对象形式化?

事实上,线性代数不仅仅是人工智能的基础,更是现代数学和以现代数学作为主要分析方法的众多学科的基础。从量子力学到图像处理都离不开向量和矩阵的使用。而在向量和矩阵背后,线性代数的核心意义在于提供了⼀种看待世界的抽象视角:万事万物都可以被抽象成某些特征的组合,并在由预置规则定义的框架之下以静态和动态的方式加以观察。

着重于抽象概念的解释而非具体的数学公式来看,线性代数要点如下:线性代数的本质在于将具体事物抽象为数学对象,并描述其静态和动态的特性;向量的实质是 n 维线性空间中的静止点;线性变换描述了向量或者作为参考系的坐标系的变化,可以用矩阵表示;矩阵的特征值和特征向量描述了变化的速度与方向。

总之,线性代数之于人工智能如同加法之于高等数学,是一个基础的工具集。

概率论:如何描述统计规律?

除了线性代数之外,概率论也是人工智能研究中必备的数学基础。随着连接主义学派的兴起,概率统计已经取代了数理逻辑,成为人工智能研究的主流工具。在数据爆炸式增长和计算力指数化增强的今天,概率论已经在机器学习中扮演了核心角色。

同线性代数一样,概率论也代表了一种看待世界的方式,其关注的焦点是无处不在的可能性。频率学派认为先验分布是固定的,模型参数要靠最大似然估计计算;贝叶斯学派认为先验分布是随机的,模型参数要靠后验概率最大化计算;正态分布是最重要的一种随机变量的分布。

数理统计:如何以小见大?

在人工智能的研究中,数理统计同样不可或缺。基础的统计理论有助于对机器学习的算法和数据挖掘的结果做出解释,只有做出合理的解读,数据的价值才能够体现。数理统计根据观察或实验得到的数据来研究随机现象,并对研究对象的客观规律做出合理的估计和判断。

虽然数理统计以概率论为理论基础,但两者之间存在方法上的本质区别。概率论作用的前提是随机变量的分布已知,根据已知的分布来分析随机变量的特征与规律;数理统计的研究对象则是未知分布的随机变量,研究方法是对随机变量进行独立重复的观察,根据得到的观察结果对原始分布做出推断。

用一句不严谨但直观的话讲:数理统计可以看成是逆向的概率论。 数理统计的任务是根据可观察的样本反过来推断总体的性质;推断的工具是统计量,统计量是样本的函数,是个随机变量;参数估计通过随机抽取的样本来估计总体分布的未知参数,包括点估计和区间估计;假设检验通过随机抽取的样本来接受或拒绝关于总体的某个判断,常用于估计机器学习模型的泛化错误率。

最优化理论: 如何找到最优解?

本质上讲,人工智能的目标就是最优化:在复杂环境与多体交互中做出最优决策。几乎所有的人工智能问题最后都会归结为一个优化问题的求解,因而最优化理论同样是人工智能必备的基础知识。最优化理论研究的问题是判定给定目标函数的最大值(最小值)是否存在,并找到令目标函数取到最大值 (最小值) 的数值。 如果把给定的目标函数看成一座山脉,最优化的过程就是判断顶峰的位置并找到到达顶峰路径的过程。

通常情况下,最优化问题是在无约束情况下求解给定目标函数的最小值;在线性搜索中,确定寻找最小值时的搜索方向需要使用目标函数的一阶导数和二阶导数;置信域算法的思想是先确定搜索步长,再确定搜索方向;以人工神经网络为代表的启发式算法是另外一类重要的优化方法。

信息论:如何定量度量不确定性?

近年来的科学研究不断证实,不确定性就是客观世界的本质属性。换句话说,上帝还真就掷骰子。不确定性的世界只能使用概率模型来描述,这促成了信息论的诞生。

信息论使用“信息熵”的概念,对单个信源的信息量和通信中传递信息的数量与效率等问题做出了解释,并在世界的不确定性和信息的可测量性之间搭建起一座桥梁。

总之,信息论处理的是客观世界中的不确定性;条件熵和信息增益是分类问题中的重要参数;KL 散度用于描述两个不同概率分布之间的差异;最大熵原理是分类问题汇总的常用准则。

形式逻辑:如何实现抽象推理?

1956 年召开的达特茅斯会议宣告了人工智能的诞生。在人工智能的襁褓期,各位奠基者们,包括约翰·麦卡锡、赫伯特·西蒙、马文·闵斯基等未来的图灵奖得主,他们的愿景是让“具备抽象思考能力的程序解释合成的物质如何能够拥有人类的心智。”通俗地说,理想的人工智能应该具有抽象意义上的学习、推理与归纳能力,其通用性将远远强于解决国际象棋或是围棋等具体问题的算法。

如果将认知过程定义为对符号的逻辑运算,人工智能的基础就是形式逻辑;谓词逻辑是知识表示的主要方法;基于谓词逻辑系统可以实现具有自动推理能力的人工智能;不完备性定理向“认知的本质是计算”这一人工智能的基本理念提出挑战。

《人工智能基础课》全年目录

本专栏将围绕机器学习与神经网络等核心概念展开,并结合当下火热的深度学习技术,勾勒出人工智能发展的基本轮廓与主要路径。

作者:AI前线
链接:https://juejin.im/post/5a2bd31a51882540f36379d0
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 --------------------- 本文来自 itheima_Wujie 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/itheima_Wujie/article/details/78765429?utm_source=copy

学习人工智能需要哪些必备基础相关推荐

  1. 学习人工智能需要哪些必备的数学基础?

    问题一:学习人工智能需要哪些必备的数学基础? 对于大多数的新手来说,如何入手人工智能其实都是一头雾水,比如到底需要哪些数学基础.是否要有工程经验.对于深度学习框架应该关注什么等等? 因为现在AI火了, ...

  2. 学习人工智能需要掌握哪些基础知识,需要具备哪些数学和编程技能?

    学习人工智能需要掌握以下基础知识: 数学基础:线性代数.概率论.微积分.优化等基本数学知识是人工智能领域的重要基础. 编程基础:熟悉至少一种编程语言(如Python.C++等),了解基本的数据结构和算 ...

  3. 学习光盘刻录必备基础知识

    学习光盘刻录必备基础知识 2011年04月11日 [b] 学习光盘刻录必备基础知识[/b] 日期:2009-10-10 11:04 1.什么是CD-R? CD-R就是光盘刻录片(CD Recordab ...

  4. c语言需要哪些英语基础,学习C语言的必备基础知识(国外英语资料).doc

    学习C语言的必备基础知识(国外英语资料) 满卧裹瑟莉筑部获搪肪棱惺杀摄械圭旬敷豹休登悬邱雀报台盼拈毒鹰进怀却恩登雄旁二宇谊婆叔陌嘎扇体歌嫉蹿久题篡憨琵夹涌芦鸣褐颂诅讳拴狸果液梦绸亥氯确杯牌憨耗终贼况榔 ...

  5. 2.Docker容器学习之新生入门必备基础知识

    文章目录 0x02 Docker 核心概念 1.镜像 [image] 2.容器 [Container] 3.仓库 [Repository] 0x03 Docker 数据管理 1.数据卷 2.数据卷容器 ...

  6. python3.8使用requests_python3.8.1 入门基础学习 之 【 requests 基础学习,python3爬虫必备基础】...

    0.安装 0.1.pip安装 pip install requests 0.2.pipenv安装在虚拟环境下安装 pipenv install requests 0.3.使用之前必须在文件中导入 im ...

  7. 人工智能、机器学习、深度学习学习资料整理(开发必备)

    最近整理了下AI方面的学习资料,包含了学习社区.入门教程.汲取学习.深度学习.自然语言处理.计算机视觉.数据分析.面试和书籍等方面的知识.在这里分享给大家,欢迎大家点赞收藏. 学习社区 神力AI(MA ...

  8. 机器学习、深度学习、神经网络学习资料集合(开发必备)

    最近整理了下AI方面的学习资料,包含了学习社区.入门教程.汲取学习.深度学习.自然语言处理.计算机视觉.数据分析.面试和书籍等方面的知识.在这里分享给大家,欢迎大家点赞收藏. 学习社区 神力AI(MA ...

  9. 零基础小白该如何学习人工智能?

    人工智能近年来在我国发展迅猛,国内各大科技公司都分别推出了自己的人工智能发展战略,但是目前国内关于人工智能方面的人才却是十分的紧缺,各大企业对人工智能人才的需求迅速增长,这也就导致了很多人想要转行进入 ...

最新文章

  1. 关于WPF的ComboBox中Items太多而导致加载过慢的问题
  2. AEC、AGC、ANS在视音频会议中的作用?
  3. R语言使用caret包构建遗传算法树模型(Tree Models from Genetic Algorithms )构建回归模型、通过method参数指定算法名称
  4. .NET中小数,浮点数和双精度之间的区别?
  5. k8s:Service的四种类型和三种代理模式
  6. 怎么让电脑运行速度变快_电脑运行慢怎么办 电脑运行慢解决方法【详解】
  7. 如何将存储在MongoDB数据库中的数据导出到Excel中?
  8. PS教程第十一课:会打开 会关闭我回了
  9. centos7常用工具安装手册
  10. opencart修改网站顶部电话联系方式
  11. 计算机网络技术ui设计,UI设计小白到大神的进阶之路—入门基础篇
  12. 什么叫wipe,安卓用户如何去wipe?
  13. git Untracked files
  14. 将一个自然数拆分为N个自然数
  15. 请将磁盘插入“U盘(F)“
  16. 已写完的二十本最经典原创小说巨作!你都看过吗?
  17. MyEclipse10 激活
  18. 程序员接私活的7大利器以及建议
  19. 将撒娇进行到底的女人
  20. STM32—4线SPI驱动SSD1306 OLED

热门文章

  1. word中插入图表改变数据系列产生在行或列
  2. OpenXML之word的XML格式分析
  3. python爬知乎_python爬行求知。,爬取,知乎,精华
  4. 【LeetCode】606.根据二叉树创建字符串
  5. C语言基础选择题100道(附答案)04
  6. java技术体系中的三个主要分支是_计算智能的三个主要分支及其应用
  7. case when 的用法详解
  8. 卷积神经网络模型搭建(水果识别项目)
  9. 游戏建模师的现状如何?
  10. Jedis和Lettuce