Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。
大数据。深度学习。数据科学。人工智能。
我们每天都在被这些流行语轰炸。但是炒作的是什么? 你如何在自己的业务中使用它?
什么是机器学习?
在最简单的层面上,机器学习只是优化数学方程式的过程。有几种不同的机器学习,都有不同的目的。机器学习中最流行的两种形式是监督学习和无监督的学习。 我们将在下面介绍他们的工作原理:
.
监督学习:监督学习使用已知数据的标签示例来预测未来的结果。例如,如果你跟踪天气状况,以及你最喜欢的球队是否在那天比赛,你可以随着时间的推移从这些模型中学习,并根据天气预报来预测比赛当天是否会因为天气原因被取消。“监督”部分意味着你必须向系统提供你已经知道的“答案”。也就是说,你已经知道你的球队什么时候比赛,并且你知道那些天的天气。计算机迭代地读取这些信息,并使用它来形成模型并做出预测。
监督学习的其他应用也可以是预测人们是否会违约贷款。
.
无监督学习 -
无监督学习是指一种你不一定知道你正在寻找什么“答案”的机器学习。不像“球队遇到下雨天”的例子,无监督的学习更适合探索或聚类工作。集群将类似或相关的东西组合,因此你可以为其添加一组Twitter帖子,并让他告诉你人们经常讨论的东西是什么。应用到无监督学习的一些算法是K-Means和LDA。
什么是深度学习?
深度学习虽然被炒作,但只是应用多层人工神经网络来解决机器学习问题。之所以被称为“深度”学习,因为神经网络包含许多级别的分类而不是整个层。例如,一个识别照片中脸部的深度学习算法将首先学习识别眼睛的形状,然后鼻子,然后口,然后将它们的空间关系分类在一起。这不是一次识别到整张脸。而是将其分解成组件,以获得更好的理解。
深度学习最近一直在新闻中。你可能还记得Google于2015年发布的名为DeepDream的图像生成项目。另外值得注意的是AlphaGo对专业的Go球员的胜利,也是使用深度学习。
在此之前,一台电脑从来没有能够在Go游戏中击败人类,所以这标志着人工智能的新里程碑。
Python中的机器学习
关于Python的最好的事情之一是有这么多的库可用。 由于任何人都可以创建一个Python包并将其提交给PyPI(Python包索引),所以有一些包用于你能想到的一切。 机器与深度学习也不例外。
事实上,由于易于使用和丰富的科学软件包,Python是数据科学家最流行的语言之一。 许多Python开发人员,特别是在数据空间中,喜欢使用Jupyter,因为它允许他们迭代和优化代码和模型,而不必每次运行整个程序。
scikit-learn
scikit学习是数据科学家的先驱和最爱。 它已经是出现时间最长的,并且有整本书专门讨论这个话题。
如果你想要丰富的机器学习算法和定制,scikit-learn可能有你需要的。但是,如果你正在寻找更加重视统计信息的内容,那么你可能需要使用StatsModels。
Caffe
Caffe是用Python编写的深度学习的快速开源框架。由加州大学伯克利分校的AI研究团队开发,它在图像处理场景中表现良好,被大型公司(如Facebook,Microsoft,Pinterest等)使用。
TensorFlow
TensorFlow是Google开源的深度学习产品。它目前是该领域最突出的深层学习框架,许多开发人员参与其中。 TensorFlow适用于对象识别和语音识别任务。
Theano
Theano是一个用于快速数值计算的Python库。许多开发人员在GPU上进行数据密集型操作。它还具有符号计算能力,因此你可以为具有许多变量的函数计算导数。
事实上,使用GPU优化,甚至可以超过C。如果你正在处理一些重要的数据,那么Theano可能是你的最好的选择。
谁在使用机器学习?
一个更好的问题是:谁不在他们的业务中使用机器学习? 如果没有,为什么不用呢?
从医疗,金融,石油,天然气等行业已经实现了数据分析的可能性。以下是一些注重机器学习的知名公司:
. Google - Google整个公司都在使用机器学习,从Google翻译到帮助你将照片分类再到自驾汽车研究。Google的团队也开发了TensorFlow,这是一个领先的深度学习框架。
.Facebook - Facebook在广告领域大量使用机器学习。
通过查看你的兴趣,你访问的页面和你喜欢的内容,Facebook可以很好地了解你,以及你可能感兴趣购买的东西。它使用此信息向你显示新闻源中的广告和帖子。
Facebook还使用机器学习识别照片中的人脸,并帮助您标记它们。
.Netflix - Netflix使用你观看的电影,评分和搜索来创建自定义推荐。Netflix和Amazon采用的一种机器学习算法称为协同过滤。事实上,Netflix举办了一个名为Netflix奖的比赛,授予可以开发新的更好的推荐系统的人。
Python中机器学习的优缺点
优点
.Python是一种通用语言,这意味着它可以在各种场景中使用,并且有大量可用于任何目的软件包。
.Python很容易学习和阅读。
.开发人员可以使用Jupyter笔记本来迭代地构建代码并随时测试它们。
缺点
.对于Python来说,没有行业标准的IDE,而像R.仍然有很多好的选择。
.在大多数情况下,Python的性能与C / C ++无法比较。
.Python中的丰富选项可能是优点和也可能是缺点。有很多选择,但是可能需要更多的挖掘和研究才能找到你需要的东西。 另外,如果你是一个新手程序员,那么设置单独的包可能会很复杂。
结论
如今的大数据时代,不会消失。你已经了解了不同类型的机器学习,深度学习和公司使用的主要技术。下一次你有一个数据密集的问题要解决,看起来没有比Python更好的选择了!
英文原文:http://www.developintelligence.com/blog/2017/07/machine-deep-learning-python-need-know/
译者:moocou