机器学习该怎样入门

简单来说,入门就是数学基础+编程,也可以学一些简单的算法,看一些数据分析课程来提高数据处理能力等等。一些高难的算法可以等到入门后摸索着去学习和理解,当然上来不建议直接读算法书,对于没有基础的小白来说简直就如天书一般。首先,我认为最重要的就是学好数学,打好数学的基本功,这样看机器学习里面那样复杂的公式才不会觉得头疼,学起来才不会觉得吃力。本科阶段是数学的我可以给大家来推荐一些我觉得有必要去学习的数学知识:

总的来说,可以归纳为以下几方面的内容:

1、微积分

讲解之前先给大家介绍一下机器学习的概念,机器学习也被称为统计学习,是关于计算机基于数据构建概率统计模型并运用模型对于数据进行预测与分析的一门学科(到这里可以看出概率统计的学习很重要了,在第三部分我会详细讲到)。

这个概念里面的构建模型,参加过数学建模比赛的伙伴们的应该会有所了解,模型的构建大多是依赖于函数体系。微积分可以说是专门研究函数的一门学科,比如说一元函数里面的极限,导数,泰勒公式,级数,多元函数里面的二重积分,三重积分,曲线曲面积分等等,读到这里很多考研的小伙伴会发现这不就是我每天做的高等数学题吗?没错,微积分可以说是高等数学的一个非常重要的分支,机器学习里面所用到的数学知识基本上就是考研数学一二三的内容和难度了。但是考研数学书更像是为考研考研而准备的一种应试类型的书,想学习更多理论知识的话我给大家推荐华东师范大学数学系编写的《数学分析》,里面对于知识点的讲解很全面很透彻。这也是很多高校数学专业所用的书籍,下面上图:

2、线性代数

线性代数这一部分对于考研的朋友们来说就更不陌生了,高数线代不分家,那么在机器学习中,机器学习算法的输入输出结果往往是由向量和矩阵的形式构成,下图可以详细地看到:

因此线性代数学的不好的话可能连结果都看不懂。最起码要了解最基础的概念,线性代数在概率论中也有应用,比如协方差矩阵,在图论中和应用有图的邻接矩阵等等,这两部分在下文中也会讲到,可以说数学这一部分的学习联系十分紧密。

我认为在线性代数中需要掌握的知识有:向量的范数,矩阵的范数,QR分解,奇异值分解,Cholesky分解等等(感觉后三个方面的内容可以在《数值分析》一书中可以学得更透彻,我推荐大家看由黄明游、冯果忱编写的数值分析的书籍。)

3、概率论与数理统计

这门课程可以说在机器学习的领域是至关重要的,机器学习的概念当中都重点强调了“构建概率统计模型”,我来给大家捋一捋有关概率统计方面的知识点(大部分理工科背景的朋友应该都学过这些,这里主要给偏文科背景的朋友准备):

概率论部分

随机事件的概念、随机变量(包括离散型和连续性的)

条件概率的计算(可以引申出全概率公式与贝叶斯公式的推导)

概率密度函数,分布函数(这里要重点了解几个分布:离散型的有二项分布,泊松分布。连续型的有正态分布、指数分布、均匀分布)

还要会一些多维密度函数的求解方法,了解独立性的性质

会计算数学期望,方差,相关系数

了解大数定律(如辛钦大数定律、伯努利大数定律、马尔可夫大数定律)和中心极限定理

数理统计部分

了解统计量的概念(不含未知参数的关于样本的函数)

抽样分布定理,三大抽样分布的特点和性质:卡方分布,t分布,F分布

参数估计的方法:矩估计,极大似然估计,一致最小方差无偏估计(UMVUE),区间估计

假设检验的方法:t分布检验,F分布检验,正态分布检验

方差分析的方法,线性回归与非线性回归

掌握上面表格里面的内容就差不多了,在研究机器学习算法的问题时,一般来讲将输入看成一个随机变量,中间部分的算法构造一个概率模型,这里用概率论的好处是可以进行不确定性建模,可以得到一个估计量,然后多次执行该算法,不断减小误差,直到某两次的结果接近为止。最后的输出结果也是一个随机变量的形式,我们可以通过下图来了解这种模式:

4、最优化方法

几乎所有的机器学习算法最终都归结为求解最优化问题,从而最后求出最优结果。

首先来看一下学习最优化方法的知识结构:

这里面比较基础的算法有梯度下降法,最速下降法,牛顿法,拟牛顿法拉格朗日数乘法以及KKT条件,想详细了解这些算法的朋友我推荐孙文瑜等人编写的《最优化方法》,这本书里面有介绍最优化算法的最基本的迭代格式,然后在这个迭代格式的基础上衍生出了很多开头提到的方法。

