虽然自己学过C,但是自己曾从事python后端开发、python算法工程师岗位、Python(机器学习)讲师,所以本篇文章主要通过python来介绍机器学习的路线。当然,前期的机器学习基础的推荐,是不会分语言的。
如果你是完完全全的纯小白,并且只会计算机这三个字。
1. 个人推荐你可以看看《计算机科学导论》(专业书籍个人推荐看纸质书,一是支持正版;二是电子书不利于观看书的全貌;三是电子书不方便做笔记),看完之后你应该明白计算机的相关知识,如计算机网络、数据结构与算法、数据库、文件存储过程、计算机语言。如果看完《计算机科学导论》你对不仅仅对人工智能感兴趣,还对计算机本身感兴趣,可以看看下面几本书。
2. 你可以看看《计算机:一部历史》,可以作为你的计算机发展史的普及读物。
3. 你可以看看《网络是怎样连接的》——计算机网络,恩,说的简单点就是看完本书,你应该能知道WiFi的实现原理。
4. 你可以看看《计算机组成原理》——恩,看完你能明白你的计算机工作的原理,如计算机的五大组成部分为控制器、运算器、存储器、输入设备、输出设备。
5. 你可以看看《数据结构与算法》——如果没有编程基础,跳过。有C/C++的基础,可以看看大学的教材《数据结构与算法-C/C++语言》;如果你有Python的基础,可以看看《数据结构与算法-Python描述》,就是总之对应语言的数据结构与算法书籍即可。
多说一嘴,可能有同学问:老师,买哪一本《计算机科学导论》。我会回答你:哪一本都行,因为书籍能出现在市面上,就有他出现的理由,你买去看就行了。没必要挑三拣四,虽然我不得不承认市面上真的有一些写的可能不太好的书(我自己看过几本),但这都是个例。
看完《计算机科学导论》,相信你对计算机应该有了一定的了解。如果你不只是想成为最强王者,这个时候你应该入手一门计算机语言了。C、C++、Java、Python、R、Go、PHP、JavaScript,很多很多,他们各有优缺点,你自己仔细甄选。但是Python毫无疑问是最简单的,又由于本人从事Python开发,我介绍下你如何快速入门Python。
1. 首先你可以看看这两位老师的博客:或,期间你可以穿插我接下来讲的书籍互补,但是你必须的看完博客第一篇——Python入门,之后再去看其他书籍,因为你需要使用Pycharm,而不是其他IDE编辑Python代码。 学Python可以看我博客:
Python从入门到放弃 - 十七岁的有德 - 博客园www.cnblogs.com2. 第一本书应该是《Python从入门到实践》,这本书很浅显,但很适合小白,看完你可以去美国开个披萨店了。后面三个项目,不推荐做。
3. 第二本书应该是《笨方法学Python3》,很适合小白查漏补缺基础知识点。
4. 第三本书应该是《Python核心编程》,厚厚的一本书,更多的是接轨未来的项目,选看部分章节。
5. 第四本书应该是《流畅的Python》,如果你看完那位老师的Python面向对象高级的时候,可以看这本书,否则慎入,他会让你质疑自己是否学过python。
6. 第五本书《编写高质量Python代码的59个有效方法》,书名就可以看出,他能教会你什么。
7. 第六本书《改善Python程序的91个建议》,这个也不多说,干就对了,否则你代码写完只有你自己才看得懂了。
本篇文章主要以Python举例,相信你现在对Python已经应用自如了,这个时候,你就需要补充算法知识,提高你的逻辑思维了。
1. 首先你可以看看《数据结构与算法——Python描述》这本书,由于是中文的,相对友好,看完你最起码得知道线性表、链表、堆、栈、哈希表、二叉树、图之间的区别,然后一些简单的算法。数据结构与算法可以看我博客:
数据结构与算法-Python/C - 十七岁的有德 - 博客园www.cnblogs.com2. 其次你可以看看《Python算法教程》,说实话,这本书翻译的可真不行,如果你不想看,那就不看吧!
3. 不得不推荐一本英文书,因为这是我的算法启蒙书《Problem Solving with Algorithms and Data Structures using Python》,国内之前是很少Python算法教材的,几乎为零,这一本讲的真的不错,亚马逊有卖。
4. 如果你有闲余时间,就别去虎牙、熊猫了,可以逛一逛题库-领扣(LeetCode),题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台
现在的你,可谓是入门编程这个世界,但是你远没有达到码农这个程度,你仅仅是步入魔法世界的石墙。其他语言我不了解,我不多说,接下来我讲讲python的几大方向,你需要确定你的人生职业了。如果你感觉你不喜欢人工智能了,也可以转岗,嘻嘻。虽然本篇题目是说人工智能,但是,其他的你听听也不错呀!
1. Python后端开发,入门较为简单,不需要较高的算法基础,未来可以学习Django、Flask、Tornado后端框架;对Mysql、PostgreSql、MOngoDB、Redis等数据库有较深的理解;简单的了解Linux你就可以出去找实习工作了,嘻嘻。不想找实习工作,一句话说不清楚,私聊我,我教你怎么做!
2. Python爬虫工程师,入门较为简单,同样不需要较高的算法基础,未来可以学习Scrapy框架;对Mysql、PostgreSql、MOngoDB、Redis等数据库有较深的理解;较Python后端开发,你就需要对Python有更深刻的理解,因为你需要写很多脚本,不扩展了,同理,有问题私聊我。
3. Python自动化运维,我并不是很熟悉,我不多说,简而言之就是Python结合Linux实现自动化,但是你可以私聊我,我知道谁懂。
4. Python数据分析师,这个可就有点档次了,门槛稍微提升,不做扩展,同理,想深入了解,私聊我。
5. Python算法工程师(机器学习/深度学习领域),这个档次就不用说了,我们会重点在下文讨论。
6. Python办公自动化、Python游戏工程师不多介绍
首先得明确告诉你一点,人工智能是一个领域,机器学习是实现人工智能的一种方式,深度学习是机器学习的一个实现方法。所以,我们只对机器学习做一个介绍,说人工智能应该就是欺你是小白。
1. 首先推荐你一本顶级入门书《人工智能基础-高中版》,这本书后面章节可以跳过,就当科学普及吧。
2. 其次推荐你看一位大师的网课,不得不推荐,吴恩达老师的视频,相信很多机器学习入门的小兄弟都看过,同理后面的章节可以选看,不要硬着头皮看,你看不懂的,你缺乏基础。
3. 期间,你可以买一本周志华老师的《机器学习-西瓜书》,但是,不是让你看他,而是让你知道你要学习哪些东西,此书不适合入门,适合未来参考。
4. 这个时候,你需要干嘛?你需要补数学了,《程序员的数学 ①》、《程序员的数学 ②》、《程序员的数学 ③》看完再看下面的部分吧,否则下面的书籍于你而言就是天书,同理看不懂的跳过。
5. 看完上面三本数学,还不够哦!再来三本《简明微积分》、《简明线性代数》、《概率论极其应用》,同理看不懂的跳过。
6. 通过上面六本书的熏陶,最起码你知道数学的各种符号表示什么意思了,如
7. 数学看完,你得先入门传统机器学习,你可以先看看《图解机器学习》、《白话大数据与机器学习》,对传统的机器学习有一个了解,知道线性回归、逻辑回归、支持向量机是啥,这就够了。
8. 如果你知道机器学习算法是啥,李航老师的《统计学习方法》值得一看,你需要对算法内部的推导以及实现有一个清晰的认知,期间可以参考《机器学习-西瓜书》,同时可以参考我的博客:
统计机器学习 - 十七岁的有德 - 博客园www.cnblogs.com9. 万事俱备,只欠东风,这个时候你需要通过代码实现大型项目了,《Python机器学习》是一本不错的书,把scikit-learn的用法都介绍了个遍,期间你可以补充numpy+pandas+matplotlib库的使用,官方文档等着你。本书后面的tensorflow1已经被淘汰了,可以等待市面上tensorflow2的更新,也可以参考博客 10. 终于对机器学习有一个全面的理解了,这个时候你可以尝试入门深度学习了,你可以先尝试了解《机器学习-西瓜书》中的神经网络章节以及吴恩达老师的神经网络的视频。 11. 对神经网络有一定的认识之后,你可以看看《图解深度学习》,很好的一本入门书,同理,看不懂的跳过,虽然这本书讲的知识点少,但有一定的深度。 12. 终于走到了这一本终极书《深度学习-花书》,这本书中的所有数学必会,而且你应该都会了。多说一嘴,这本书你应该要仔细钻研了,其他的我不多说,800多页,多看几遍,你不看我也无能为力呀。 13. 然后,你就出师了,自己想干啥就干啥,可以尝试去了解强化学习,目前还是挺流行的。 最后,多说一嘴,上述所有书籍,看不懂的跳过,看不懂要么因为你基础不行,要么因为你还没到那个境界,不是你傻。朝着这两个方向努力看看是自己哪个地方出了问题,基础不够暂时停一停补基础,境界不够跳过不要看。 读书使人得到一种优雅和风味,这就是读书的整个目的,而只有抱着这种目的的读书才可以叫做艺术。一人读书的目的并不是要“改进心智”,因为当他开始想要改进心智的时候,一切读书的乐趣便丧失净尽了。 推荐书单和机器学习网课:推荐书单