本科生如何自学机器学习?
共 6205字,需浏览 13分钟
·
2021-06-16 10:21
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自|深度学习与计算机视觉
有很多小伙伴想自学机器学习,但是无从下手,小编特意找来知乎高赞回答,感觉看了以下回答,会有所受益。
作者:Frank Tian
https://www.zhihu.com/question/332726203/answer/737596538
入门
首先,你要知道什么是机器学习。
这里我推荐Andrew Ng的机器学习教程,比较适合新手和来自工业界对数学要求不是很高的同学。
这门课适合刚上大学的萌新们。
https://www.bilibili.com/video/av50747658
它有19个小时,我看完它用了将近两个月,我建议你也不要看的太急。
当看完这些教程之后,你就对机器学习有了清晰的认知。
https://www.bilibili.com/video/av49445369
这门课同样不难,不需要高深的数学知识,同样是为新手们准备的。
深度学习的内容稍多,Andrew带你粗略的了解了AI的一些方面,一共25个小时,我看完它花了三个月。
在期间我去实践了他提到的各种优化方法和技巧,阅读了CV和NLP领域他提到的论文,并且找到轮子跑了跑。
我认为,深度学习的学习更重要的是实践。
进阶
接下来,你可以尝试读一些有公式推导的专业书籍了。
前提是你已经了解了线性代数,微积分和概率论的知识,当然,作为计算机系的同学,你一定掌握了离散数学。
我推荐《统计学习方法》,它适合接受能力正常的同学。
https://book.douban.com/subject/10590856/
因为我是接触机器学习很久后才接触到这本书的,因此我读的很快,没有印象到底读了多久。总之这本书比较平易近人。
https://book.douban.com/subject/26708119/
这本书的覆盖范围非常广,适合打算进一步深入这个领域的同学。
这本书是我机器学习的入门书籍,又爱又恨。
看这本书的同时你可能会感到数学基础不够,十分欢迎你补课凸优化。
https://book.douban.com/subject/21249088/
https://www.bilibili.com/video/av40868517
李宏毅老师非常幽默风趣,上他的课是十分快乐的事情。
https://www.bilibili.com/video/av10590361
https://www.bilibili.com/video/av9770302
我真得真得非常喜欢他讲的课,同时我认为你看完这些课之后会对机器学习(主要是深度学习部分,对,他几乎不怎么讲统计学习)有更深的认识。
这三个视频分别是31,40,11个小时,我看完花了相当长的时间,如果你已经有一些接触但是担心他哪里讲的太好没听到可惜,那么可以先浏览他的slides,slides做的也非常棒!
因为这本书开源了,我直接给你pdf:https://urlify.cn/JZFBJv
这本书是强化学习领域非常非常经典的教材,但是这本书写的太磨叽了!
不过我也没有其他备选项,如果有读过其他强化学习教材,感觉不错的,欢迎补充。
深入
接下来该深入了解机器学习了,到了这个阶段,你也不是大家口中的小白了。
统计学习方面,我推荐Pattern Recognition and Machine Learning
https://book.douban.com/subject/2061116/
这本书详细的介绍了频率派和贝叶斯派的思想,读这本书的时候你会有一种恍然大悟的感觉。
注意网上的版本可能会有错误,参考这本书的勘误。https://urlify.cn/ER7zie
https://book.douban.com/subject/26883982/
https://book.douban.com/subject/4007200/
它和前面那本Reinforcement Learning: An introduction一样,非常全面,但缺点是太啰嗦了,英文版1200+页,我没读完。
https://book.douban.com/subject/3294335/
https://book.douban.com/subject/1789534/
https://book.douban.com/subject/10758624/
可以看到,这些书的侧重点都不同,这也是为什么我打算都读一遍它们。
当然,如何找到合适的论文,这类问题在知乎已经有非常详细的回答了。同时,知乎也是一个学习机器学习的好地方,这里有很多知识渊博的答主,他们在我刚入门的时候给了我非常大的帮助。
https://www.zhihu.com/question/332726203/answer/734365629
2.数学基础。有些人觉得现在搞深度学习不需要啥数学基础,但那样只会沦为低级的调包侠,不能成长为一名合格的炼丹术士。机器学习(包括深度学习)需要的数学基础包括:微积分(熟练掌握),凸优化(熟练掌握),矩阵论(熟练掌握其中矩阵运算,各种分解等,并理解其含义),泛函分析(理解,如果不做相关内容,看着不眼生即可),高等概率论(理解,常用概率公式和概率定理)。数学不要光看,要联系机器学习当中的实际应用一起理解。
3.编程基础。常用的有python,MATLAB,C/C++等,理论上C/C++学好了,其他语言掌握特性和扩展包即可。
4.如何深入。找个靠谱的老师!找个靠谱的老师!找个靠谱的老师!翻到你们学院老师主页,如有文章发表在NIPS,ACL,CVPR,ICLR,ICML等会议上,说明学术水平非常不错。然后打听其人品,人品可以,就联系跟着做。靠谱的老师会直接带你走入到一个细分领域的最前沿,节省大量的搜索时间。
https://www.zhihu.com/question/332726203/answer/756804600
推荐个我们学校的课程:https://urlify.cn/JJVv6v
在syllabus那一栏下面有所有的课件。我觉得Kilian是个很好的教授,讲得非常清楚。(虽然我不怎么去上课。。)他的课件也是循序渐进挺有条理的。我感觉机器学习的传统方法其实都是统计的各种运用。。所以如果题主统计学得好的话其实看起来应该没有什么问题。在知道各种传统模型背后的原理之后其实就可以去调参娱乐了。推荐再学个python,现在感觉python已经占领了机器学习领域。。
如果题主追求分析模型的能力,比如说分析一个SVM的最大error margin是多少这种东西,就属于master level的课程了。类似于machine learning theory这种课。我能力有限无法做出评价。
课程后半段会讨论深度学习的概念,这个学起来的感觉和传统模型差别很大,挺魔性的。我觉得作为本科生题主只要能在不同场景下知道运用什么魔性,大概怎么调参,就可以了。如果以后还对这个领域感兴趣的话可以读研读博深造。如果你想要练手的项目之类的我也可以试着去翻翻以前的作业。。
https://www.zhihu.com/question/332726203/answer/110691656
https://www.zhihu.com/question/332726203/answer/760396018
准备
循序渐进
练手
https://www.zhihu.com/question/332726203/answer/737205846
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~