本科AI学习建议

注:ctrl+点击进入超链接查看网页;crtl +k查看超链接指向url(部分链接请复制打开)。

一、总体学习架构

 

 

二、各部分讲解及资料

2.1 编程

2.1.1 语言

需要良好的编程能力,重点是python,其次是C++javaC学过就不提了,经常出现在github里的lua和新兴的julia有余力者也要看下,最后是现在有点过气的MATLABR

特别需要注意的是,在线教程是很好的资源,当然书籍也不错。但编程永远是以实战为上,不是死读书本,更不是看完了书和教程再写代码。此外,学会代码调试也非常重要。

2.1.2 写代码工具

2.1.2.1  IDE

体系化开发,提示全面快捷,但比较笨重。可安装个性化插件,比如pycharm的Save Actions、Rainbow Brackets、YAPF、Material Theme UI等,安装方式很容易。

pycharm面向python,IDEA面向Java,Clion面向c和c++,微软的visual studio万能但是很笨重。前三者都是jetbrains公司的产品,学生可利用学校的学生邮箱在有效期内申请注册教育账号,然后免费使用专业版。

2.1.2.2 文本编辑器

轻巧便捷,万能开发且自定义,但提示一般不全。可安装大量个性化插件。

vscode是微软开源的工具,罕见的微软良心。

atom很美观,但是插件安装需要番羽土啬。

sublime text很简洁。

2.1.3 框架

  1. TensorFlow、torch、keras是深度学习框架。
  2. sklearn是机器学习框架。
  3. caffe也是深度学习框架,但主要面向计算机视觉。
  4. matplotlib是画图工具。

安装指南:

win10系统人工智能框架安装指南及常见问题解决方案——anaconda、python27、python35、numpy、tensorflow-gpu、matplotlib、caffe及中间的相关插曲

ubuntu系统人工智能框架安装指南及常见问题解决方案——numpy、sklearn、TensorFlow、opencv、caffe2、caffe及中间的相关插曲

使用指南:

入门推荐莫凡python,深入推荐官网教程,比如TensorFlowtorch、caffe(见参考目录下“Caffe官方教程中译本”)、matplotlib

2.1.4 重要工具

  1. git是版本控制工具,可以参见廖雪峰的教程github上有很多有意思的代码项目,但下载速度较慢。可以从码云上引入已有的github项目,通过国内网络传输,下载速度在github十倍之上。
  2. office是基本的操作。word的排版,excel的公式、ppt的排版都是基础。对于word和excel需要不会就多学,而且要和同学多交流。此外,有一个很好的冯注龙的ppt教程
  3. latex,重要的论文书写工具,教程见参考目录下“一份不太简短的 LaTeX2ε 介绍”。
  4. 画图软件可用于ppt和文档中,良好的构图可以起到极佳的讲解作用。Visio是最通用的,processon比较便捷,亿图很漂亮,要花钱买,但也可以破解
  5. anaconda是管理多个python的工具,附上使用教程
  6. 正则表达式可以从字符串中抓取到需要的部分,另外还有在线验证正则表达式的网站
  7. 数据库操作的核心是SQL语句,其次需要熟练数据库与常用语言如python的API接口,最后是数据的管理操作。当然数据库界面操作工具Navicat是肯定少不了的。
  8. 爬虫是获取数据的重要手段,有一个北理的教程可以快速入门,进阶的话需要学习scrapy,以及尝试在微信公众号抖音app这样的复杂环境下爬虫。
  9. 安卓模拟器,比如夜神安卓模拟器,是用来辅助爬虫的好工具,比如无破解加密的爬取抖音的数据。
  10. 网络抓包工具用于分析网络报文,推荐使用fiddler
  11. 多线程操作主要是掌握python的多线程,类似博客很多。
  12. linux操作系统主要是学习ubuntu系列,16.04或18.04皆可。不用盯着书死看,80%时间下会用的东西其实不到全部的20%,所以要抓重点,不会的再查。常用的操作包括文件操作比如复制移动删除,权限管理用户管理进程管理磁盘挂载apt换源加速下载、pip换源加速下载(windows也可换pip源)等。
  13. gpu主要是环境搭建(可参照之前的2.1.3 框架一节的两个链接)和查看管理,一般深度学习框架如torch,TensorFlow(直接安装TensorFlow-GPU即可)已经高度封装了这些操作,所以比较简单。当然,没有gpu一切都是白搭。这是表示gpu性能的天梯图
  14. everything是一款给本地所有文件建立索引的快速查询工具,迅速查找本机所有文件。
  15. xmind8是一款极好的思维导图工具,可以辅助理清ppt、演讲、项目等系统的思路。csdn上有破解方法
  16. 看paper可能需要标注,福昕编辑器是一个不错的pdf编辑器。csdn上有破解方法
  17. 对linux服务器的操作,可以使用xshell命令行操作,通过winscp传输文件。当然,atomvscode和jetbrains的产品比如pycharm也有远程同步、执行代码的操作。

