在数据科学或机器学习中担任软件工程师的重要技能是什么?

机器学习本身就是一个巨大的学习任务。从术语中机器学习不言自明,机器学习本身执行没有专门编程的任务。

机器学习是一个过程,依靠算法去消耗巨大的数据,从数据中挖掘出模式,将模式转换为可执行的操作流程。如果您遇到与您上次购物时想要购买的兴趣完全类似的广告,请不要感到惊讶。这只是机器学习。

机器学习是一个广阔的领域,只知道python是不够好的。机器学习工程师应该知道很多其他的东西。

以下是您需要开发的技能,而不是Python在机器学习领域擅长的。基本技能

机器学习是软件工程,数学和数据科学的综合体现。这三项是基本技能,必须有一项是精通的。

概率和统计

人们可以借助概率统计理论学习算法。一些模型,如高斯混合模型,朴素贝叶斯和隐马尔可夫模型需要对概率和统计的理解。学习测量理论。统计学有助于作为模型评估指标,如接收者 - 操作者曲线,混淆矩阵,p值等。

数据建模

机器学习工程师还必须分析非结构化数据。这主要依赖于数据建模科学,评估数据集基本结构的过程,定位模式以及弥合没有数据痕迹的差距。数据建模是开发公司算法的基础,可随时间增强。

编程技巧

您的软件开发和编程技能将最重要,因为机器学习全部是关于开发高效算法。

编程和计算机科学基础

机器学习中的大量数据有很多计算。因此,应该清楚数据结构像队列,多维数组,树栈,图等。复杂性如NP完全问题,P对NP,大O符号。像搜索,优化,动态编程,排序等算法。计算机构成像缓存,死锁,内存,带宽,分布式处理。一旦您深入了解这些基础知识,您还有责任了解如何在编程时应用以及如何部署它们。软件设计

机器学习工程师提供什么?他们提供“软件”。如果我们仔细观察,软件是一个非常小的组件,然而,在大型产品和服务社区中,软件是一个改变游戏规则的游戏。因此,形成可以有效地与这种软件集成的系统和算法是非常重要的。强大的API支持,动态库将有助于正确的软件设计和有效的接口开发。

应用数学和算法

通过像Theano,scikit-learn,Spark MLlib,TensorFlow,H2O等库很容易地实现机器学习的通用实现。然而,选择一个合适的模型来有效地实现它们,如决策树,最近邻居,神经网络,多个模型的集合,支持向量机等。您需要了解凸优化,二次规划,梯度下降,偏微分方程,拉格朗日等知识。此外,重要的是要了解过度拟合和欠拟合,数据泄漏等不同方法的优缺点。偏差和方差,数据丢失,数据泄漏。机器学习编程语言

机器学习不限于任何特定的语言。您将遇到不同编程语言(如C,C ++,R和Python)的ML库。在所有这些编程语言中,我认为最好的语言是Python。

由于语法简单,数据科学家和机器学习工程师可以轻松地爱上Python语言。由于其有用的库如SciPy,NumPy和Pandas,Python确保了高效的科学计算和数据处理。一些专门的ML库,如Theano,scikit-learn和TensorFlow可轻松开发具有多种计算平台的算法。

随着2017年机器学习的大肆宣传,我相信机器学习在未来几年会越来越大。 ML将在塑造在线平台的未来方面发挥重要作用。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();