文档章节

干货 | 机器学习需要哪些数学基础?

tantexian
 tantexian
发布于 2017/07/22 23:53
字数 1614
阅读 144
收藏 2

过去的几个月中,有几人联系我,诉说他们对尝试进入数据科学的世界,以及用机器学习的技术去探索统计规律并构建无可挑剔的数据驱动型产品的热忱。然而,我发现一些人实际上缺乏必要的数学直觉和知识框架去得到有用的结果。这便是我决定写这篇博文的主要原因。最近涌现出了很多易于使用的机器学习和深度学习的软件包,例如 scikit-learn, Weka, Tensorflow 等等。机器学习理论是统计学、概率学、计算机科学以及算法的交叉领域,是通过从数据中的迭代学习去发现能够被用来构建智能应用的隐藏知识。尽管机器学习和深度学习有着无限可能,然而为了更好地掌握算法的内部工作机理和得到较好的结果,对大多数这些技术有一个透彻的数学理解是必要的。

逻辑回归和神经网络的代价函数的计算方法

为什么要重视数学?

机器学习中的数学是重要的,有很多原因,下面我将强调其中的一些:

1. 选择正确的算法,包括考虑到精度、训练时间、模型复杂度、参数的数量和特征数量。

2. 选择参数的设置和验证策略。

3. 通过理解偏差和方差之间的 tradeoff 来识别欠拟合与过拟合。

4. 估计正确的置信区间和不确定度。

你需要什么水平的数学?

当你尝试着去理解一个像机器学习(ML)一样的交叉学科的时候,主要问题是理解这些技术所需要的数学知识的量以及必要的水平。这个问题的答案是多维的,也会因个人的水平和兴趣而不同。关于机器学习的数学公式和理论进步正在研究之中,而且一些研究者正在研究更加先进的技术。下面我会说明我所认为的要成为一个机器学习科学家/工程师所需要的最低的数学水平以及每个数学概念的重要性。

1. 线性代数:我的一个同事 Skyler Speakman 最近说过,「线性代数是 21 世纪的数学」,我完全赞同他的说法。在机器学习领域,线性代数无处不在。主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中所使用的优化方法所需要的。令人惊奇的是现在有很多关于线性代数的在线资源。我一直说,由于大量的资源在互联网是可以获取的,因而传统的教室正在消失。我最喜欢的线性代数课程是由 MIT Courseware 提供的(Gilbert Strang 教授的讲授的课程):http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

2. 概率论和统计学:机器学习和统计学并不是迥然不同的领域。事实上,最近就有人将机器学习定义为「在机器上做统计」。机器学习需要的一些概率和统计理论分别是:组合、概率规则和公理、贝叶斯定理、随机变量、方差和期望、条件和联合分布、标准分布(伯努利、二项式、多项式、均匀和高斯)、时刻生成函数(Moment Generating Functions)、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和抽样方法。

3. 多元微积分:一些必要的主题包括微分和积分、偏微分、向量值函数、方向梯度、海森、雅可比、拉普拉斯、拉格朗日分布。

4. 算法和复杂优化:这对理解我们的机器学习算法的计算效率和可扩展性以及利用我们的数据集中稀疏性很重要。需要的知识有数据结构(二叉树、散列、堆、栈等)、动态规划、随机和子线性算法、图论、梯度/随机下降和原始对偶方法。

5. 其他:这包括以上四个主要领域没有涵盖的数学主题。它们是实数和复数分析(集合和序列、拓扑学、度量空间、单值连续函数、极限)、信息论(熵和信息增益)、函数空间和流形学习。

