目录
1 机器学习资料
2 线性代数
3 概率论与统计学
4 微积分和数值计算
图片来源:The Mathematics of Machine Learning https://towardsdatascience.com/the-mathematics-of-machine-learning-894f046c568
机器学习产生于从数据处理的学习迭代,试图从数据中发现智能。因此学习机器学习,需要有较好的数学基础,包括线性代数、概率论与统计学、微积分和数值计算。今天笔者从应用层面为大家简单解释以上数学内容在机器学习里的意义,也为大家推荐一些较好的学习资料。本文推荐的学习资料具有以下特点:介绍数学概念,清晰准确完整地解释数学概念的应用意义,一般都有通俗易懂的例子,特别适合需要复习巩固数学知识的学习者。数学在机器学习中,主要用来选择合适的算法,考虑算法准确性、训练时间、模型复杂度、参数的数量和特征数量;选择参数设置和验证策略;权衡方差与偏差,以确定欠拟合和过拟合;预估正确的置信区间和不确定性。
首先为大家推荐Super VIP Cheatsheet: Machine Learning ,这里列了机器学习的重要知识点和数学相关的内容,网址如下 Super VIP Cheatsheet:Machine Learning
再为大家推荐一篇文章,
SIGAI的学好机器学习需要哪些数学知识?
此文来源于AI学习与实践平台, 特别解释了典型算法和理论结论所用到的数学知识。
线性代数包含数量和结构,数量是指单独的数,结构是指线性代数中的向量和矩阵是数的有序排列,包含一定信息;当我们对矩阵进行运算时,我们也是在改变数的结构。向量可以表示具体事物,比如将航空公司的常旅客特征用向量表示,便于将具体事物抽象为数学对象,通过线性组合以及其他一些分析方法,可以得出一些旅客特征相关的信息。我们还可以通过矩阵运算提升大规模运算的效率。
线性代数的线性空间理论,如向量、矩阵、变换用来解决理论问题。线性空间中的任何一个对象,通过选取基和坐标的办法,都可以表达为向量的形式。思考线性变换的几何意义,如何让线性空间中的一个点运动到任意的另外一个点?当我们用向量描述对象,用矩阵描述对象的运动,我们发现可以利用矩阵与向量的乘法来实现运动。
线性代数的矩阵分析理论在实践中得到广泛应用,当我们对一个矩阵进行特征分解或者奇异值分解的时候,我们可以去除掉线性对象的冗余特征,也就是应用主成分分析法对对象降维。
请参考以下的阅读资料
《机器学习实战》附录B Peter harrington著,人民邮电版
《深度学习》第2章 Goodfellow,Bengio,Courville著,人民邮电版
Basic Linear Algebra for Deep Learning
https://towardsdatascience.com/linear-algebra-for-deep-learning-f21d7e7d7f23?gi=237ed92324bf
以下三篇文章思考了线性代数的本质和几何意义,非常有启发性,建议大家一定读一读。
线性代数的本质--对线性空间、向量和矩阵的直觉描述 - tenos - 博客园
线性代数的本质--对线性空间、向量和矩阵的直觉描述
https://www.cnblogs.com/TenosDoIt/p/3214096.html
奇异值分解(SVD) --- 线性变换几何意义
http://blog.sciencenet.cn/blog-696950-699380.html
奇异值分解(SVD) --- 几何意义
http://blog.sciencenet.cn/blog-696950-699432.html
MIT线性代数的公开课,吉尔伯特斯特朗教授18.06教学的视频讲座 1999年秋季现场录制
Video Lectures | Linear Algebra | Mathematics | MIT OpenCourseWare
再给大家推荐一本线性代数教材。
推荐原因:本教材通过应用案例解释线性代数的意义和本质,请看以下有趣的例子。
1 如何用矩阵和方程组完成管理科学中的层次分析法,完成信息检索,实现海龟的种群统计学,解决关于网络的问题;
2 如何用行列式完成信息编码;
3 如何用向量空间分析人口迁移;
4 如何用线性变换实现计算机图形和动画;
5 如何用正交性考察信息检索,完成心理学的因素分析和要素分析?如何用最小二乘法计算小行星的轨道?如何用正交性做信号处理?
6 如何用特征值定位航天飞机?考察建筑物的振动?预测汽车出租情况? 搜索网页和分级网页?如何用奇异值分解处理数字图像和做心理学的要素分析?
7 如何用数值线性代数计算层次分析法中的权重问题?
上图解释了概率论和统计学的不同作用。
机器学习用来处理不确定性问题,因为我们会遇到以下三种情况,第一,系统内在的随机性,第二,我们无法观测到驱动系统的所有变量,第三,我们的模型无法保证完全的信息。所以理解和应用概率论的随机变量、概率、条件概率以及独立性就很重要。
统计学中的描述式统计是描绘或总结观察量的基本情况的统计总称,其不能从样本数据推断总体的性能参数。
推理式统计研究如何根据样本数据推断总体数量特征的方法。对样本数据进行描述的基础上,对统计总体的未知数量特征做出以概率形式表达的推断。即是在一段有限的时间内,通过对一个随机过程的观察进行推断。
偏差和方差在机器学习的监督学习中是一个很重要的评价指标。
方差:模型之间的差异,用来衡量模型的拟合能力。
偏差:模型预测值和数据之间的差异,用来衡量模型的预测误差率。
请参考以下的阅读资料
Probabilities and Statistics refresher
https://stanford.edu/~shervine/teaching/cs-229/refresher-probabilities-statistics
《机器学习实战》附录A Peter harrington著,人民邮电版
《深度学习》第3章 Goodfellow,Bengio,Courville著,人民邮电版
Basic Statistics in Python: Probability
https://www.dataquest.io/blog/basic-statistics-in-python-probability/
Standard Deviation vs. Variance
https://www.diffen.com/difference/Standard_Deviation_vs_Variance
机器学习中,经常遇到求函数极值、找到最大化或最小化函数值的参数,求解线性方程。具体来说,微分学是用优化算法求解损失函数的最小值问题,利用了导数、梯度和梯度下降以及牛顿法。积分学用来求积分、随机变量的期望值和卷积。卷积是深度学习里非常重要的一个概念和方法。
此动图解释了梯度下降的概念
数值计算是通过迭代过程更新解的估计值解决数学问题,具体用于优化问题,也即找到最小化或最大化函数值的参数,数值计算也可以用于求解线性方程组。优化问题可用一阶优化算法、二阶优化算法以及凸优化来解决。
线性最小二乘法是应用很广的一种方法。
请参考以下的阅读资料
《深度学习》第4章 Goodfellow,Bengio,Courville著,人民邮电版
Calculus https://ml-cheatsheet.readthedocs.io/en/latest/calculus.html
DL03: Gradient Descent
https://hackernoon.com/dl03-gradient-descent-719aff91c7d6
Deep Learning Chapter 4: Numerical Computation
https://towardsdatascience.com/deep-learning-chapter-4-numerical-computation-14de09526931
Mathematics for Machine Learning : Linear Regression & Least Square Regression
https://towardsdatascience.com/mathematics-for-machine-learning-linear-regression-least-square-regression-de09cf53757c
希望大家能发现数学的应用意义,为机器学习的研究和应用打好扎实的基础。
欢迎留言,交流机器学习相关学习与应用。