对数据科学家来说最重要的算法和统计模型
摘要: 本文提供了工业中常用的关键算法和统计技术的概要,以及与这些技术相关的短缺资源。
作为一个在这个行业已经好几年的数据科学家,在LinkedIn和QuoLa上,我经常接触一些学生或者想转行的人,帮助他们进行机器学习的职业建议或指导方面相关的课程选择。一些问题围绕教育途径和程序的选择,但许多问题的焦点是今天在数据科学领域什么样的算法或模型是常见的。
由于可供选择的算法太多了,很难知道从哪里开始学起。课程可能包括在当今工业中使用的不是很典型的算法,而课程可能没有包含目前不是很流行的但特别有用的方法。基于软件的程序可以排除重要的统计概念,并且基于数学的程序可以跳过算法设计中的一些关键主题。
我为一些有追求的数据专家整理了一个简短的指南,特别是关注统计模型和机器学习模型(有监督学习和无监督学习);这些主题包括教科书、毕业生水平的统计学课程、数据科学训练营和其它培训资源。(其中有些包含在文章的参考部分)。由于机器学习是统计学的一个分支,机器学习算法在技术上归类于统计学知识,还有数据挖掘和更多的基于计算机科学的方法。然而,由于一些算法与计算机科学课程的内容相重叠,并且因为许多人把传统的统计方法从新方法中分离出来,所以我将把列表中的两个分支也分开了。
统计学的方法包括在bootcamps和证书程序中概述的一些更常见的方法,还有一些通常在研究生统计学程序中所教授的不太常见的方法(但在实践中可以有很大的优势)。所有建议的工具都是我经常使用的工具:
1)广义线性模型,它构成了大多数监督机器学习方法的基础(包括逻辑回归和Tweedie回归,它概括了在工业中遇到的大多数计数或连续结果……)
2) 时间序列方法(ARIMA, SSA, 基于机器学习的方法)
3) 结构方程建模 (模拟和测试介导途径)
4) 因子分析法(调查设计与验证的探索和验证)
5) 功率分析/试验设计 (特别是基于仿真的试验设计,以免分析过度)
6) 非参数检验(从零开始的推导, 尤其通过模拟)/MCMC
7) K均值聚类
8) 贝叶斯方法(Naïve Bayes, 贝叶斯模型求平均值, 贝叶斯自适应试验...)
9) 惩罚回归模型 (elastic net, LASSO, LARS...) ,通常给模型增加惩罚因素(SVM, XGBoost...), 这对于预测值超过观测值的数据集是有用的(常见于基因组学与社会科学研究)
10) 样条模型(MARS...) 用于灵活性建模过程
11)马尔可夫链和随机过程 (时间序列建模与预测建模的另一种方法)
12)缺失数据填补方案及其假设(missForest, MICE...)
13) 生存分析(非常有助于制造建模和消耗过程)
14) 混合建模
15) 统计推断与分组测试(A/B测试和在许多交易活动中实施更复杂的设计)
机器学习扩展了许多这样框架,特别是K均值聚类和广义线性建模。在许多行业中一些有用的常见技术(还有一些更模糊的算法,在bootcamps或证书程序中出人意料的有用,但学校里很少教) 包括:
1)回归/分类树(用于高精度、可解释性好、计算费用低的广义线性模型的早期推广)
2)维数约简(PCA和多样学习方法如MDS和tSNE)
3)经典前馈神经网络
4)装袋组合(构成了随机森林和KNN回归整合等算法的基础)
7)加速整合(这是梯度提升和XGBoost算法的基础)
8)参数优化或设计项目的优化算法(遗传算法,量子启发进化算法,模拟锻炼,粒子群优化)
9)拓扑数据分析工具,特别适合于小样本大小的无监督学习(持久同调, Morse-Smale聚类, Mapper...)
10)深度学习架构(一般的深度架构)
11) KNN局部建模方法(回归, 分类)
12)基于梯度的优化方法
13)网络度量与算法(中央度量法、中间性、多样性、熵、拉普拉斯算子、流行病扩散、谱聚类)
14)深度体系架构中的卷积和汇聚层(专门适用于计算机视觉和图像分类模型)
15)层次聚类 (聚类和拓扑数据分析工具相关)
16)贝叶斯网络(路径挖掘)
17)复杂性与动态系统(与微分方程有关,但通常用于模拟没有已知驱动程序的系统)
依靠所选择的行业,可能需要与自然语言处理(NLP)或计算机视觉相关的附加算法。然而,这些是数据科学和机器学习的专门领域,进入这些领域的人通常已经是那个特定领域的专家。
以上为译文。
本文由阿里云云栖社区组织翻译。
文章原标题《Key Algorithms and Statistical Models for Aspiring Data Scientists》,译者:Mags,审校:袁虎。
本文为云栖社区原创内容,未经允许不得转载。