首先这里需要区分一下学习人工智能的最终目的,基本上是两个方向,学术或者工作,而学术肯定就需要读博,然后留校当老师进行科研,工作呢,还分这几种情况,本科毕业就工作的,读研再工作,读博后出来工作,不过读博后再工作的,有的公司会有专门的人工智能研究院,主要也是偏学术方向,以发论文为主。
而这里说的工作,就是偏应用为主,将算法落地,那么就需要有不错的工程能力,也就是编程能力了;
学术方向,自然需要有好的算法理论基础,而对于人工智能,就需要有扎实的数学基础,然后才能很好的进行科研,发论文。
因此,本科开始就希望将人工智能作为将来工作或者学术科研的方向,可以从这两个方向考虑专业:
数学基础;编程基础。对应的自然就是数学专业和计算机专业了。
进一步说:
数学基础,人工智能主要是用机器学习和深度学习,对于数学需要掌握的主要是微积分、线性代数、概率论这三门课程;编程基础,基本的计算机基础,数据结构算法,linux 基础,数据库,然后就是熟练 1-2 门编程语言,一般人工智能首选是 python,然后能再学会 c++就是加分项了。那么机器学习理论,需要看那些书籍呢,这里推荐几门入门的书籍:
1.统计学习方法
数学基础不错的,可以看看李航老师的书,非常经典,强力推荐!并且现在已经有实现书中算法的代码,可以搭配使用!
代码:
https://github.com/wzyonggege/statistical-learning-method,1.3k+的 starhttps://github.com/WenDesi/lihang_book_algorithm,4.2k+的 starhttps://github.com/fengdu78/lihang-code ,10.2k+的 starhttps://github.com/SmirkCao/Lihang,3.3k+star如果数学基础一般,可以考虑先看带有代码实现的书籍,更加方便理解机器学习各种原理。
2.机器学习实战:基于 skicit-Learn和 TensorFlow
作为入门书籍,它的原理介绍通俗易懂,而且还有代码实现的案例。
前面介绍了一些机器学习算法的原理,包括如何完成一个机器学习的项目,给入门者更好的了解在企业中完成一个机器学习项目有一个初步的认识,然后后半部分开始结合代码,也就是 scikit-learn 和 TensorFlow 这两个机器学习框架,特别是后者是目前深度学习非常流行的框架之一,此外,作者的 Github 仓库代码也是处于不断更新的状态,会随着这两个库的版本更新而更新代码,这保证了不会因为版本问题导致跑不同书中的代码例子。
3.动手学深度学习
mxnet 的作者李沐大神的书籍,适合入门深度学习的阅读。
主要介绍了深度学习基础,包括 CNN,RNN & LSTM,以及计算机视觉和自然语言处理的几个经典方向,比如计算机视觉里的目标检测和语义分割,自然语言处理的词嵌入,word2vec 以及文本情感分类。
最近还新增加了 BERT、推荐系统、生成对抗网络、硬件设计等,这部分都可以在英文版的 github 上查看,也是接下来第二版纸质书会增加的内容。
主页地址:https://zh.gluon.ai/
英文版的 Github:d2l-ai/d2l-en
中文版 Github:https://github.com/d2l-ai/d2l-zh
PyTorch 代码实现:https://github.com/ShusenTang/D
更多机器学习的入门书籍资料推荐,可以查看我写过的这篇文章:
另外,人工智能方向其实也分好几个,比如计算机视觉、自然语言处理、语音识别、推荐系统、广告等等。
除了掌握基本的机器学习、深度学习基础,也需要了解选择的方向领域的算法,因为我主要是做计算机视觉方向的,所以这里推荐之前写的计算机视觉学习指南:
以及回答:
最后,如果本科专业未能顺利选择数学还是计算机专业,那么还想继续从事这个方向的,可以做的事情有:
第一年好好学习,争取本学校的转专业名额,转到数学或者计算机专业;2. 自学相关的基础,包括数学、编程、算法理论基础;
3. 考研,考到研究人工智能方向的导师的学校,目前一般就是数学专业、计算机专业,或者相关的专业,比如信息工程(我的专业,我们学校就有这个方向的导师 )、自动化专业等;
另外,好像也有些学校设置了人工智能的专业,但是不了解具体教导的课程科目,不好评价或者推荐。
但这个方向,至少还是需要读研,这样无论是工作,还是继续深造,都是有得选择的,如果打算本科毕业就从事人工智能方向的岗位,难度会很高,必须保证自己足够优秀,要不就是算法+编程都很优秀,或者本科时候成功发出一篇顶会的论文。




