@@ -1,58 +0,0 @@ 让小白3个月从零养成Machine Learning / AI 达人 | 凤凰涅槃进阶之路

让小白3个月从零养成Machine Learning / AI 达人

Abel sun2023年1月11日约 2561 字大约 9 分钟

让小白3个月从零养成Machine Learning / AI 达人

本文的目的单纯想加速从零开始转换AI领域的时间. 希望按表操课的人可以以最高效率, 在三个月内具备以下AI技能.

  • 了解Machine Learning 基本算法
  • 会用Matlab / Octave / python建构Machine Learning
  • 熟悉Anaconda、jupyter等功能及环境介面
  • 了解Deep Learning Framework( 如Tensorflow、keras、PyTorch 等)

建议菜单序

  1. 网络课程(视频课程)
  2. 开发工具(工具/环境)
  3. 应用实战(Kaggle)ermaid

网络课程课程菜单

1.a Coursera的Machine Learning (大约需要3周左右完成)

其实这就是Stanford的229a, 建议直接到Coursera参加课程, 作为0基础者的入门是非常浅显易懂的, Coding部分只用了matlat/octave, 对没有python经验的新人来说, 真的是进入Machine Learning的方便之门, 这也是最花时间的部分,完成这个阶段算是对Machine Learning有基本的了解, 从Linear、Non-linear、Logistic 一直到 Nueral Network、Recommend system等等, 也有能力自己写一些小程序练习, 完成此课程后对这个playgroundopen in new window的小接口大概可以有些感觉

1.b Coursera 的Deep Learning Specialization (Course 1 ~ 5)

Course.1 Neural Networks and Deep Learningopen in new window (大约可以4天左右完成)

  • 内容都是跟cs229a基本一样, 相当于用jupyter python复习一次
    Course.2 Improving Deep Neural Networksopen in new window (大约可以7天左右完成)
  • 主要介绍各种提高准确度或提高效率的求解优化技巧
    Course.3 Structuring Machine Learning Projectsopen in new window (大约可以1–2天左右完成)
    Course.4 Convolutional Neural Networksopen in new window (大约可以6-7天左右完成)
    Course.5 Recurrent Neural Networkopen in new window (大约可以6– 7天左右完成)
    以上课程在Coursera上都只有7天免费, 但是网络上还是其他地方可以找到完整视频, 所以建议先到这些地方看完再决定要不要花钱买证书啰, 如Andrew说明, 虽然有些内容是重叠的, 但是说明的方式不太一样, 另外CS3230主要是走jupyter ipython的, 个人觉得这个考量不错, 根据课程设计及需求, 并搭配业界主流工具来选择课程上的coding环境.
    的作法是在免费平台看完, 然后登入Coursera全力做quiz & assignment,这样你可以在7天内完成课程喔, 已经把空白的assignment整理好, 只要下载(下载链接open in new window )后放到jupyter文件夹即可, 所以完全可以依课程进度在单机作业, 完成每个课程后再去coursera冲assignment/quize提交, 这样可以确保每一门课的完成时间(jupyter安装看这边open in new window).
    完成这个阶段算是对Deep Learning有一定了解了, 可以说出ML/DL差异的个人看法、熟悉jupyter能写点python、知道tensor flow/keras等等frameworks.

1.c Stanford的CS229

Youtube可以找到完整课程, 229 & 229a的差别在于CS229 比较着重数学推导说明, CS229a着重在实用知识, 就手应用技巧, 数学说明较少
Andrew Ng个人建议是, 因为229是挑战性较高的课程, 如果你担心你还没准备好, 可以先考虑229a, 个人建议是看229a就好, 因为Andrew会提醒你这部分的数学推导跳过啰, 如果你有兴趣的话你会尝试自己推导验证. 所以看完229a你会知道你对229有没有兴趣, 如果你对数学有特殊爱好当然也可以直接看229, 看完就真的不用看229a了.
个人认为最大的帮助是, 最短时间内你确实踏实的修了一门algorithm的概念课程, 这类帮助在平常几乎是看不出来(或者说需要有点能力,才能辨别出来), 但是在很多小细节的思维逻辑及讨论过程就能看出水平的差异, 在很多领域都有类似的状况, 就像很多机构工程师连应力都不会算一样, 但还是可以混得下去的.

