最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
学习人工智能需要先掌握编程、数学方面的基本知识:AI算法工程师首先是一名程序员,掌握编程实现方法才不将容易论知识束之高阁。而数学是人工智能理论的奠基,是必不可少的。
2.2.1 编程语言方面
编程语言之于程序员,如宝剑之于侠士。编程语言就是程序员改变、创造数字虚拟世界的交互工具。
先简单介绍信息技术(IT)行业的情况,IT领域广泛按职能可以分为前端、后端、人工智能、嵌入式开发、游戏开发、运维、测试、网络安全等方面。前端领域常用技术栈为js\css\html,后端领域常用技术栈有Java\go\C++\php\Python等。
在人工智能领域,Python使用是比较广泛的,当然其他的语言也是可行的,如Java、C++、R语言等。语言也就工具,选择个适合的就好。结合自己的历程及语言的特性,AI小白还是建议可以从Python学起,理由如下:
1、因为其简单的语法及灵活的使用方法,Python很适合零基础入门;
2、Python有丰富的机器学习库,极大方便机器学习的开发;
3、Python在机器学习领域有较高的使用率,意味着社区庞大,应用范围广,市场上有较多的工作机会(具体可到招聘软件了解下);
- 学习编程语言的两点建议:
1、**多敲代码:**只看书、视频而不敲代码是初学者的一个通病。要记住的是“纸上得来终觉浅”,程序员是一个工匠活,需要动手敲代码实践,熟能生巧。
2、** 多谷歌:** 互联网的信息无所不包的,学会利用互联网自己解决问题是一项基本功。不懂可以谷歌,业界一句有趣的话:程序员是面向谷歌/stackoverflow编程的。
- 建议资源:
以下资源只是一些个人的偏好推荐,挑一两种适合自己的资源学习就可以,不用全部都学浪费精力。如果都觉得不合适,按照自己的学习方式即可。
1、【Python入门书】首推Python经典书**《Python编程从入门到实践.pdf(https://github.com/aialgorithm/AiPy/》**,知识点通俗易懂,而且结合了项目实践,很适合初学者。注:Python在爬虫、web开发、游戏开发等方向也有应用,推荐本书主要学习下Python语法,而书后面的项目实战像有游戏开发\web开发,和机器学习关系不大,可以略过\自行了解下就好。
2、【Python入门教程】廖雪峰的Python在线学习教程,一个很大的特色是可以直接在线运行Python代码。
3、【Python入门视频】如果看书过于枯燥,可以结合视频学习,Python入门学习报培训班学习有点浪费,可以直接网易云课堂、Bilibili搜索相关的Python学习视频。我之前是看**小甲鱼**零基础入门学习Python课程,边看边敲敲代码,觉得还不错。
4、【Python机器学习库】学习完Python语法,再学习了解下Python上现成的机器学习库(模块包),了解基本功能学会调用它们(熟练掌握它们,主要还是要结合后面项目边学边实践才比较有效的。),一个初级的算法工程师(调包侠)基本就练成了。
重要的机器学习库有: pandas 数据分析、numpy 数值计算库、matplotlib可视化工具,推荐**《利用pandas数据分析》**有涵盖了这几部分内容。
scikit-learn 包含机器学习建模工具及算法,可以了解下官方文档https://scikit-learn.org.cn。
用于搭建深度学习的神经网络模型的库有:keras、tensorflow、Pytorch等,其中keras更为简单易用,可以参考Keras官方文档https://keras.io/zh,以及Keras之父写的**《Python深度学习》**
5、【Python进阶书】《Python Cookbook》、《流畅的Python》 这两本内容难度有提升,适合Python语法的进阶。
2.2.2 数学方面
1、数学无疑是重要的,有良好的数学基础对于算法原理的理解及进阶至关重要。但这一点对于入门的初学者反而影响没那么大,对于初学者如果数学基础比较差,有个思路是先补点“数学的最小必要知识”:如线性代数的矩阵运算;高等数学的梯度求导;概率的条件、后验概率及贝叶斯定理等等。这样可以应付大部分算法的理解。
2、如果觉得数学有难度,数学公式、知识的理解建议不用硬啃,不懂时再反查,遇到再回来补效果会好很多。(如果你的数学没有问题,忽略这些,直接复习大学教材补下基础)
- 建议资源
【数学基础知识】推荐黄博翻译整理的机器学习相关的数学基础知识,内容简要,还是挺不错的。
2.2.3 工具准备
对于程序员,好的工具就是生产力!
1、 搜索引擎:学习开发的过程,很经常搜索问题、解决bug。搜索引擎的内容质量 首推谷歌,其次bing,再者才是百度、知乎等。谷歌如果使用不了,试试谷歌助手、科学翻墙、谷歌镜像网站,网上有教程自行了解。
2、翻译:AI领域最新的研究成果、论文基本都是英文的,而如果英文阅读比较一般,可以备个有道词典、wps文档翻译。
3、Python编辑器(Python环境):首推JupyterLab,JupyterLab很方便数据分析操作,可以单元格中逐步运行代码验证结果。建议直接下载安装个anaconda,里面都有。
2.3 机器学习\深度学习入门
深度学习是机器学习的子分支,整体的内容是比较一致的,与传统机器学习有些差异的地方(如特征生成、模型定义方面), 因此两者可以分开学习。都学习的话,建议可以先学机器学习再学深度学习。
机器学习\深度学习的内容可以分为两部分,一部分是算法原理的理解,如神经网络模型正向反向传播原理、SVM原理、GBDT原理等等,这部分内容的理解相对较难,学习周期较长。另一部分是算法工程实现的知识,如现实问题的理解、如何清洗数据、生成特征、选择模型及评估,具体可以看我之前的文章**《一文全览机器学习建模流程(Python代码)》与《一文搞定深度学习全流程》**,这部分是比较通用的一套操作流程,学习周期比较短且容易看到实际成果。
对于初学者的建议,可以“先知其然,再知其所以然”,跟着课程\书学习,明白大致的算法原理及工程上是如何做的。再用简单的算法整个流程走一遍,结合实践过程中不断的比较和尝试各种算法,更容易搞透算法原理,而且这样可以避免云里雾里地学习各种算法原理。
以下相关资源推荐,同样找一两种合适的资源学习即可。
- 建议资源
1、【机器学习视频】《吴恩达的机器学习课程》github.com/aialgorithm/AiPy/,很经典的入门课程,附笔记解析及代码。
2、【机器学习书】**《machine learning yearning_吴恩达》**是吴恩达历时两年,根据自己多年实践经验整理出来的一本机器学习、深度学习实践经验宝典。
3、【机器学习书】《统计学习方法》 李航老师经典的机器学习书,书中的算法原理讲解还是比较细的。链接的资源有附上书中算法的代码实现、课件及第一版的书。(现在已经有第二版的书,可以买一本慢慢看)
4、【机器学习书】《机器学习(西瓜书)_周志华》 机器学习经典教材,难度适合进阶,里面的一些概念公式还是要有一定基础的,不太适合入门自学。(可搭配datawhale的南瓜书本理解难点公式)
5、【深度学习视频】**《吴恩达的深度学习课程》github.com/aialgorithm/AiPy/**应该是国内大多数人的入门课程,附笔记解析及代码。
6、【深度学习书】《深度学习(花书)》 AI大佬Ian Goodfellow的深度学习领域经典著作,知识点很系统全面,但还是需要一定基础才好看懂,初学者可以结合视频、花书笔记辅助理解。
7、【深度学习书】**《python深度学习》**keras之父的经典著作,通俗易懂适合入门。
8、【深度学习书】《深度学习实战》 这本书的结果和《花书》有些相似之处,原理讲解比较通俗,还有详细的代码实践。不足的地方是代码是用Python2写的有些过时。
9、【深度学习书】《动手学深度学习》 李沐大佬合著的深度学习入门教程及代码实践。
10、【深度学习论文】深度学习综述 :2015年Nature上的论文,由深度学习界的三巨头所写,读这一篇论文就可以概览深度学习了。这篇论文有同名的**中文翻译**。
注:要全面了解一个技术领域,找找这个领域的综述论文是一个超实用的技巧。
11、【实战项目】 推荐实战下国外的**Kaggle**、国内天池等竞赛项目。从头到尾地参加一两个机器学习项目,并取得不错的分数,基本上就差不多了。安利个Datawhale小队整理的国内外经典竞赛的项目方案及代码实现 https://github.com/datawhalechina/competition-baseline
2.4 工作面试准备
[图片上传失败…(image-b06dac-1646050318087)]
对于大部分入门的初学者,要真正算入门人工智能领域,找一份相关的工作是必不可少的,当你有(哪怕一点点)相关的工作经验后,这个领域工作面试就比较好混得开了。
很多初学者可能有个困惑,学习到什么样程度、多久才能找到相关的工作机会呢?这个不好回答,和学习准备的程度、市场招聘情况、运气等有关,只能说觉得学得差不多了就可以找面试机会试下水(以个人学习为例,学习了Python+吴恩达机器学习\深度学习视频+几个书本\数据竞赛项目+刷面试题,前前后后差不多用了半年。)
准备面试找工作,首先要了解下市场情况及招聘要求,通常无非要求有相关的论文著作、工作经历、项目经验、对算法的理解。撇开第一、二项的论文、工作经历不谈。对于初学者,面试的主要比重是项目经验及算法的理解。
项目经验就结合项目实战的做法和理解(这些最好有博客记录)。而算法原理除了平时的积累,刷下面试题是很关键的,毕竟面试内容与实际工作内容很多时候像是“造火箭与拧螺丝的关系”。
- 推荐些经典的面试题库
1、 基础数据结构与算法,LeetCode算法题库:https://github.com/apachecn/Interview/tree/master/docs/Algorithm;
2、Python基础算法实现: https://github.com/TheAlgorithms/Python;
3、Python面试题 https://github.com/taizilongxu/interview_python
4、Datawhale小队整理的面试宝典,内容包括基础算法数据结构、机器学习,CV,NLP,推荐,开发等。https://github.com/datawhalechina/daily-interview
5、机器学习面试题,这仓库后面就没有更新了,有些内容可能有点过时https://github.com/DarLiner/Algorithm_Interview_Notes-Chinese
6、面试技巧:推荐阅读**程序员面试完全指南**
总结
学习到这里,可以说是踏入AI领域的门了。俗话说“师傅领进门,修行在个人”,本文仅能帮助有兴趣的同学简单入门这个领域,而要在这领域成为专家是很困难的,是需要长期的努力积累的。再者,IT行业技术更新迭代快,保持学习才是王道。最后,希望这篇文章可以帮助到大家,共同学习进步。
码字不易,如觉得本文有帮助,您的关注点赞是最大的支持!
如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!