全文共6131字,预计学习时长16分钟
图源:unsplash
笔者非技术背景出身,因此在开始数据科学生涯时,或多或少是自己在单打独斗的。我花了大量的时间了解应该从哪里开始,首先学习什么,以及利用哪些资源。
在过去的两年里,笔者学到了一些希望有人能早早教导我的事情,比如应该首先关注编程还是统计,应该利用什么资源学习新技能,以及如何学习新技能等等。因此,本文旨在为那些正在数据科学道路上迷茫徘徊的人提供一些指导和见解。
一名有抱负的数据科学家通常会希望能完全理解各种机器学习算法、数据科学思想等的概念和细节。
因此,笔者建议在学习机器学习算法或数据科学应用程序之前先从构建区块开始。如果对微积分和积分、线性代数和统计都没有基本的了解,那么你将很难理解各种算法背后的机制。同样,如果对Python没有基本的了解,那么你将很难在现实中应用所学知识。
和任何事情一样,在接触到有趣的内容之前首先要学习基础知识。请相信笔者,在学习机器学习算法之前先掌握数学和统计学的话,将会轻松许多。笔者推荐你回顾一下三个主题:微积分/积分、统计和线性代数(顺序不限)。
1.积分
当涉及概率分布和假设检验时,积分是必不可少的。虽然不必要成为此领域的专家,但学习积分的基本原理益处多多。
下面这些资源,前两篇文章的适用对象是那些想要了解什么是积分或那些只需要复习的人。如果你对积分一无所知,笔者建议学习可汗学院的课程。最后,还可以通过链接里的练习题来磨练技能。
· 积分入门(文章)
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fan-integrals-crash-course-for-data-science-cf6e6dd7c046
· AP微积分速成课程 (文章)
https://www.albert.io/blog/how-to-solve-integrals-ap-calculus-crash-course/
· 可汗学院:积分学 (课程)
https://www.khanacademy.org/math/integral-calculus
· 练习题 (从第六单元开始)
https://www.albert.io/ap-calculus-ab-bc?utm_source=blog&utm_medium=blog&utm_campaign=ap-calculus
2.统计
你应该投入大部分的时间学习统计。毕竟,数据科学家实际上是现代统计学家,而机器学习是统计学的现代术语。
如果有时间,笔者建议你去学习佐治亚理工学院的“统计方法”课程,它涵盖了概率基础、随机变量、概率分布、假设检验等。(https://mediaspace.gatech.edu/playlist/dedicated/74258101/1_g5xwvbde/1_iw8fk73m)
如果没有时间学习上述课程,笔者建议你务必要去看一下可汗学院关于统计学的视频。(https://www.khanacademy.org/math/statistics-probability)
3.线性代数
如果你想继续深入学习,线性代数特别重要。但除此之外,了解其他基本的机器学习概念,如主成分分析和推荐系统,也是有好处的。关于线性代数,笔者还是推荐可汗学院!
图源:unsplash
编程的重要性也十分重要,对编程有基本的了解将使工作变得更简单,特别是在实践时。因此,笔者建议在深入研究机器学习算法之前,花点时间学习基本的SQL和Python。
1.SQL
先学习Python还是SQL完全取决于自己,但如果要问笔者,我会从SQL开始。为什么?因为如果你所在的公司从事数据工作,即使你不是数据科学家,学习起来也很容易,而且很有用。
如果完全不熟悉SQL,笔者建议阅读Mode的SQL教程,因为它非常简洁并且全面。(https://mode.com/sql-tutorial/introduction-to-sql/)
如果想学习更高级的概念,可以查看笔者的资源列表,在你可以学习进阶的SQL。(https://towardsdatascience.com/6-incredible-resources-to-learn-advanced-sql-364fe0889dcd)
下面是一些可以用于实践SQL的资源:
· leetcode
https://leetcode.com/problemset/database/
· hackerrank
https://www.hackerrank.com
· 案例研究
https://docs.google.com/document/d/1_-pPj_HusumXskhsXFOccimhDSloWkAyEdCOxv7mZFY/edit#heading=h.sspk8oxbveqv
2.Python
笔者从Python开始学习编程的,而且很可能会在余下的职业生涯中坚持使用Python。就开源贡献而言,它遥遥领先,而且学习起来简单,你可以把它和R语言一起学。
就我个人而言,笔者发现通过“实践”来学习Python更有帮助。话虽如此,体验过几个Python速成课程之后,笔者发现以下课程是最全面的,而且免费!
· Python编程入门-佐治亚理工学院
https://www.edx.org/professional-certificate/introduction-to-python-programming
3.Pandas
可以说,Python中需要了解的最重要的库是Pandas,它专门用于数据操作和分析。下面的两项资源,掌握起来会很快。第一个链接是使用Pandas的教程,第二个链接提供了许多练习题,可以使用它们来巩固你学到的知识:
· 与Kaggle一起学习Pandas
https://www.kaggle.com/learn/pandas
· 使用习题练习Pandas
https://github.com/guipsamora/pandas_exercises
图源:unsplash
如果已经到了这一步,意味着你已经打下了基础,准备好学习有趣的东西了。这一节将分为两个部分:机器学习算法和机器学习概念。
1.机器学习算法
接着你可以了解各种机器学习算法,以及它们的工作原理和使用方法了!
· 线性回归
佐治亚理工学院:
https://www2.isye.gatech.edu/~sman/courses/6739/SimpleLinearRegression.pdf
StatQuest:
https://www.youtube.com/watch?v=nk2CQITm_eo&ab_channel=StatQuestwithJoshStarmer
· 逻辑回归——StatQuest
https://www.youtube.com/watch?v=yIYKR4sgzI8&ab_channel=StatQuestwithJoshStarmer
· k近邻算法——MIT
https://www.youtube.com/watch?v=09mb78oiPkA&ab_channel=MITOpenCourseWare
· 决策树——StatQuest
https://www.youtube.com/watch?v=7VeUPuFGJHk&ab_channel=StatQuestwithJoshStarmer
· 朴素贝叶斯
Terence Shin:
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fa-mathematical-explanation-of-naive-bayes-in-5-minutes-44adebcdb5f8
Luis Serrano:
https://www.youtube.com/watch?v=Q8l0Vip5YUw&ab_channel=LuisSerrano
· 支持向量机
SVM教程:
https://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/
Alice Zhao:
https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao
· 神经网络——Terence Shin
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fa-beginner-friendly-explanation-of-how-neural-networks-work-55064db60df4
· 随机森林——StatQuest
https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&ab_channel=StatQuestwithJoshStarmer
· Adaboost算法
Terence Shin:
https://towardsdatascience.com/a-mathematical-explanation-of-adaboost-4b0c20ce4382?source=friends_link&sk=956d985b9578c3d272e3851a53ee822a
StatQuest:
https://www.youtube.com/watch?v=LsK-xG1cLYA&t=9s&ab_channel=StatQuestwithJoshStarmer
· 梯度提升——StatQuest
https://www.youtube.com/watch?v=3CC4N4z3GJc&t=1s&ab_channel=StatQuestwithJoshStarmer
· 极端梯度提升——StatQuest
https://www.youtube.com/watch?v=OtD8wVaFm6E&t=1s&ab_channel=StatQuestwithJoshStarmer
· 主成分分析——StatQuest
https://www.youtube.com/watch?v=FgakZw6K1QQ&ab_channel=StatQuestwithJoshStarmer
2.机器学习的概念
这里还有一些基本的机器学习概念供你回顾,笔者强烈建议你阅读下面这些概念,许多面试问题都基于这些主题。
· 权衡偏差与方差
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Funderstanding-the-bias-variance-tradeoff-165e6942b229
· 正则化
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fregularization-in-machine-learning-76441ddcf99a
· 混淆矩阵和相关指标
https://towardsdatascience.com/understanding-the-confusion-matrix-and-how-to-implement-it-in-python-319202e0fe4d?source=friends_link&sk=434d5a02fcaec213208c2eeb1174b5c6
· AUC和ROC(视频)
https://www.youtube.com/watch?v=4jRBRDbJemM
· 自助抽样:
https://towardsdatascience.com/what-is-bootstrap-sampling-in-machine-learning-and-why-is-it-important-a5bb90cbd89a
· 集成学习、Bagging和Boosting:
https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fensemble-learning-bagging-and-boosting-explained-in-3-minutes-2e6d2240ae21
· 标准化vs规范化:
https://www.statisticshowto.com/probability-and-statistics/normal-distributions/normalized-data-normalization/#:~:text=Normalization%20vs.-,Standardization,a%20standard%20deviation%20of%201.
至此,你不仅建立了坚实的基础,而且对机器学习的基本原理也有了充分的理解。现在是时候做一些个人的业余项目了。如果想了解一些简单的数据科学项目的例子,不妨看看下面的项目:
· 用分类技术预测葡萄酒质量
https://towardsdatascience.com/predicting-wine-quality-with-several-classification-techniques-179038ea6434
· 使用Plotly可视化冠状病毒数据
https://towardsdatascience.com/coronavirus-data-visualizations-using-plotly-cfbdb8fcfc3d
· 电影协同过滤推荐系统
https://github.com/terenceshin/Recommendation-System
图源:unsplash
其实没有什么通用的方法,但是你可以借鉴别人方法来找到适合自己的。希望本文能为你的数据科学职业生涯提供一些指导和帮助,笔者坚信学习基本原理在将来会得到回报。
一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”
(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)