史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(一)
喵喵喵~大家元宵节快乐噢。有没有要陪小夕出去看烟花的吖...
小夕借此给热爱学习的喵喵们献上这篇拙文,希望不要嫌弃哦~
还有,小夕画的封面图是不是很棒呀( ̄∇ ̄)
小夕发现现在想进军人工智能领域的程序yuan甚至少年少女喵好多呀,但是有几只向我吐槽过网上的资料很多很杂,入门指导基本是杂而不实,很容易让人满腔热情的开始,却又一脸懵逼的放弃。于是小夕来拯救世界啦!~
小夕的车辙
小夕从大二开始做人脸识别,后来发现很快遇到了瓶颈。于是开始学机器学习理论,又很快遇到了瓶颈,于是又开始补数学。补完数学又钻模式识别,又被虐了,但还是辛苦的啃完了《模式分类》。后来学深度学习。再后来不停的论文论文论文、代码代码代码...
由于小夕是从工程出发然后到理论,再回工程的道路,小夕觉得这样走的弯路挺大的。而且前期做工程的时候真的很懵逼,各种看不懂然后跳过。
所以小夕这里分享给大家的道路是从理论到工程的平坦上升的道路。当然啦,理论中肯定会穿插代码实践。小夕希望这是一条靠谱的、没有知识断层的深度学习/机器学习的入门之路,希望能在真正意义上帮到大家。
前言
本指导适合于真正有志于钻研机器学习(含深度学习)、模式识别及其相关应用领域的人。对于那种“1个月入门机器学习”的大忽悠学习模式,小夕这里没有噢~
理论上说,完全小夕的整个入门指导后,应对整个机器学习大框架、理论细节、工程能力都有了比较好的积累。
在此之后可以偏向工程,轻松玩TensorFlow、Caffe等DL框架,转CV、NLP等应用性更强的方向;也可以偏向理论,比较轻松的看看最新的paper,跟上学术界的最前沿。但是工程与理论不是绝对割裂的哦,偏工程也要看论文、补数学,偏理论也要敲代码、了解优秀框架哦。
首先,在开始之前,要确保有以下的理论基础:
语文能力最少达到初中水平。
英语能力最少要达到高中优秀水平,尽量在大学四级水平之上。
数学最少达到高中水平,微积分一定得学过。
尽量有以下的工程基础(这样可以边学边练,体会更深的喵,但是不会也没有关系的)
面向过程编程范式
常见数据结构
常见算法思想及算法分析能力
然后小夕为了避免文章过长,将计划截成了四五个阶段。本文为第一阶段。
阶段一
线性代数
前置课程
中学代数
主参考资料
《线性代数应该这样学》(英文叫《Linear Algebra done right》)
辅助参考资料(有先后顺序)
《Deep Learning》Bengio等,第二章(中译本勉强能看,链接https://github.com/exacity/deeplearningbook-chinese 呜呜好想赶紧开通原创功能插超链接);
Wiki百科(翻墙不用教吧...);
《矩阵分析与应用》张贤达
重点内容(无先后顺序):
向量及向量空间
内积与范数
线性映射
矩阵
张成、线性相关、线性无关
特征值与特征向量
特征分解
高级内容(最起码要了解):
谱定理
奇异值分解(SVD)
矩阵的迹
行列式
学习方法
适当参考小夕总结的重点内容,细细的品味《线性代数应该这样学》(这本书真的棒呆了)。
对于书中依然理解不了的部分,参考其他辅助资料哦。另外如果大家有哪方面难以理解,可以告诉小夕,小夕会尽量解答,若有必要的话直接写一篇小文章帮助大家理解哦。
主要意义
线性代数是机器学习的不能更基础的数学基础。不仅仅是因为矩阵是机器学习中运算的基本单位,而且一些线性代数中的高级理论也被借鉴吸收到了机器学习算法中,比如用SVD(奇异值分解)来对特征降维,迹运算可以加深对PCA及某些聚类算法本质的理解等。
Matlab
前置课程
线性代数
面向过程编程范式
主参考资料:
Coursera平台斯坦福大学Andrew Ng的“机器学习”课程的Matlab章节的视频及补充资料
Matlab内嵌帮助文档
辅助参考资料
Google
CSDN
StackOverFlow
重点内容:
Matlab基本语法
矩阵运算常用的内置API(即用户编程接口/函数接口)
学习方法
参考Coursera平台“机器学习”课程的Matlab教学视频及阅读材料来掌握Matlab基础知识。
养成使用Matlab内嵌帮助文档来学习新API的方法的习惯。例如在解释器中可以用“help +命令”或“doc +命令”快速掌握某API的用法等。
多多总结积累常用的矩阵运算API。
主要意义
利用Matlab入门和理解机器学习算法,可以很大限度的忽略编程语言语法特性对算法实现的影响,也就是说语法对数学表示的还原度很高~这样可以很轻松的打通数学到计算机算法的桥梁,对于以后深入学习机器学习的理论和代码实现都大有裨益。
机器学习-上
前置课程
线性代数
微积分
Matlab
主参考资料:
Coursera平台斯坦福大学Andrew Ng的“机器学习”课程
《数据挖掘导论》
重点内容:
机器学习基本概念及应用领域
回归与分类的概念
线性回归模型(Linear regression model)
逻辑回归模型(Logistic regression model)
浅层神经网络(Neural Network)
支持向量机(Support Vector Machine)
交叉验证思想及用途(Cross Validation)
聚类的概念
K-Means模型
学习方法
乖乖的跟着Coursera课程计划来就好,要认真完成课后习题和编程题哦。若课程中的有些内容实在没有理解透,强烈建议参考《数据挖掘导论》中的相关章节呐(这本书对于机器学习部分的讲解很好喵)。
小夕注: Matlab代码实现中多多体会和建立“用矩阵运算”解决问题的思想,努力摆脱“循环套循环”的low做法。Coursera结束后,仔细阅读《数据挖掘导论》中的第4、5章。先跳过其中的决策树和贝叶斯分类器那一节(以后的计划中会安排的哦),另外第五章的组合方法能看懂就看,看不懂也没关系,放在以后还会深入学。
主要意义
Coursera上的“机器学习”课程中几乎没有涉及到概率统计的知识,自然也没有贝叶斯分类器这个经典统计模型。同时也没有深入讲解最优化的知识。
不过这样极大的降低了课程的难度,非常适合拿来快速接触机器学习又不会受很大打击。对于提升兴趣,以及后续理论深入的学习真的很有帮助呀,小夕当年就是看了这个视频然后爱上了可爱的Andrew Ng,然后爱上了这一领域\(//∇//)\。
而《数据挖掘导论》也非常适合新手入门,讲解的十分浅显易懂,在Coursera课程结束后再根据这个复习一遍,效果会非常好的。下阶段预告
概率论与数理统计
最优化算法-上
机器学习-下
本文重点
记得推荐给身边有需要的人哦,ta与小夕都会很感激您的~
...要哭哭了,最近都快没人打赏了...对小夕的文章不够满意,记得在订阅号主页给小夕提意见哦~小夕真的很用心哦(。 ́︿ ̀。)
史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(一)相关推荐
- 史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(三)
能够坚持走到阶段三的喵一定是很有毅力的喵!也是很合格的机器学习/人工智能研究者啦~但是走到这里,也意味着您不满足于使用看似孤立的机器学习模型来生硬的完成一些任务,那么,大一统的理论体系就在这一阶段建立 ...
- 【完结】史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(四)
小夕再次感谢大家的关心,你们的小夕已经满血复活啦!小夕会坚持为大家带来独一无二的干货和故事哦. 前言 有读者反映,ta若能完成这个系列的阶段三,就在他们实验室被奉为神了.因为他们实验室每个人人手一本& ...
- 史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(二)
谢谢你们.小夕昨晚又熬夜被发现了,谢谢对小夕的关心... 有你们陪着,小夕很幸运. 路人乙:"小夕,别人都说上完coursera上的那门机器学习课就已经入门机器学习了,可你又不这样认为.那你 ...
- 特别企划 | 或许是史上最萌的产品经理改需求姿势(多图)
谁说一脸褶就不能过儿童节呢(十分的傲娇脸~) 未满十八岁,请在大儿童陪同下阅读此文 Tips:全文读完大约需要7分钟 言归正传. 上周,九五调查局的小伙伴突然出现在PMCAFF,亮出了一本江湖了失传已 ...
- 史上最全的机器学习深度学习面经总结
史上最全的机器学习深度学习面经总结 提示:19年之后的面经,扩大了范围包括了cv,推荐,语音等面经中的知识点, 同时增加了那三本面经书的内容一些github上一些比较火的项目,大部分问题是重复的,去重 ...
- 史上最萌妹纸最多的吃鸡游戏:没错,说的就是香肠派对
香肠派对吃鸡手游好玩吗?说到吃鸡手游,大家可能对刺激战场.全军出击.荒野行动等大厂的比较熟悉.其实这几款吃鸡游戏的风格差距都不大,今天主要给大家强烈安利这款可以说是史上最萌的吃鸡游戏:香肠派对.你没有 ...
- 史上最萌挑战现身海天蚝油《挑战不可能之加油中国》
史上最萌挑战现身海天蚝油<挑战不可能之加油中国>.由加一点就好鲜好鲜的海天蚝油独家冠名播出的<挑战不可能之加油中国>本周精彩继续--现实版"听风者"闻&qu ...
- 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目
原文:http://www.techweb.com.cn/news/2017-07-31/2566452.shtml 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目 2017. ...
- 图解人工智能机器学习深度学习的关系和区别
图解人工智能机器学习深度学习的关系和区别,先直观看下图的关系: AI(Artificial Intelligence.人工智能).机器学习(machine learning).深度学习(Deep le ...
最新文章
- bat maven 一键打包1.0
- 二维非稳态导热微分方程_第三章非稳态导热分析解法
- 举例分析private的作用【c/c++学习】
- h5 bootstrap 小程序模板_青浦区社群小程序模板
- 【Linux】linux服务器下的帮助命令总结
- Asp.net MVC权限设计思考 (一)数据库建库部分
- python 匿名函数 day15
- angular五大服务顺序_IATF16949五大工具介绍
- Pandas 中文API文档
- sqlmap使用教程(sqli-labs1-10详解)
- python如何爬有道翻译_基于python爬取有道翻译过程图解
- Angular纯前端实现table表格导出excel的xls格式
- PS 宏使用方法记录
- 封装获取一个URL地址问号后面传递的参数信息以及哈希值HASH 方法
- 如何使用xbrowser图形化连接centos
- LTD营销SaaS-官微云代理商加盟服务
- mysql 家谱树查询_无限级分类之查找子孙树和家谱树
- python之网络部分
- AI笔记: 数学基础之向量组的线性表示与线性相关
- springboot企业人力资源管理系统毕业设计源码291816
热门文章
- Qt 图形特效(Graphics Effect)介绍
- AjaxControlToolkit AjaxFileUpload 为英文的解决办法
- 体制内工作了十几年,跳出来学嵌入式合适吗?
- 邓总的vim配置,需要的自己拿走~
- 用指针实现高低位倒序,疯了吧
- android include 点击事件,Android编程之include文件的使用方法
- C语言——字符串函数
- RuntimeError: Can‘t call numpy() on Variable that requires grad. Use var.detach().numpy()
- LeetCode 546. 移除盒子(DP)*
- LeetCode 1538. Guess the Majority in a Hidden Array