1.d Stanford的CS231n

一般来说是因为算法特性的关系,
CNN特别适合用在影像AI (2D/3D data), RNN特别适合用在音频AI(1D sequence data), 231n是专门讲CNN的课程, 尤其因为飞飞的关系, 在强国被奉为大陆影像AI第一人, 所以她的课程光是大陆人的流量就爆冲了.

上述课程的难易度一般来说是
coursera Machine Learning < cousera Deep Learning < CS231 < CS229
ps. 虽然很多课程是重复的, 不过有些东西还是可以花点时间看一下, 例如YouTube上的cs230 autumn 2018 L8, Andrew分享了一些他怎么读 paper的方式, 以及他个人看过这么多Stanford学生的求学/求职模式后, 他觉得各种模式的优缺比较. 听听看Standford名师课堂上对Stanford学生的建议与分享, 觉得也是不错的.
另外1.25x播放是非常不错的方式, 可以很大程度帮助各位提高效率并节省很多时间, 到第二个月才发现这个方式, 个人建议是如果能快的时候可以尽量快, 该慢的时候要步步踏实, 例如在做assignment的时候, 除了完成作业, 会把他们的code看懂(因为很久没有写程序啦), 卡关的时候切忌不要上网找答案, 像在第一次assignment的时候, 卡在simutaneously update就卡了1个小时多才发现问题, 再回头对比程序及教材或数学式时, 会对数学式或Andrew再三强调的simutaneously update很有感觉.

2. 开发工具(工具/环境)

如果依上述菜单进行的话, 你会依以下流程习惯这些工作环境 :
Octave/Matlab(cs229a) -> jupyter pythonopen in new window(cs230 / cs231n) -> tensor flowopen in new window(cs230) -> Google Colab
使用python时, 千万不要单独安装python以及各种package, 建议要务必利用Anacondaopen in new window作为python版本及众多package的管理界面. 可以节省大量时间而且省心省力好上手.
另外建议要熟悉一下github界面, 因为cs230的assignment, 当时是在GitHub上东拼西凑整理出来, 未来要做项目免不了team work模式, 所以GitHub的界面使用还是有必要了解一下的, 只是为了协助各位最短时间吃完以上菜单, 所以直接把cs230 assignment的空白卷open in new window 也一并整理出来让大家效率更高.
完成这个阶段, 原则上你已经是具备AI的一切技能了, 差的只是提升实战经验了.

3. 应用实战(Kaggleopen in new window

大概在完成1b. Course 2开始接触Kaggle, 觉得这个切入的时机点不错, 因为这个阶段已经算对ML/DL有一定认识, 只是coding技能尚未纯熟, 问题思考角度与经验尚待补强, 这时候进到Kaggle最大的好处是, 它有很多很多很多的题目, 所以绝对足够练习. 另外Kaggle也有一些免费课程, 这边的课程觉得就不用上了, 直接透过Competetion题目实作学习比较快. 一般来说Knowledge类的题目都是不错的练习题, Kaggle也会告诉你Titanic是它们建议的第一题, 再来House Prices、Digital Recognition等等, 第一次感受完后, 可以看看其他人的思考过程分享文(的结果Top 2.5%, code在GitHub这边open in new window).
Titanic的分享文很多, 英文不错的话建议看这两篇
Titanic Survive Prediction Tutorial for Beginnersopen in new window
Titanic Data Science EDA with meme+Solutionopen in new window
中文建议这篇
-泰坦尼克号生存预测(Top 3%)open in new window

搞了3天 总算达成自定义目标 (rank TOP 3% up & score 0.8 up), 非常适合新手练习的题目

Deep CNN Task : 上完Coursera Deep Learning专项课程后, 应该有能力作一些稍微复杂的模型, 个人练习了重现facenet模型(Facenet = MTCNN + ResNET embedding+ Triplet classifier), 下图为在jupyter重现MTCNN的结果open in new window.

左边为MTCNN 3阶段产出, 右边为即时影像脸部侦测

Deep CNN Task : 重现Facenet 即时人脸辨识open in new window

Other Resources
Machine Learning Crash Courseopen in new window : Google 提供的ML在线教育资源
https://leetcode.com/open in new window : 写程序必须谨记“高效”, 彻底改变你对写程序的认知

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.9.1