[转]论数学在机器学习中的作用

机器学习和计算机视觉都是很多种数学的交汇场。看着不同的理论体系的交汇,对于一个researcher来说,往往是非常exciting的enjoyable的事情。不过,这也代表着要充分了解这个领域并且取得有意义的进展是很艰苦的。

  1. Linear Algebra (线性代数) 和 Statistics (统计学) 是最重要和不可缺少的。

    这代表了Machine Learning中最主流的两大类方法的基础。一种是以研究函数和变换为重点的代数方法,比如Dimension
    reduction,feature extraction,Kernel等,一种是以研究统计模型和样本分布为重点的统计方法,比如Graphical
    model, Information theoretical
    models等。它们侧重虽有不同,但是常常是共同使用的,对于代数方法,往往需要统计上的解释,对于统计模型,其具体计算则需要代数的帮助。以代数和统计为出发点,继续往深处走,我们会发现需要更多的数学。


  2. Calculus (微积分),只是数学分析体系的基础。

    其基础性作用不言而喻。Learning研究的大部分问题是在连续的度量空间进行的,无论代数还是统计,在研究优化问题的时候,对一个映射的微分或者梯度的分析总是不可避免。而在统计学中,Marginalization和积分更是密不可分——不过,以解析形式把积分导出来的情况则不多见。


  3. Partial Differential Equation (偏微分方程),这主要用于描述动态过程,或者仿动态过程。

    这个学科在Vision中用得比Learning多,主要用于描述连续场的运动或者扩散过程。比如Level set, Optical
    flow都是这方面的典型例子。


  4. Functional Analysis (泛函分析),通俗地,可以理解为微积分从有限维空间到无限维空间的拓展——当然了,它实际上远不止于此。

    在这个地方,函数以及其所作用的对象之间存在的对偶关系扮演了非常重要的角色。Learning发展至今,也在向无限维延伸——从研究有限维向量的问题到以无限维的函数为研究对象。Kernel
    Learning 和Gaussian Process
    是其中典型的例子——其中的核心概念都是Kernel。很多做Learning的人把Kernel简单理解为Kernel
    trick的运用,这就把kernel的意义严重弱化了。在泛函里面,Kernel (Inner
    Product)是建立整个博大的代数体系的根本,从metric, transform到spectrum都根源于此。


  5. Measure Theory (测度理论),这是和实分析关系非常密切的学科。但是测度理论并不限于此。

    从某种意义上说,Real Analysis可以从Lebesgue
    Measure(勒贝格测度)推演,不过其实还有很多别的测度体系——概率本身就是一种测度。测度理论对于Learning的意义是根本的,现代统计学整个就是建立在测度理论的基础之上——虽然初级的概率论教科书一般不这样引入。在看一些统计方面的文章的时候,你可能会发现,它们会把统计的公式改用测度来表达,这样做有两个好处:所有的推导和结论不用分别给连续分布和离散分布各自写一遍了,这两种东西都可以用同一的测度形式表达:连续分布的积分基于Lebesgue测度,离散分布的求和基于计数测度,而且还能推广到那种既不连续又不离散的分布中去(这种东西不是数学家的游戏,而是已经在实用的东西,在Dirchlet
    Process或者Pitman-Yor
    Process里面会经常看到)。而且,即使是连续积分,如果不是在欧氏空间进行,而是在更一般的拓扑空间(比如微分流形或者变换群),那么传统的黎曼积分(就是大学一年级在微积分课学的那种)就不work了,你可能需要它们的一些推广,比如Haar
    Measure或者Lebesgue-Stieltjes积分。


  6. Topology(拓扑学),这是学术中很基础的学科。

    它一般不直接提供方法,但是它的很多概念和定理是其它数学分支的基石。看很多别的数学的时候,你会经常接触这样一些概念:Open set / Closed
    set,set basis,Hausdauf, continuous function,metric space, Cauchy sequence,
    neighborhood, compactness,
    connectivity。很多这些也许在大学一年级就学习过一些,当时是基于极限的概念获得的。如果,看过拓扑学之后,对这些概念的认识会有根本性的拓展。比如,连续函数,当时是由epison法定义的,就是无论取多小的正数epsilon,都存在xxx,使得xxx。这是需要一种metric去度量距离的,在general
    topology里面,对于连续函数的定义连坐标和距离都不需要——如果一个映射使得开集的原像是开集,它就是连续的——至于开集是基于集合论定义的,不是通常的开区间的意思。这只是最简单的例子。当然,我们研究learning也许不需要深究这些数学概念背后的公理体系,但是,打破原来定义的概念的局限在很多问题上是必须的——尤其是当你研究的东西它不是在欧氏空间里面的时候——正交矩阵,变换群,流形,概率分布的空间,都属于此。


  7. Differential Manifold (微分流形),通俗地说它研究的是平滑的曲面。

    一个直接的印象是它是不是可以用来fitting一个surface什么的——当然这算是一种应用,但是这是非常初步的。本质上说,微分流形研究的是平滑的拓扑结构。一个空间构成微分流形的基本要素是局部平滑:从拓扑学来理解,就是它的任意局部都同胚于欧氏空间,从解析的角度来看,就是相容的局部坐标系统。当然,在全局上,它不要求和欧氏空间同胚。它除了可以用于刻画集合上的平滑曲面外,更重要的意义在于,它可以用于研究很多重要的集合。一个n-维线性空间的全部k-维子空间(k


  8. Lie Group Theory
    (李群论),一般意义的群论在Learning中被运用的不是很多,群论在Learning中用得较多的是它的一个重要方向Lie group。

    定义在平滑流形上的群,并且其群运算是平滑的话,那么这就叫李群。因为Learning和编码不同,更多关注的是连续空间,因为Lie
    group在各种群中对于Learning特别重要。各种子空间,线性变换,非奇异矩阵都基于通常意义的矩阵乘法构成李群。在李群中的映射,变换,度量,划分等等都对于Learning中代数方法的研究有重要指导意义。


  9. Graph Theory(图论),图,由于它在表述各种关系的强大能力以及优雅的理论,高效的算法,越来越受到Learning领域的欢迎。

    经典图论,在Learning中的一个最重要应用就是graphical
    models了,它被成功运用于分析统计网络的结构和规划统计推断的流程。Graphical
    model所取得的成功,图论可谓功不可没。在Vision里面,maxflow
    (graphcut)算法在图像分割,Stereo还有各种能量优化中也广受应用。另外一个重要的图论分支就是Algebraic graph theory
    (代数图论),主要运用于图的谱分析,著名的应用包括Normalized Cut和Spectral
    Clustering。近年来在semi-supervised learning中受到特别关注。

时间: 2024-10-22 03:36:57

[转]论数学在机器学习中的作用的相关文章

MIT一牛人对数学在机器学习中的作用给的评述

感觉数学似乎总是不够的.这些日子为了解决research中的一些问题,又在图书馆捧起了数学的教科书. 从大学到现在,课堂上学的和自学的数学其实不算少了,可是在研究的过程中总是发现需要补充新的数学知识.Learning和Vision都是很多种数学的交汇场.看着不同的理论体系的交汇,对于一个researcher来说,往往是非常exciting的enjoyable的事情.不过,这也代表着要充分了解这个领域并且取得有意义的进展是很艰苦的. 记得在两年前的一次blog里面,提到过和learning有关的数

机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA) 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多的机器学习的建议,里面涉及到很多的算法的意义.学习方法等等.一宁上次给我提到,如果学习分类算法,最好从线性的入手,线性分类器最简单的就是