2.2 数学

对数学如何重视都是不足为过的,AI或者更广义的计算机,其基础都是建立在数学的基础上的。因此务必强化数学的学习。但由于本人的数学基础有限,无法给出比较全面的介绍,仅将推荐教材列出,并辅助简单讲解。

2.2.1 基础

微积分、线性代数、概率论、离散数学,跟着学校的教材走就好了。唯一重要的是,课后题都做了,并且认真改错总结。除此之外,扎实数学基础别无它法。

2.2.2 进阶

高等代数 复旦 姚慕生 第三版

数学分析 华东师大 第五版

数理统计学讲义 高教 第三版

组合数学 中科大 第二版

凸优化理论 清华

凸优化 清华

矩阵理论 高教

随机过程 高教

实变函数与积分变换 高教 夏道行 第二版

复变函数与积分变换 高教 苏变萍 第三版

普林斯顿数学指南 科学

2.3 计算机基础

2.3.1 基础

课堂的学习是很重要的,比如数据结构与算法、操作系统、计算机网络和计算机组成成原理这四门计算机核心基础课程。比起教材,这四门课更重要的是理解,数据结构与算法重点要理清数据结构模型和常用算法原理,操作系统要建立进程调度执行的概念,计算机网络要建立网络架构和通信协议的概念,计算机组成原理要建立模型机的静态组成模型和动态运行过程。教材就学校的教材即可,好好听课。

2.3.2 进阶

数据挖掘 机械工业 第三版

计算机体系结构:量化研究方法 人民邮电 第五版

量子计算、优化与学习 科学

实用软件架构:从系统环境到软件部署 机械工业

编译原理 机械工业 第二版

2.4 人工智能

本章将机器学习、深度学习和应用三部分的资源进行整合。

从事AI需要一定的数学、计算机、编程和英语能力。

首先,不推荐初学者看周志华的《机器学习》,也就是西瓜书。AI入门需要对机器学习的基础知识有一个良好的全面认识,不求深,也一定要求广——既了解全局,也为之后的研究找准感兴趣的方向。因此,初学者推荐百面机器学习 算法工程师带你去面试

在对基础知识和基本算法有了基本了解后,就需要深入了解算法背后的原理,因此,推荐李航的统计学习方法(出第二版了)。对于还不太清楚的数学,可以快速查阅图像处理中的数学修炼中的相关数学知识。

再之后,可以根据自己的兴趣方向了解深度学习强化学习知识图谱,或者自己感兴趣的具体方向,比如视觉(cs231n)、自然语言处理(cs224n)等。

科研的话,可以了解一下各大AI会议。查询的话,可以利用谷歌学术谷歌dblp或者中国知网(校内ip免费下载paper)查找自己感兴趣的paper。

至于各种应用,既可以去github上搜项目,也可以去csdn博客园等网站上看大佬教程。此外,还有一些科研前沿的观察统计网站,具有极高的价值,常见的比如机器之心,清华的Aminer。还有就是要关注下知乎上的大佬们,指导AI科研学习和数据挖掘竞赛等,比如鱼遇雨欲语与余zibuyu9(清华刘知远教授)、Ivan Yan等,可以关注一波,看看他们在干啥,与时俱进,不断学习。

参考书目百度云盘地址

链接:https://pan.baidu.com/s/1C0ZVDROVD-REuK94_a9n9Q  
提取码:u91f

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章