机器学习职位需要的七个关键技能(翻译)

来源:互联网 发布:淘宝店铺进货 编辑:程序博客网 时间:2024/05/16 12:24

Translated on January 12, 2016

  • 本文为博客《机器学习职位需要的七个关键技能》的翻译文章
  • 原文链接: http://bigdata-madesimple.com/7-key-skills-required-for-machine-learning-jobs//

机器学习 通常跟人工智能(AI) 联系在一起,后者能够提供一些事先不用明确编程的机器来解决特定任务,比如识别、诊断、计划、机器人控制、预测等等。机器学习的主要精力集中在:当新数据出现时,自动地学习和更新算法。

在某种程度上,机器学习的过程有点儿像数据挖掘。它们都搜遍数据集来找寻一些模式。然而,不同于在数据挖掘应用中,抽取数据是为了人们更好地理解事物。机器学习是利用数据来提高程序的理解力。机器学习算法探测出数据中的模式,然后对自身程序作出相应的调整。

现在,你是否大概能知道,想得到一份机器学习工作所需要的一些技能呢?一个好的候选者应该能够理解大量的算法和应用数学,概率和统计学以及像Python/C++/R/Java 之类的编程语言。除此之外,机器学习需要天生的好奇心,所以如果你在童年时从未丢失过好奇心,那你就是机器学习工作的一个很自然的候选人。下面是对一些关键技能的详细介绍。

1. Python/C++/R/Java:

如果你想得到一个机器学习相关的工作的话,这几种语言你可能都得学一下,因为在某些时候可能都用得上。C++能够帮助你提高代码运行效率。R语言用来做统计和绘图很好,Hadoop是基于Java,你可能需要写一些mapper和reducer程序,Python用来快速开发和处理自然语言文本会很便捷。(这句我加的- ( ゜- ゜)つ)

2. 概率和统计学知识:

这些理论能够帮助你学习一些算法。比如朴素贝叶斯、高斯混合模型和隐马尔科夫模型。你必须要对概率统计有非常扎实的基础才能读懂这几个模型。疯狂地去学习测量理论吧!用统计学来作为模型的评价指标:混淆矩阵、ROC曲线、P值方法(在假设检验中用到)等等。

3. 应用数学和算法:

有了坚实的理论基础并且知道这些算法各自都是怎么运行的,你就能区分各种各样的模型啦。你需要理解的一些数学知识包括:梯度下降、凸优化、拉格朗日算子、二次规划、偏微分方程式等等诸如此类的东西。同样,你要学会习惯看积分和式。。。

4. 分布式计算:

最近一段时间,大部分的机器学习工作都会涉及到大数据集(个人深有此感- ( ゜- ゜)つ)。你无法用单机来处理完这些数据,很可能会用到分布式集群。像Apache Hadoo 项目和 Amazon’s EC2 云服务能让这些工作变得简单高效。

5. 扩大unix命令相关知识:

你必须精通这些常用的unix命令,比如:cat,grep,find,awk,sed,sort,cut,tr 等等。因为数据的处理训练过程很有可能是在linux系统上跑,所以你得熟练地掌握它们,了解他们的功能,学习它们的用法。这些命令的确是让我的生活容易了许多。

6. 学习更多关于先进信号处理的技术:

特征提取是机器学习中最重要的一个部分。不同类型的问题需要不同类型的解决方案。你可能需要用到一些非常酷的先进信号处理算法,比如:小波分析、剪切波、曲线波、轮廓波、bandlets等。去学习时间频率分析,并且尝试把它应用到你的问题之中。如果你还不知道傅里叶分析和卷积,你还得去学习补充一下相关的
知识。Digital Signal Processing 101 是一个很好的辅助哦。

7. 其他的一些技术:

(a) 提高你自己:
你必须学会拥抱变化,跟上最新的各项技术。这意味着你必须多关注各种工具包的更新(更新日志,会议等等)以及理论和算法的发展(科研论文,博客和会议视频等等)。在线社区的变化同样很快。你需要期待并推动这种变化。
(b) 大量阅读:
比如:Google Map-Reduce, Google File System, Google Big Table, The Unreasonable Effectiveness of Data等等。这些都是非常好的免费在线机器学习书籍,你应该把它们都读完。

机器学习快乐~~~

0 0
原创粉丝点击