5、图论

图论大多数是计算机专业的同学会学到,但是本科阶段为计算数学的我也在大三下学期的时候学过数据结构与算法的课程,掌握数据结构中的图论算法就足够了,下面还是给大家列一个表格介绍一下:

图的基本概念

有向图,无向图,连通图,强连通图,生成树,生成森林,路径

图的存储以及基本操作

邻接矩阵法,邻接表法,十字链表(有向图),邻接多重表(无向图)

图的遍历

广度优先搜索遍历(BFS),广度优先生成树,深度优先搜索遍历(DFS),深度优先生成树,森林。

图的应用

最小生成树两种算法:Prim算法,Kruskal算法,Dijkstra算法求单源最短路径,Floyd求各顶点之间最短路径,拓扑排序,关键路径。

图论可以模拟成神经网络模型,神经网络算法在机器学习,甚至在深度学习中都是一个很重要的算法,它的主要原理是模仿人脑神经元的工作方式来处理信息。

机器学习入门编程语言:Python

对于入门的小白来说,学习Python我推荐这本书:

这三本书号称Python学习的“三剑客”,入门到实践这本书首先详细讲解了Python的搭建环境,对于小白来说很容易上手,只看书上的安装方法就够了,不用再去网上找那些五花八门的安装包了,介绍了最基本的变量类型,字符类型,数组,if条件语句,for循环语句,基本的函数等等,和我在本科学习C语言时的流程很相似。

第二本书介绍了一些实战项目,可以在这本书里面体会Python编程的思想,机器学习算法的步骤其实就是用编程语言来进行“翻译”,在学习这些项目时可以多体会每个项目步骤之间函数语句的衔接。

第三本书更多介绍的是Python在办公方面的内容,虽然也涉及到了一些数据处理但是有些偏商业化,对于学习机器学习来说,掌握前两本书的内容就可以了,第三本书更多是在为求职的朋友做准备的,关于数据处理方面大家可以去看一看相关的数据分析课程。

贪心科技数据分析课程-培养数据处理能力

机器学习很重要的一步处理数据,在用机器学习算法解决实际问题时,数据量是非常大的,比如我们日常生活中的淘宝,京东,微信活跃用户都达到了几亿这些电商平台运营的背后也离不开机器学习、人工智能算法的支持,因此数据处理能力在机器学习算法的学习中是很重要的,数据处理的内容一般包括数据清洗,冗余剔除等等。

这里我给大家推荐一门数据处理的课程-贪心科技的数据分析课程,里面有一个章节详细讲述了数据处理的方法,并且还举了一个例子来详细说明数据处理的过程,老师讲课的风格幽默风趣,语言也通俗易懂,对于小白来说很容易上手。而且用的编程语言是Python,更加符合机器学习所要掌握的编程语言,下面给大家看一个有关数据清洗课程的例子:

这里先把无效的数据剔除,然后把剩下的数据进行整理,也就是数据清洗的过程,可以看到老师在数据清洗这一部分有详细的代码讲解,对于入门的小白来说按照老师的思路都会理解。

机器学习入门算法推荐

掌握好了上文提到的内容之后,这里给大家推荐一些机器学习入门级的算法,也是让大家对机器学习的基本算法提前有一个了解,机器学习算法分为两大块,监督学习和无监督学习。

监督学习

是指从标注数据中学习预测模型的机器学习问题,本质是学习输入到输出的映射统计规律。

常见的入门级算法有:

感知机模型:对于输入实例的特征向量进行分类的线性分类模型

K邻近法:简单的分类与回归方法,三要素为距离度量,k值的选择和分类决策规则。

朴素贝叶斯算法:典型的生成学习算法,由训练数据学习联合概率分布 ,然后求得后验概率分布 。

决策树模型:表示基于特征对实例进行分类的树形结构,也可以看作是定义在特征空间划分上的类的条件概率分布。

无监督学习:

是指从无标记的数据中学习数据的统计规律或者说内在结构的机器学习,无监督学习可以用作数据分析或者监督学习的前处理。

聚类:针对给定的样本,依据他们的属性相似度或者距离,将其归纳到若干个“类”或“族”的数据分析问题。

主成分分析:利用正交变换把由线性相关变量表示的观测数据转化为少数几个由线性无关变量表示的数据。

潜在语义分析:主要用于文本的话题分析,其特点是通过矩阵分解发现文本与单词之间的基于话题的语义关系。

全文总结

前文一共说了机器学习入门的几个要点,我认为从重要性大到小的顺序排列的话,应该是:数学基础,Python编程基础,掌握一定的数据处理能力,等这三项都掌握得差不多了之后,可以看一下我在上一段提出的一些机器学习入门算法,这些算法在机器学习领域是比较常用的,之后进阶的高难算法也是在这些入门算法的基础之上延伸的,写入门算法这一块的目的就是大家也有所了解机器学习都在主要研究哪些算法,在入门阶段一定要先把前三项的基本功打好,再去看算法,这样学习起来不吃力,并且效率会很高。

