{{errorTip}} 

想转专业数据科学(机器学习)需要学哪些课程?

{{user.display_name}}
该话题答主

Yiwen Xu | 芝士圈咨询顾问

卡内基梅隆大学 Computational Biology
美国互联网大厂Senior Software Engineer。Carnegie Mellon Un

1. 推荐CMU的几门课,网上都能找到课件或者视频。

15688 Practical Data Science http://www.datasciencecourse.org/

这门课会把各种基本的机器学习算法都串一遍,并让学生用Python实现一遍来加深印象。

11747 Neural Networks for NLP http://www.phontron.com/class/nn4nlp2019/

这门课教授的授课水平非常高,讲的内容深入浅出。课下会要求学生看很多paper,课上会讨论最新的NLP model。在YouTube上这个老师开了个人的频道,能找到完整版的课程视频。

10601 Introduction to Machine Learning http://www.cs.cmu.edu/~mgormley/courses/10601/

这门课比起吴恩达的机器学习,会更注重算法从底层开始的推算,需要很好的数学基础,难度也会更深。

2. Andrew Ng的machine learning和deep learning课程都是入门自学很好的材料,在Coursera上可以找到资源,YouTube的官方频道也收录了全部的视频。https://www.deeplearning.ai/

3. 斯坦福的CS231n,deep learning入门课,网站有机器详细的课件资料,把deep learning的基础知识点讲的很透彻。http://cs231n.stanford.edu/

cs229的官方笔记:http://cs229.stanford.edu/notes/cs229-notes1.pdf

4. 台大李宏毅教授的机器学习课程是我听过觉得最适合零基础学生的课,虽然适合零基础,但是他讲课内容由浅入深,后面会讲到很多复杂的模型和machine learning最新的知识点,比如前几年他专门出了一个讲attention的视频。这个教授上课喜欢拿宝可梦来举例讲解各种算法。https://www.youtube.com/channel/UC2ggjtuuWvxrHHHiaDH1dlQ

(上面连接国内打不开的可以看这个http://speech.ee.ntu.edu.tw/~tlkagk/courses.html

另外感兴趣的话推荐关注机器之心、PaperWeekly之类的微信公众号,会经常有机器学习方向paper的解读,自学资料推荐和机器学习/人工智能行业的热门新闻。

答主先自我介绍。我本科学的生物,在master期间暴力转了CS,修了很多我们学校ML部门的课。求职过程面了很多machine learning engineer和data scientist的职位,现在就职于湾区某大厂做软件工程师,从事人工智能语音识别设备的开发。

我想从【传统机器学习】、【深度学习】和机器学习目前在工业界主要的【三大应用】这几个部分来谈谈转专业自学需要补哪些课程和哪些知识点。

【机器学习(非深度学习部分)】

对于传统机器学习,一门很重要的基础课就是线性代数。我相信大部分理工科大学生都学过这门课,但很可能考完就忘了,也并不知道这门课的作用。在机器学习中,扎实的线性代数基础能帮助你更好的理解各种算法。

需要掌握的线性代数概念有:标量(Scalar),向量(Vector)和矩阵(Matrix),矩阵相关的运算法则(包括矩阵和标量的运算,矩阵和向量的运算,矩阵和矩阵的运算),矩阵的逆(inverse),矩阵的转置(transpose),特征向量,特征值等。这些都是常用在机器学习中的基本概念,尤其矩阵的乘法和点乘很重要。

除此之外,机器学习需要掌握的算法主要分为三种:监督学习(supervised learning),无监督学习(unsupervised learning)和半监督学习(semi-supervised learning)。

监督学习所使用的训练数据是已经有label的,举个例子,这个label可以是某一时间点的股票票价,也可以是垃圾邮件/非垃圾邮件这样的类别。监督学习主要用于解决回归(regression)和分类(classification)问题。

常见的监督学习算法有:linear regression,logistic regression,K-nearest neighbor,decision tree,SVM,朴素贝叶斯,贝叶斯网络。

无监督学习所使用的数据没有label,主要用于解决聚类(clustering)问题。

常见的无监督学习算法有:K-means,hierarchical clustering。

半监督学习所使用的的数据是混合的,一部分有label,一部分没有。这类算法通常比较复杂,初学阶段不需要太多关注。

在这些基本算法之上还需要学习优化算法的技术,比如regularization,常规的线性回归加上L1 regularization就是Lasso Regression,用上L2 regularization就是Ridge Regression,两种regularization都用就是Elastic Net算法。还需要掌握降维相关的算法,比如PCA(Principal Component Analysis)。除此之外还有一些ensemble algorithms,就是用一些统计的方法使多个weak learner组合成strong learner。常见的有random forest,AdaBoost,Bootstrapped Aggregation等。

【深度学习】

深度学习的基础是perceptron(感知器算法)和multilayer perceptrons(MLP,多层感知器),需要掌握back-propagation、SGD、GD等基础算法。深度学习目前主要的算法有CNN(卷积神经网络)、RNN(递归神经网络)和LSTM(RNN变种)三种。CNN需要掌握的知识点有卷积运算,池化运算,全连接运算等,目前公认训练效果比较好的通用的CNN有VGG,ResNet,DenseNet,这些模型在PyTorch中都能直接调用。RNN主要用于处理有一定时间顺序的数据,如语音数据。为了解决时间上梯度消失的问题,RNN又衍生出了LSTM。

【三大应用】

Natural Language Processing

NLP是现在machine learning在工业界应用较多的领域。比较常见的有speech recognition(比如Google Home,国内小米开发的小爱),machine translation,sentiment analysis,auto-complete(比如搜索时的自动补全功能),natural language generation。

Computer Vision

CV常用于自动驾驶领域。通常做CV方向的研究,除了要有扎实的机器学习背景之外,还需要学习C++和传统CV方面的知识,比如
用deep learning来解决的CV问题通常包括OCR,object detection,image classification,image segmentation等。想做这个领域的一般都会要求求职者会C++,因为C++运算速度比较快,自动驾驶对运算速度的要求很高。

Recommender System

推荐系统也是机器学习应用很广的一个方向,比如YouTube、Yelp、Airbnb、豆瓣电影等都大量使用了推荐算法。推荐系统常用算法分别是content-based methods和collaborative filtering methods。最近几年也有用神经网络做推荐系统的算法出现。
想在工业做data scientist或者machine learning engineer一类的工作,需要掌握至少一种流行的machine learning framework,比如TensorFlow,PyTorch,Caffe,Keras等。

取消
芝士圈小程序
  • 芝士圈留学文书
    芝士圈留学文书

    实时查看文书进度,随时随地联系导师

  • 留学快递寄送
    智能选校工具

    数据基于65000+申请用户,简单2步定制你的专属选校分析

  • 留学申请咨询
    留学申请咨询

    全面扫除留学疑问,随心所欲召唤行家

  • 留学疑问全解答
    留学疑问全解答

    与梦校学长学姐交流,解答申请路上的任何疑问

  • 出国留学申请文书修改服务
  • 智能选校工具
  • 留学申请咨询
  • 留学疑问全解答