学习机器学习算法:理解深度与算法数量

数据挖掘 机器学习
2021-10-03 02:22:09

最近我被介绍到数据科学领域(大约 6 个月),Ii 开始了 Andrew Ng 的机器学习课程的旅程,并开始研究 JHU 的数据科学专业。

在实际应用方面,我一直致力于构建一个可以预测损耗的预测模型。到目前为止,我已经使用 glm、bayesglm、rf 来努力学习和应用这些方法,但我发现我对这些算法的理解存在很多差距。

我的基本困境是:

我是应该更多地专注于学习一些算法的复杂性,还是应该使用在需要时、在何时以及尽可能多地了解它们的方法?

请引导我朝着正确的方向前进,也许可以通过推荐书籍或文章或任何您认为有帮助的东西。

如果您能回复一个想法,即指导刚刚在数据科学领域开始职业生涯并希望成为为商业世界解决实际问题的人,我将不胜感激。

我会阅读(尽可能多的)这篇文章中建议的资源(书籍、文章),并会就其优缺点提供个人反馈,以使这篇文章对遇到类似问题的人有用将来,我认为如果人们建议这些书也能做到这一点,那就太好了。

4个回答

我建议将自己限制在一些经过验证且值得信赖的算法上。我不推荐《统计学习要素》(作为第一本书)。它太理论化了,针对研究生,有练习询问如何证明 X 或 Y……我认为ISL更合适,有更实用的建议(无论如何,这两本书都可以免费下载 pdf 文件)。

除了统计数据,我会确保你对实验设计/AB 测试以及商业智能/可视化感到满意。

可以说,自称数据科学家的人应该更了解他们使用的算法的复杂性——例如影响 GLM 中 Fisher 评分算法收敛速度的因素——而不是普通或花园统计学家——他们可能满足于知道将找到最大似然解(可能在他们煮了一杯咖啡之后)。在任何情况下,除了熟悉你使用的方法之外,理解统计和机器学习的一般概念也很重要——它们背后的理论、它们所做的假设、你应该执行哪些诊断检查、如何解释结果。避免被这种模仿

您可能会喜欢阅读Hastie 等人的文章。(2009),统计学习的要素

好吧,我会说详细了解 1 或 2 个算法的复杂性(比如它们参数的内部工作原理)肯定比知道如何运行一堆算法要好。

我在分析领域工作了大约 11 年,当了 2.5 年的数据科学家,我是根据经验说话的。另一方面,您绝对应该了解其他可能更适用于您手头问题的东西(更新的算法,如深度学习、SVM、XGboost 等)。

我认为 Andrew Ng 博士的课程涉及一些算法的很多细节,这是一个好的开始。正如其他人所指出的,http ://statweb.stanford.edu/~tibs/ElemStatLearn/是一本好书,并且有视频可供选择。

这是我个人的看法,你不应该错过的算法是:(详细了解这些):

1) 多元线性回归 2) 逻辑回归 3) 常用的降维技术,如 PCA 4) K-means 聚类 5) 非线性回归 6) 优化方法:基于梯度的搜索方法、线性规划和离散优化 7) 概念和算法在特征工程中 8)简单的时间序列预测方法

更深奥的算法:

1) 随机森林 2) SVM 3) 深度学习 4) 其他降维方法,如 LDA 5) 其他基于核的方法 6) 遗传算法 7) XgBoost 8) 动态回归 9) GARCH/ARCH 方法 10) 结构方程建模 11)时间序列预测中的 Box Jenkins 方法 12) 信息论:信息增益、互增益等。

我也遇到过类似的情况。我从这里的每一个算法开始(并且非常详细)。

在此处输入图像描述

然而,我很快发现机器/深度学习领域的学术界正在快速发展,并且总是提出更快/最先进的算法,在许多实际应用中远远超过传统算法. 因此,始终最好根据最新趋势进行更新。我建议(就像我自己通常做的那样)订阅一个好的新闻源(如 Medium)或一本令人惊叹的前沿研究期刊并关注它。很多时候,惊人的算法来自解决特定问题(可能与您的问题相似)的研究论文。

关键是,要成为一名优秀的数据科学家(或 ML 工程师),您需要同时具备深度和宽度。我个人觉得了解它们表面上的许多算法很有用(简单地说它们是做什么的,何时使用它们,优缺点)。当我觉得(只是觉得)他们可能会帮助我解决特定问题时,我会回到他们身边。我详细阅读了它们,看看它们是否合适。他们可能会,也可能不会。但是考虑细节对于确保您不会因为缺乏对该方法的洞察力而错过解决问题的惊人方法至关重要。例如,有一次我正在做一些需要对象检测的事情(虽然非常简单)。我在某处读到了有关 R-CNN、Fast-CNN、YOLO 的信息。我立即转向他们,看看他们是否合身。那天我更详细地了解了他们。

我是应该更多地专注于学习一些算法的复杂性,还是应该使用在需要时、在何时以及尽可能多地了解它们的方法?

学习错综复杂的东西是惊人的。然而,世界以非常快的速度发展。可能有一种新算法比您详细了解的算法更胜一筹。因此,是时候淘汰这种用途,看看新的用途是否对你更好。

在需要的时候学习东西。并在需要时详细了解它们。如果您认为它们可能有效,您应该能够应用它们。而这种洞察力来自于知识。

祝你好运。