来源 | 异步
提起人工智能,就好像空气一样,早已和我们的生活融为一体。大到数据庞杂的物联网络、小到可以任意调戏的siri,人工智能以各种具象的载体,成为生活的一部分。
如果说高等数学是人工智能的基础和大前提,那么机器学习就是真正把知识技术转化为生产力和产品的重要实用型环节了。
但机器学习是一门多学科的交叉专业,涵盖概率论,统计学,近似理论和复杂算法等知识,使用计算机为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行实时结构划分来有效提高学习效率。
算法决定了机器如何解释大数据。执行机器学习的算法会影响学习的结果。要学好机器学习,最重要就是学会这五大主要流派的算法技术。
五大主要流派的算法技术
1
符号推理
逆演绎通常表现为归纳。对于符号推理,“演绎”扩大了人类知识的领域,而“归纳”提升了人类知识的水平。“归纳”通常打开新的探索领域,而“演绎”让人们探索这些领域。然而,最重要的理念是,归纳是这种推理的科学部分,而演绎是工程部分。
2
通过大脑神经元对连接进行建模
连接主义者也许是五大流派中最著名的一个。这个流派试图使用硅晶片而不是神经元来重现大脑的功能。从根本上讲,每一个神经元(被创建为算法,对现实世界中的相应部分进行建模)都能解决问题的一小部分,而并行使用许多神经元可以解决整个问题。
3
测试变化的进化算法
进化算法的解决方案使用树形结构,在函数输出的基础之上寻找最佳解决方案。每层进化的获胜者都可以构建下一层的功能。核心想法是,下一层将更接近问题的解决,但是可能不会完全解决该问题,这意味着还需要新的层级。这个特殊的流派在很大程度上依赖递归和强力支持递归的语言来解决问题。这种策略的输出非常有趣,就是算法可以演化:当代算法构建了下一代算法。
4
贝叶斯推理
这个流派所支持的想法是:在没有看到用于建立假设的证据(别人用来作出假设的输入)之前,永远不要过于信赖任何假设(别人给你的结果),要分析那些用于证明或反驳某个假设的证据。因此,在你测试所有症状之前,无法确定某人患有哪种疾病。这个流派最知名的成果之一是垃圾邮件过滤器。
5
通过类比进行学习的系统
类比学习器使用内核机器来识别数据中的模式。通过识别一组输入的模式,并将其与已知的输出模式进行比较,你就可以创建一个问题的解决方案。其目标是使用相似性来确定问题的最佳解决方案。这个流派最知名的成果之一是推荐系统。例如,当你登录电商亚马逊(Amazon)并购买产品时,推荐系统会提供你可能还想购买的其他相关产品。
十个必学的机器学习包
1.Cloudra Oryx
Oryx提供的功能是基于Apache Kafka和Apache Spark构建的。该产品的常见任务是实时垃圾邮件过滤器和推荐引擎。你可以从Github上下载Oryx。
2.CUDA-Convnet
CUDA-Convnet库为NVidia的CUDA GPU处理器提供了特定的支持,这意味着它能以平台的灵活性为代价提供更快的处理能力(你必须在系统中拥有一个CUDA处理器)。在大多数情况下,这个库可以用于神经网络应用。
3.ConvNetJS
CUDA-Convnet为重型桌面应用程序提供支持,而ConvNetJS为JavaScript应用程序提供图像处理支持。这个库的重要特点是它是异步工作的。当你进行调用时,应用程序继续工作。
4.E1701
本书没有直接展示e1071的这些用途,但是在本书中你可以找到许多相关的基础知识,例如朴素贝叶斯。
5.Gbm
梯度增强机(gradient boosting machines,GBM)算法使用梯度下降优化来确定组合学习中合适的学习权。它带来的性能提升令人印象深刻,GBM成为你可以用于机器学习的最强大的预测工具之一。
6.Gensim
Gensim是一个Python库,可以对文本数据执行自然语言处理(NLP)和无监督学习。它提供了多种算法可供选择:词频—逆文档频率、随机投影、潜在Dirichlet分配、潜在语义分析和两种语义算法——word2vec和document2vec。
7.Glmnet
当你有很多特征,并且想要通过预测变量之间的多重共线性来减少估计的方差时,正则化则是一个有效的、快速且简单的解决方案。
8.romdonForest
你可以通过它,使用随机输入来执行基于森林的分类和回归任务。这个软件包的Python版本为RandomForestClassifier和Random-ForestRegressor,它们都可以在scikit-learn中找到,scikit-learn是用于本书中大多数Python示例的一个包。
9.Scipy
SciPy栈包含许多其他库,你也可以单独下载它们。这些库为数学、科学和工程提供了支持。当你获得SciPy栈时,会得到一组用来创建各种应用程序以协同工作的库。这些库如下:
● NumPy;
● SciPy;
● matplotlib;
● IPython;
● Sympy;
● pandas。
SciPy库专注于数值例程,例如用于数字集成和优化的例程。SciPy库是为多个问题域提供功能的通用库。它还提供对特定领域库的支持。
10.XGBoost
XGBoost软件包使你可以将GBM应用于任何问题,这要归功于其广泛的目标功能和评估指标的选择。它适用于各种编程语言,包括Python、R、Java和C ++。
由浅入深讲解机器学习
购买请到异步社区
《机器学习 入门与实战》
本书是“达人迷”经典系列中关于机器学习的一本适合Python程序员、R程序员、数据分析人员、机器学习领域的从业人员以及对算法感兴趣的读者阅读,对于有相关基础并有意愿学习机器学习的人士来说也是一本优秀的入门书籍。
本书内容分为6个部分,共计23章,由浅入深地讲解机器学习的基本知识,本书使用的语言——Python和R,必备数学知识,处理数据的常用工具,机器学习的应用,以及常见的学习包、模型等6个方面,以帮助读者了解并掌握机器学习的相关知识、并能将其应用于自己的工作中。
向上滑动查看目录
-END-