一些用于学习机器学习所需的数学主题的 MOOC 和材料是(链接经过压缩):

  • 可汗学院的线性代数(http://suo.im/fgMNX)、概率与统计(http://suo.im/CqwY9)、多元微积分(http://suo.im/xh6Zn)和优化(http://suo.im/1o2Axs)

  • 布朗大学 Philip Klein 的「编程矩阵:计算机科学应用中的线性代数(Coding the Matrix: Linear Algebra through Computer Science Applications)」:http://codingthematrix.com

  • 得克萨斯大学的 Robert van de Geijn 在 edX 上的 Linear Algebra – Foundations to Frontiers:http://suo.im/hKRnW

  • 戴维森学院 Tim Chartier 的新课程 Applications of Linear Algebra;第一部分:http://suo.im/48Vary,第二部分:http://suo.im/3Xm3Lh

  • Joseph Blitzstein 的 Harvard Stat 110 lectures:http://suo.im/2vhVmb

  • Larry Wasserman 的书《All of statistics: A Concise Course in Statistical Inference》,下载:http://suo.im/v9u7k

  • 斯坦福大学的 Boyd 和 Vandenberghe 的关于凸优化的课程:http://suo.im/2wdQnf

  • Udacity 的 Introduction to Statistics 课程:http://suo.im/1enl1c

  • 吴恩达授课的 Coursera/斯坦福大学的机器学习课程:http://suo.im/1eCvp9

这篇博文的主要目的是给出一些善意的关于数学在机器学中的重要性的建议,一些一些必需的数学主题以及掌握这些主题的一些有用的资源。然而,一些机器学习的痴迷者是数学新手,可能会发现这篇博客令人伤心(认真地说,我不是故意的)。对于初学者而言,你并不需要很多的数学知识就能够开始机器学习的研究。基本的吸纳觉条件是这篇博文所描述的数据分析,你可以在掌握更多的技术和算法的过程中学习数学。

©本文为机器之心编译,转载请联系本公众号获得授权

© 著作权归作者所有

共有 人打赏支持
tantexian
粉丝 201
博文 502
码字总数 722631
作品 0
成都
架构师
实用 :一文带你零基础入行深度学习

来源: 人工智能头条 本文共3369字,建议阅读5分钟。 本文希望从一个小白的角度出发,真正从零基础的角度来为大家提供一些专业的建议和指导。 深度学习到底有多热,这里我就不再强调了,也因...

数据分析v
08/31
0
0
进入大学学习AI之前,高中生应掌握哪些基础知识?

将人工智能引入高中课程能弥补技能差距吗?专家们认为,这一举措将有助于建立可持续化发展的劳动力队伍,能够利用变革性技术,确保社会的发展和包容性的增长,符合政府的发展理念。 从这一点说...

智能观
07/09
0
0
入行机器学习,对数学的要求高吗?

在过去的几个月里,我一直和一些人交流,他们已经开始切入数据科学领域并积极使用机器学习(ML)技术来探索统计规律、或构建完善的数据驱动产品。然而,我发现很多情况下统计分析结果不尽人意...

duozhishidai
04/22
0
0
【Hacker News最火教程】机器学习必备的数学知识

【新智元导读】对于很多入坑机器学习的同学来说,数学可能是比较艰辛的部分。本文作者介绍了构建机器学习产品、或进行机器学习研究所需的数学背景,以及来自机器学习工程师、研究人员和教师的...

技术小能手
08/06
0
0
必读 | 我们该如何学习机器学习中的数学

数学达到什么水平才可以开始机器学习?人们并不清楚,尤其是那些在校期间没有研究过数学或统计学的人。 本文的写作目的是介绍构建机器学习产品或进行相关学术研究所必需的数学背景,以及数学...

技术小能手
08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

企业级 SpringBoot教程(三)SpringBoot用JdbcTemplates访问Mysql

准备工作 jdk 1.8 maven 3.0 idea mysql 初始化mysql: -- create table `account`DROP TABLE `account` IF EXISTSCREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT,......

itcloud
24分钟前
0
0
事务的作用

1. 什么是事务,为什么使用事务? 一、概念: 1.数据库事务: 数据库事务通常指对数据库进行读或写的一个操作序列。 它的存在包含有以下两个目的: 1、为数据库操作提供了一个从失败中恢复到正常...

gaomq
26分钟前
0
0
Web工程师以太坊入门

我经常构建使用以太坊的Web应用程序,我理所当然地认为每天都使用的是神奇的工具集。我们的生态系统正在迅速发展,我认为很多新人都感到不知所措。以太坊是一项了不起的技术,但它也是新生的...

geek12345
28分钟前
0
0
新蠕虫出现:以Linux和Windows为目标

正如Unit 42研究团队所详述的那样,名为Xbash的新恶意软件系列与Iron Group有关,Iron Group是一个以前知道可以执行勒索软件攻击的威胁行为者,显然已经转向更复杂的攻击媒介。 据观察,Xba...

linux-tao
31分钟前
0
0
Mask 动画

前言:很多动效都是多种动画的组合,有时候你可能只是需要其中某个动画,但面对庞杂的代码库或是教程,你可能比较困惑,本系列将复杂动效中不常见的动画效果拆解出来便于学习,授人以鱼不如授...

walking_yxf
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部