(0)

相关推荐

  • 数学建模及其算法概述

    一.数学模型的分类 1. 按模型的数学方法分: 几何模型.图论模型.微分方程模型.概率模型.最优控制模型.规划论模型.马氏链模型等. 2. 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型, ...

  • 机器学习入门:4大基础数学技能一览

    https://m.toutiao.com/is/Jo6h3oG/ 机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识.简单来说,机器学习涉及面很广,数学知识和算法都 ...

  • NOI大纲文字收藏版

    查看完整NOI大纲正式发布通知 NOI大纲正式发布 上期我们推送了全国青少年信息学奥林匹克系列竞赛(NOI)大纲正式发布的通知,乖小助将会把大纲入门级.提高级和NOI级全部整理出来,方便大家查阅与收藏 ...

  • ​数学是所有科学的女王,如果你打算放弃数学,请先看看这篇文章

    对大多数人来说,数学以算术开始,以代数或微积分结束,但数学的范围比你想象的要大得多. 雪花的六重对称性是水分子对称性的直接结果,可以通过现代代数来研究. 对许多人来说,数学无非就是算术.几何.代数和微 ...

  • 【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

    今天是新专栏<AI白身境>的第九篇,所谓白身,就是什么都不会,还没有进入角色. 咱们这个系列接近尾声了,今天来讲一个非常重要的话题,也是很多的小伙伴们关心的问题.要从事AI行业,吃这碗饭, ...

  • 想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

    程序员书屋2021-01-13 16:00:03 自2012年以来,随着深度学习与强化学习的兴起,机器学习与人工智能成为科技领域热门的话题.越来越多的在校生与在职人员开始学习这些知识.然而,机器学习( ...

  • 【悦读时间】一本书入门机器学习的数学

    在机器学习领域,经常会听到一句调侃的话语,叫"机器学习,从入门到入土",对于大多数人来说,机器学习的认知程度和其学习难度是成正比的,但人类想要学会机器学习可比机器学会学习要难得多, ...

  • 机器学习入门指南(2021版)

    大家好,我是老胡. 这是为朋友社群准备的一篇机器学习入门指南,分享了我机器学习之路看过的一些书.教程.视频,还有学习经验和建议,希望能对大家的学习有所帮助. pdf版思维导图,后台回复:指南 Pyth ...

  • 21句话入门机器学习

    这是一篇关于机器学习工具包Scikit-learn的入门级读物.对于程序员来说,机器学习的重要性毋庸赘言.也许你还没有开始,也许曾经失败过,都没有关系,你将在这里找到或者重拾自信.只要粗通Python ...

  • Python机器学习库有哪些?Python入门!

    很多人之所以喜欢python,不仅仅因为简单易学.容易入门,更多是因为python有强大的第三方库,那么在机器学习中,python有哪些库可以使用呢? 1.Scikit-learn:最流行的ML库之一 ...

  • 从零开始入门机器学习算法(附图)

    本篇内容主要是面向机器学习初学者,介绍常见的机器学习算法,当然,欢迎同行交流. 哲学要回答的基本问题是从哪里来.我是谁.到哪里去,寻找答案的过程或许可以借鉴机器学习的套路:组织数据->挖掘知识- ...

  • 机器学习入门

    首先我想说的是,欢迎批评.从纷杂的想法中总结出一点东西,是一个及其困难也非常有意思的工作,不可避免会犯错误.发现错误并且改正,同样是一个非常有意思的过程.我觉得不确定的用紫色标记. 机器学习,mach ...

  • 机器学习入门2

    写在前面的话,我希望能够一起学习,但是事情总是计划赶不上变化,两个德国人退出了.孟萌在南德实习,李媛和张鲁津还有别的Project要忙,大家都很忙.我这一学期就两门课,所以我有足够的时间.幸好这门课还 ...

  • 机器学习入门3

    在开始讲核函数之前,我想说一个有趣的故事.最近我在粉天行九歌,里面三姬分金的故事,让我发自内心的迷上了韩非.将军姬无夜贪婪好色,觊觎王权.他的三个美姬分钱,公子韩非制定了一套博弈规则,用策略颠覆了常识 ...

  • 良心推荐:机器学习入门资料汇总及学习建议(2018版)

    本文转载自:机器学习初学者 作者           :黄海广 机器学习初学者公众号自从2018年10月开设以来,发表了不少机器学习入门的宝贵资料,受到广大机器学习爱好者的好评,本文对2018年本站发 ...