机器学习生态系统在过去十年中发展了很多。人工智能社区变得越来越强大、开放,涵盖了几乎所有人工智能领域的东西(代码、库或博客)。如果你想开始学习机器学习,现在正是好时候。
什么是机器学习?
机器学习这个术语最初是由亚瑟·塞缪尔在年创造的。回顾过去,就技术进步而言,那一年可能是最重要的一年。
其后汤姆·米切尔给出了第一个正式的定义:
"如果一个计算机程序在T类任务中的表现以P来衡量,随着经验E的增加而提高,那么它就被称为从经验E中学习。
简单来说,机器学习是人工智能(AI)的一个子集,它为机器提供了从经验中自动学习的能力,而无需明确编程。
现在,让我们继续讨论机器学习库。
机器学习库
机器学习的库根据不同用途有着不同的库,如下所示:
用于科学计算的机器学习库
Numpy
Nump可以说是机器学习中最重要的Python包之一。科学计算使用大量的矩阵运算,这些操作的计算量可能相当大。想要实现它们很容易导致内存使用效率低下。
而Numpy数组是一类特殊的数组,可在几毫秒内执行这些操作。这些数组是用C编程语言实现的。在自然语言处理等任务中,我们会有大量的词汇量和数十万个句子,单个矩阵可以包含数百万个数字。作为初学者,我们必须掌握使用此库。
表格数据的机器学习库
简单地说,Pandas是微软Excel的Python对应物。每当您有表格数据时,您应该考虑使用Pandas来处理它。Pandas的好处是,操作只需要几行代码。如果你想做一些复杂的事情,而你发现自己要考虑大量的代码,那么很有可能存在一个Pandas命令,在一两行内就能实现你的想法。
数据操作到数据转换,再到数据可视化,Pandas都能做到。如果你渴望成为一名数据科学家,或者希望在机器学习比赛中取得好成绩,Pandas可以减少你的工作量,帮助你专注于解决问题的部分,而不是编写代码。
pandas数据处理与分析(异步图书出品)京东月销量好评率99%无理由退换京东配送官方店¥49购买用于数据预处理和建模的机器学习库
ScikitLearn也许是最受欢迎的机器学习库。它提供了几乎所有流行的模型-线性回归、Lasso-Ridge、物流回归、决策树、SVM等等。不仅如此,它还提供了一套广泛的工具来预处理数据,使用BOW,TF-IDF或哈希矢量化等对文本进行矢量化。
而且他的社区非常强大。唯一的缺点是,它不能很好地支持大规模生产环境应用的分布式计算。
用于时序建模的机器学习库
Statsmodels是另一个实现统计学习算法的库。但是,它的好处是其有助于实现时序模型的模块。您可以轻松地将时间序列分解为其趋势分量、季节性分量和残差分量。
你还可以实现流行的ETS方法,如指数平滑法、Holt-Winters法以及ARIMA和季节性ARIMA或SARIMA等模型。唯一的缺点是,这个库没有像Scikit那样有很多详尽的文档。
用于文本处理的机器学习库
正则表达式(regex)可能是文本处理中最简单但最有用的库。它有助于根据文本中定义的字符串模式来查找文本。例如,如果您希望将文本中的所有“不能”和“不要”替换为“不能”或“不要”,则regex可以快速完成。
如果您希望在文本中找到电话号码,则只需定义一个模式和正则表达式,并返回文本中的所有电话号码。它不仅可以找到模式,还可以用您选择的字符串替换它。在开始时,制作正确的匹配模式可能会有点令人困惑,但是一旦你掌握了它,它就会非常强大。
NLTK
NLTK用于自然语言任务的广泛库。它是满足您所有文本处理需求的首选包,从单词标记化到词形还原,词干分解,依赖关系解析,分块,停用词删除等等。
文本处理对于任何NLP任务都非常重要,例如语言建模,神经机器翻译或命名实体识别。它还提供了一个名为wordnet的同义词库。
用于深度学习的机器学习库
Tensorflow是目前最受欢迎的库,具有广泛的文档和开发人员社区支持。它是由谷歌创建的。对于许多公司来说,Tensorflow是一个不错的选择,因为它为模型原型设计到生产提供了生态系统。Tensorboard是一种基于Web的可视化工具,可帮助开发人员可视化模型性能,模型参数和梯度。
社区中对张量流的一个主要批评是它对图的实现。图形是您定义的一组操作。例如,c=a+b,d=c*c是对4个变量执行两个操作的图形。在python中,您可以执行第一步,获取c的值,然后使用它来计算d。在Tensorflow中,您必须首先编译图。这意味着将首先安排所有操作,然后一次执行所有操作。
与通过运行定义的Python不同,Tensorflow是先定义后运行的。这使得调试变得繁琐。不过开发人员也意识到了这一点,并在不断改进。
TensorFlow开发入门用tensorflowkeras构建深度学习模型人工智能机器学习算京东月销量好评率98%无理由退换京东配送官方店¥79.3购买Pytorch
Pytorch是由Facebook开发的,是原始库Torch的Pythonic版本,Torch是为Lua编程语言编写的深度学习框架。
与Tensorflow不同,它被设计为尽可能的Pythonic。您可以随时随地定义模型组件。如果你想做研究,需要这种低级别的灵活性,这是一个不错的选择。
如果你是一个初学者,并希望开始学习机器学习,Pytorch是不错的学习。由于它相对较新,虽然不像Tensorflow那样流行,但社区正在迅速发展。
转载请注明:http://www.0431gb208.com/sjszlff/4515.html