机器学习中的重点数学知识

深度学习中的数学 1.数学是基石,编程为工具 2.深度学习基本全是优化问题(数学) 微积分知识重点: ① 导数:导数法则.常见的函数的导数. ② 多元函数的导数:求梯度(偏导数).二阶导数和hess矩阵 l 为什么需要使用矩阵表达多元函数? 方便计算.简洁 l 二次型求梯度 特别简单(需要了解:张矩阵). 泰勒级数和极值: l 实际中我们想求一个函数的极值点: 令f'(x) = 0,哇,太难了............怎么办?(泰勒展开) 一阶函数函数的导数是一个数,可以确定函数的极值点.但是二阶

(转)机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在verycd可下载,可惜没有翻译.不过还是可以看.另外一个是prml-pattern recogni

机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用

机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的.在上篇文章中便是基于特征值分解的一种解释.特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计

机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

机器学习中的数学(1)-回归(regression).梯度下降(gradient descent) 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在

机器学习中的数学(2)-线性回归,偏差、方差权衡

机器学习中的数学(2)-线性回归,偏差.方差权衡 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任.如果有问题,请联系作者 [email protected] 前言: 距离上次发文章,也快有半个月的时间了,这半个月的时间里又在学习机器学习的道路上摸索着前进,积累了一点心得,以后会慢慢的写写这些心得.写文章是促进自己对知识认识的一个好方法,看书的时候往往不是非

机器学习中的数学-回归(regression)、梯度下降(gradient descent)<1>

机器学习中的数学(1)-回归(regression).梯度下降(gradient descent) 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在

机器学习中正则化项L1和L2的直观理解

正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作?1-norm和?2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数. L1正则化和L2正则化可以看做是损失函数的惩罚项.对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归).下图是Python中Lasso回归的损失函数,式中加号后面一项α||w||1即为L1正则化项. 下图是Python中Ri