一文掌握机器学习必备数学知识(附学习资源)

转载 2018年04月17日 14:40:29

本篇文章是由留德华叫兽在知乎的优秀回答改编扩展而成的,作者留德华叫兽有着应用数学和硕士运筹学、优化理论的背景转到德国海德堡大学读博,主要从事机器学习、计算机视觉的研究,希望自己的一些经验可以对想入门机器学习的朋友们有点借鉴作用。作者王源对数学优化和机器学习都有涉及,在原回答的框架下加入了自己学习过程的经验和理解,并收集了相关优秀课程的资源链接供大家参考。同时文末还给出了本文所述的全套优秀课程的网盘链接资源(包括视频,英文字幕,课件,参考书籍等等)。

本篇文章想要说明的是数学并非认识世界的唯一途径,即使数学水平不高的你同样也可以开展机器学习方面的工作和研究。但是不可否认数学是自然科学领域探究真理的有效工具,有了强大的数学背景知识会让你看待问题更加深刻,这就是我们经常会看到很多大牛们都是出身数学专业。另外本文所列举的课程比较多,要想一下子去穷尽所有课程显然也不现实,大可不必打好所有的数学基础再去学机器学习,最好的做法是当你对机器学习本身的理解达到一定瓶颈的时候,你可以补一补一些相关的数学基础之后再回去看机器学习的问题也许会更快的有所突破。所以本文针对不同学习基础的朋友们,划分初,中,高三个学习阶段,供大家在学习中进一步去取舍。

首先对人工智能、机器学习一个综述:

大话“人工智能、数据科学、机器学习”--综述 - 知乎专栏:

https://zhuanlan.zhihu.com/p/26645993

笼统地说,原理和基础都在数学这边,当然有很多偏应用和软件使用的技术,例如“深度学习调参”等,这些报个培训速成班就能学会的技术含量不那么高的东西,不在讨论范围内。

这里要讨论的,是如何系统的学习,然后自己能编出这机器学习或深度学习的程序或软件--我想,这才能称为一个合格的机器学习、数据科学家。

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

1.入门基础

1. 微积分(求导,极限,极值)例如传统的BP神经网络的训练算法实际上是基于复合函数求导的链式法则,又比如目前多数的监督学习训练算法都基于极大似然估计,而极大似然估计的求解往往涉及求导,求极值的内容。

