人工智能、机器学习入门教程及教材推荐

时间:2024-02-18 08:53:11

最近刚开通博客园,正好碰到我亲爱的李岢阳同学想要学习人工智能方面的知识,作为AI的初学者,一名计算机专业的蒟蒻,列举一些我了解到的AI方面的知识及我想要接下来进行的一些学习路径供大家参考。

一、数学基础

个人认为AI的入门门槛相较于其他计算机研究领域(前端,后端,产品研发等),最大的区别在于对数学有更高的要求,在编程的基础上,其底层的核心在于思想、思维(idea)以及数学。

对于数学,在大学期间最重要的课程,莫过于高等数学、线性代数、概率论与数理统计,三门大学分的课程,这三门课是机器学习的重中之重。我身边的研三学长曾对我提及他的研究生生涯,研一敲代码,研二研三自己基本不会再去敲代码,而是每天拿着笔和草稿纸,不停的去算,全部都涉及到是数学的知识,以概率论为主。如果你接触过机器学习方面的研究,学习论文、读论文将会是必不可少的事情,其本质也是在学习前者的想法、思维与数学。因此,我认为这三门课程是机器学习的基础,如果基础较为扎实,在学习机器学习的时候便会感觉到很大的轻松感与愉悦感。

在此,对于数学基础薄弱的同学,我介绍三门我跟学看过觉得特别好的中国大学mooc的课程推荐给大家:

1.高等数学(一~四)同济大学

国家精品课程

链接如下:

https://www.icourse163.org/course/TONGJI-53004

https://www.icourse163.org/course/TONGJI-217012

https://www.icourse163.org/course/TONGJI-284001

https://www.icourse163.org/course/TONGJI-1001569002

2.线性代数--同济大学

国家精品课程

https://www.icourse163.org/course/TONGJI-481001

3.概率论与数理统计--浙江大学

国家精品课程

https://www.icourse163.org/course/ZJU-232005

(其中有一位女老师声音特别好听,推荐)

另:推荐一本经典的特别好的学习教材《概率论与数理统计》陈希孺编著,中国科学技术大学出版社。

教材讲解知识浅显易懂、细节,贴近生活,经典,特别值得细细品味,可以作为提高读物。

以上推荐的每门课都可以看以前开设的课程,内容基本一致,仅是学生问答有些许差别,而且问答中往往也可以学到你学习中遇到的问题,因此观看往期的问答也是一个不错的学习方法。另外每章的课程后都有习题,做题对知识的理解与掌握会有很大的帮助。

对于我们学校教学方案,高等数学是在大一时开设,大一上对应于同济大学高等数学课程的(一)~(二),大一下对应于同济大学高等数学课程的(三)~(四)。大二上开设线性代数,大二下开设概率论与数理统计。如果你是跟着课程进度,那么在努力学习大二下的数学课程后,会具备学习机器学习的数学基础,有利于学习机器学习相关的知识。一般机器学习也是面向于高年级的本科生和低年级的研究生入门的,由此可见机器学习对数学的要求。

如果你是低年级的本科生,我觉得尽早学习后续课程会是一个不错的选择;如果你是大三但数学基础不太好的学生(譬如我,因为大三已经基本把以前学过的知识全忘了T_T),可以浏览PPT,从PPT入手复习也是一个不错的选择。当然每个人有每个人自己的学习方法,适合自己的,只要是最后能学会东西便可,此处仅是推荐。

二、机器学习

对于市面上并没有一套完整的学习机器学习的途径,都是一些较为零散的知识,此处列举一些我经过大量查阅与整理后形成的一套大致的学习路径与学习资料。

1.网易云吴恩达老师课程--深度学习工程师微专业

https://mooc.study.163.com/smartSpec/detail/1001319001.htm

公认的入门级机器学习课程,介绍了最为基础的一些知识,特别特别好,即使你没有很好的数学基础也可以学,因为当设计到一些陌生的数学知识时,其间会插入一些课程进行数学知识的讲解,用心理解,跟着老师思考,效果很好。

2.《统计学习方法(第2版)》李航著,清华大学出版社

涵盖了传统统计机器学习方法的主要内容

3.《机器学习》周志华著,清华大学出版社

业界俗称西瓜书,可以成为机器学习必看教材,特别经典。但对于数学基础薄弱的同学相当不友好,教材中省去了许多公式的推导细节,还好有好心人写了类似于西瓜书的教材公式推导--南瓜书PumpkinBook。

南瓜书是公放在GitHub上面的,链接如下:https://github.com/datawhalechina/pumpkin-book

4.《DEEP LEARNING深度学习》【美】伊恩.古德费洛等著,人民邮电出版社

业界俗称花书,特别厚,知识点很细,感觉根本看不完。

以上课程书籍建议按序学习,难度由易到难,B站上也有课程的讲解、书籍的知识点整理等,亦可辅助学习,此处不列举。

三、机器学习开发框架

主流机器学习开发语言Python毋庸置疑,没有编程基础的同学可以在中国大学mooc上搜索北京理工大学开设的一系列python课程,包含涉及到python开发的各个领域基础知识。没有编程基础的同学仅学习《python语言程序设计》即可,内容针对于入门极其详细,大约需要一个月的闲暇时间,对于计算机专业学生快则几个小时,慢则一周,重点在于掌握个别细节。语言只是基础,语言只是工具,重点在于你要用它做什么!!!

目前对于机器学习开发框架有很多,但主流仍为TensorFlow与PyTorch。其中TensorFlow较难理解,并且TensorFlow两个版本1.0和2.0有较大区别,PyTorch对新手较为友好,两者实质并驾齐驱。

此处推荐两门我看过的课程:

1.深度学习应用开发-TensorFlow实践

两个链接,一个是中国大学mooc,一个是B站,视频资源一致。比较好的一点是前期对Python基础知识有详细的讲解,对于新手与小白很友好,如果没有Python基础也可直接上手实践学习。

https://www.icourse163.org/course/ZUCC-1206146808

https://www.bilibili.com/video/BV1dE41157XM?from=search&seid=16239785472933827563

2.网易云课堂深度学习与Pytorch入门实战,新加坡国立大学研究员龙良曲主讲

https://study.163.com/course/introduction/1208894818.htm

需要注意的是,课程仅讲授了框架的使用等,其实质仍为工具,核心仍为理论,学习中应该理论结合实践,学习理论知识与编程并驾齐驱。

最后推荐一本最新发现的书籍,随便翻了几页觉得还不错,《人工智能程序员面试笔试宝典》机械工业出版社。可以不看作为一本面试宝典,吸引我的主要是其中对于知识讲解的全面与干练,2020年1月第一版,很新。

后期学习便是针对于自己所研究的领域(如自然语言处理、计算机视觉等)进行专攻的学习,阅读论文,找相关代码,爬取自己的数据,跑代码,出结果,调参,出想法等的学习过程。

以上便是我收集与整理的一条较为完整的机器学习之路,也是我自己制定的学习路线,课程教材并无固定学习顺序,可结合自己的知识嵌套结合学习,希望对各位大佬有所帮助。