d47e62d2b349aca45e42305ed6714efbe5ed61d9微积分是最基础的数学内容了,平时我们接触的用的也是最多的,微积分的教材和课程也是多如牛毛,我也就不推荐特别正式的课程了,仅仅推荐一个 Essence of calculus(https://goo.gl/sfHext),作者以拉风的动画,深入的理解带你回顾一下微积分的关键概念。

2. 线性代数(矩阵表示、矩阵运算、特征根、特征向量)是基础中的基础,主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中基本概念的基础。某篇图像分割1w+引用的神文核心思想便就求解构造矩阵的特征向量。

国内的线性代数教材偏重于计算而忽视了线性空间,特征值等基本概念阐述。我个人也是在接触机器学习的内容后发现自己的线性代数基础并不牢固,下决心恶补线性代数,下面我推荐几个课程:

d47e62d2b349aca45e42305ed6714efbe5ed61d9线性代数课程首推 MIT的 Gilbert Strang老爷子的课程。第一次听老爷子的课程,看到矩阵乘法竟然有四种理解方式的时候着实是惊呆了,原来线性代数可以这么美。看到SVD分解的时候马上就能感觉到SVD分解能在很多场景排上大用场。同时该课程深入浅出,相信一般本科生都可以看懂。课程链接如下:Video Lectures | Linear Algebra | Mathematics | MIT OpenCourseWare(http://t.cn/RmyqB2v)
d47e62d2b349aca45e42305ed6714efbe5ed61d93Blue1Brown的Essence of linear algebra(https://goo.gl/ZuwgNK)以非常直观的角度审视了线性代数的重要概念,直观但不失深刻,配合上高大上的动画效果,让人体会到了大道至简的感觉。一共15个视频,每段视频大约十分钟左右,花费不了多少时间就能看完。

3. 数据处理当然需要编程了,因此C/C++/Python任选一门(推荐Python,因为目前很多库和Library都是用Python封装),数据结构可以学学,让你编程更顺手更高效,但是编程不是数据处理的核心。熟练使用Matlab或者Python调用opencv库是必要条件,但是again他们只是工具,业余时间自学,多练练就没问题。有同学问用R行不行,补充一点,用什么编程语言很大部分取决于你的核心算法会调用什么已有的库函数,比如楼主的科研里面核心算法往往是MIP(混合整数规划)问题需要调用Cplex或Gurobi库函数,因此C/C++/Python/Java这些和Cplex接口良好的语言都可以拿来用,这时候R就别想了。(更新:最新Gurobi版本支持R)

原文链接

人工智能工程师直通车第一期

-
  • 1970年01月01日 08:00

TensorFlow用到的数学知识传送门

# 数学知识2017年3月14日21:29:01SoftmaxSoftmax的相关介绍。详细的WIKI公式和讲解交叉熵:是训练模型的一种指标,表示模型的好坏的指标称为(cost)或损失(loss),然...
  • qq_15807167
  • qq_15807167
  • 2017-03-14 21:29:26
  • 1518

搞深度学习需掌握的基础数学知识

转载请注明出处:乐投网-搞深度学习需掌握的基础数学知识        IT 互联网行业有个有趣现象,玩资本的人、玩产品的人、玩技术的人都能很好的在这个行业找到自己的位置并取得成功,而且可...
  • qq_36852006
  • qq_36852006
  • 2017-07-29 17:58:15
  • 1030

机器学习需要这些数学知识

机器学习系列01——机器学习需要这些数学知识 1、前言        放假在家想写写机器学习系列的文章,除夕前先来开个头,后面会一直写下去,搞机器学习算法也有一年多了,体会多少还是有一些的,这里记...
  • hyl999
  • hyl999
  • 2017-09-17 09:03:45
  • 192

机器学习所需要的数学基础知识---矩阵(1)

机器学习所需要的数学基础知识—矩阵(1) 本系列文章为机器学习所需要的数学基础知识,在机器学习文章中如需要,会给出本系列文章的链接,如有问题欢迎给我留言。数学公式使用Letex编辑,原文博客http...
  • rosetta
  • rosetta
  • 2017-06-25 13:55:32
  • 1063

机器学习数学基础学习总结(一)

什么是机器学习1.Arthur Samuel(1959),machine Learning:Field of study that gives computers the ability to lea...
  • zrj000za
  • zrj000za
  • 2017-02-12 16:33:25
  • 465

机器学习系列01——机器学习需要这些数学知识

机器学习中涉及到的数学知识
  • huangbin6
  • huangbin6
  • 2016-02-06 22:41:53
  • 4693

深度学习知识储备

一.数学: Required: 高等数学: 可汗学院公开课:微积分预备 http://open.163.com/special/Khan/precalculus.html 可汗学院公开课:微积...
  • tutan123
  • tutan123
  • 2016-12-15 15:29:00
  • 1473

机器学习中用到的数学知识

原文 http://www.cnblogs.com/dudi00/p/4056451.html 本文主要介绍学习机器学习过程中涉及到的一些微积分的基本概念,也包括部分数值分析,优化求解的概念。 ...
  • u013378306
  • u013378306
  • 2016-09-07 19:43:06
  • 5552

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

当下,人工智能成了新时代的必修课,其重要性已无需赘述,但作为一个跨学科产物,它包含的内容浩如烟海,各种复杂的模型和算法更是让人望而生畏。对于大多数的新手来说,如何入手人工智能其实都是一头雾水,比如到底...
  • itheima_Wujie
  • itheima_Wujie
  • 2017-12-10 16:23:09
  • 2977
收藏助手
不良信息举报
您举报文章:一文掌握机器学习必备数学知识(附学习资源)
举报原因:
原因补充:

(最多只允许输入30个字)