目前最流行的机器学习算法是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了目前最流行的机器学习算法是啥相关的知识,希望对你有一定的参考价值。
毫无疑问,机器学习在过去几年越来越受欢迎。由于大数据是目前技术行业最热门的趋势,机器学习是非常强大的,可以根据大量数据进行预测或计算推理。如果你想学习机器算法,要从何下手呢?
监督学习
1. 决策树:决策树是一种决策支持工具,使用的决策及其可能产生的后果,包括随机事件的结果,资源消耗和效用的树状图或模型。
从业务决策的角度来看,决策树是人们必须要选择是/否的问题,以评估大多数时候作出正确决策的概率。它允许您以结构化和系统的方式来解决问题,以得出逻辑结论。
2.朴素贝叶斯分类:朴素贝叶斯分类器是一种简单的概率分类器,基于贝叶斯定理,其特征之间具有强大(朴素)的独立性假设。
特征图像是方程 - P(A | B)是后验概率,P(B | A)是似然度,P(A)是类先验概率,P(B)是预测先验概率。
一些现实世界的例子是:
判断邮件是否为垃圾邮件
分类技术,将新闻文章氛围政治或体育类
检查一段表达积极情绪或消极情绪的文字
用于面部识别软件
3.普通最小二乘回归:如果你了解统计学,你可能已经听说过线性回归。最小二乘法是一种执行线性回归的方法。
您可以将线性回归视为拟合直线穿过点状分布的任务。有多种可能的策略可以做到这一点,“普通最小二乘法”策略就像这样 -你可以画一条线,然后把每个数据点,测量点和线之间的垂直距离,添加上去;拟合线将是距离总和的尽可能小的线。
线性是指您正在使用的模型来迎合数据,而最小二乘可以最小化线性模型误差。
4.逻辑回归: Logistic回归是一个强大的统计学方法,用一个或多个解释变量建模二项式结果。它通过使用逻辑函数估计概率,来衡量分类因变量与一个或多个独立变量之间的关系,后者是累积逻辑分布。
逻辑回归用于生活中:
信用评级
衡量营销活动的成功率
预测某一产品的收入
某一天会有地震吗
5.支持向量机: SVM是二元分类算法。给定N维空间中两种种类型的点,SVM生成(N-1)维的超平面将这些点分成2组。
假设你有一些可以线性分离的纸张中的两种类型的点。SVM将找到一条直线,将这些点分成两种类型,并尽可能远离所有这些点。
在规模上,使用SVM解决的一些特大的问题(包括适当修改的实现)是:广告、人类基因剪接位点识别、基于图像的性别检测,大规模图像分类...
6.集成方法:集成方法是构建一组分类器的学习算法,然后通过对其预测进行加权投票来对新的数据点进行分类。原始的集成方法是贝叶斯平均法,但更新的算法包括纠错输出编码、bagging和boosting。
那么集成方法如何工作,为什么它们优于单个模型?
均衡偏差:如果你均衡了大量的倾向民主党的投票和大量倾向共和党的投票,你总会得到一个不那么偏颇的结果。
降低方差:集合大量模型的参考结果,噪音会小于单个模型的单个结果。在金融领域,这被称为投资分散原则(diversification)——一个混搭很多种股票的投资组合,比单独的股票更少变故。
不太可能过度拟合:如果您有单个模型不完全拟合,您以简单的方式(平均,加权平均,逻辑回归)结合每个模型建模,那么一般不会发生过拟合。
无监督学习
7. 聚类算法:聚类是对一组对象进行分组的任务,使得同一组(集群)中的对象彼此之间比其他组中的对象更相似。
每个聚类算法是不同的,比如:
基于Centroid的算法
基于连接的算法
基于密度的算法
概率
降维
神经网络/深度学习
8. 主成分分析: PCA是使用正交变换将可能相关变量的观察值转换为主成分的线性不相关变量值的一组统计过程。
PCA的一些应用包括压缩、简化数据、便于学习、可视化。请注意,领域知识在选择是否继续使用PCA时非常重要。数据嘈杂的情况(PCA的所有组件都有很大差异)的情况不适用。
9.奇异值分解:在线性代数中,SVD是真正复杂矩阵的因式分解。对于给定的m * n矩阵M,存在分解,使得M =UΣV,其中U和V是酉矩阵,Σ是对角矩阵。
PCA实际上是SVD的简单应用。在计算机视觉技术中,第一个人脸识别算法使用PCA和SVD,以将面部表示为“特征脸”的线性组合,进行降维,然后通过简单的方法将面部匹配到身份;虽然这种方法更复杂,但仍然依赖于类似的技术。
10.独立成分分析: ICA是一种统计技术,用于揭示随机变量、测量或信号集合的隐藏因素。ICA定义了观察到的多变量数据的生成模型,通常将其作为大型样本数据库。
在模型中,假设数据变量是一些未知潜在变量的线性混合,混合系统也是未知的。潜变量被假定为非高斯和相互独立的,它们被称为观测数据的独立成分。
ICA与PCA相关,但它是一种更强大的技术,能够在这些经典方法完全失败时找到潜在的源因素。其应用包括数字图像、文档数据库、经济指标和心理测量。 参考技术A 应该是主题模型.
目前最流行的15个机器学习框架,你知道几个?
来源:云栖社区
机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。他们和数据科学家密切合作来了解理论知识和行业应用。数据专家和机器学习工程师的主要区别是:
机器学习工程师构建、开发和维护机器学习系统的产品。
数据专家进行调查研究形成有关于机器学习项目的想法,然后分析来理解机器学习系统的度量影响
下面是机器学习的框架介绍:
1.Apache Singa
一个用于在大型数据集上训练深度学习的通用分布式深度学习平台,它是基于分层抽象的简单开发模型设计的。它还支持各种当前流行的深度学习模型,有前馈模型(卷积神经网络,CNN),能量模型(受限玻尔兹曼机,RBM和循环神经网络,RNN),还为用户提供了许多内嵌层。
2.Amazon Machine Learning(AML)
AML是一种让各种级别使用机器学习技术的开发人员可轻松掌握的一个服务,提供了视觉工具和向导,可以指导您在不必学习复杂的机器学习算法和技术的情况下建立机器学习。
3.Azure MLStudio
允许微软Azure的用户创建和训练模型,随后将这些模型转化为能被其他服务使用的API。尽管您可以将自己的Azure存储链接到更大模型的服务,但是每个账户模型数据的存储容量最多不超过10GB。在Azure中有大量的算法可供使用,这要感谢微软和一些第三方。甚至你都不需要注册账号,就可以匿名登录,使用Azure ML Studio服务长达8小时。
4.Caffe
由伯克利视觉学习中心(BLVC)和社区贡献者们基于BSD-2-协议开发的一个深度学习框架,它秉承“表示、效率和模块化”的开发理念。模型和组合优化通过配置而不是硬编码实现,并且用户可根据需要在CPU处理和GPU处理之间进行切换,Caffe的高效性使其在实验研究和产业部署中的表现很完美,使用单个NVIDIA K40 GPU处理器每天即可处理超过六千万张图像 。
5.H2O
使人轻松地应用数学和预测分析来解决当今极具挑战性的商业问题,它巧妙的结合了目前在其他机器学习平台还未被使用的独有特点:最佳开源技术,易于使用的WebUI和熟悉的界面,支持常见的数据库和不同文件类型。用H2O,你可以使用现有的语言和工具。此外,也还可以无缝扩展到Hadoop环境中。
6.Massive Online Analysis (MOA)
目前最受欢迎的数据流挖掘开源框架,拥有一个非常活跃的社区。它包含一系列的机器学习算法(分类,回归,聚类,离群检测,概念漂移检测和推荐系统)和评价工具。和WEKA项目一样,MOA 也是用Java编写,但扩展性更好。
7.MLlib (Spark)
Apache Spark的机器学习库,目的是让机器学习实现可伸缩性和易操作性,它由常见的学习算法和实用程序组成,包括分类、回归、聚类,协同过滤、降维,同时包括底层优化原生语言和高层管道API。
8.Mlpack
一个基于C++的基础学习库 ,最早于2011年推出,据库的开发者声称,它秉承“可扩展性、高效性和易用性”的理念来设计的。执行Mlpack有两种方法:通过快速处理简易的“黑盒”操作命令行执行的缓存,或者借助C++ API处理较为复杂的工作。Mlpack可提供简单的能被整合到大型的机器学习解决方案中的命令行程序和C++的类。
9.Pattern
Python编程语言的web挖掘组件,有数据挖掘工具( Google、Twitter 、Wikipedia API,网络爬虫,HTML DOM解析器),自然语言处理(词性标注,n-gram搜索,情感分析,WordNet接口),机器学习(向量空间模型,聚类,支持向量机),网络分析和可视化。
10.Scikit-Learn
为了数学和科学工作,基于现有的几个Python包(Numpy,SciPy和matplotlib)拓展了Python的使用范围。最终生成的库既可用于交互式工作台应用程序,也可嵌入到其他软件中进行复用。该工具包基于BSD协议,是完全免费开源的,可重复利用。Scikit-Learn中含有多种用于机器学习任务的工具,如聚类,分类,回归等。Scikit-Learn是由拥有众多开发者和机器学习专家的大型社区开发的,因此,Scikit-Learn中最前沿的技术往往会在很短时间内被开发出来。
11.Shogu
最早的机器学习库之一,它创建于1999年,用C++开发,但并不局限于C++环境。借助SWIG库,Shogun适用于各种语言环境,如Java,Python,c#,Ruby,R,Lua,Octave和Mablab。Shogun 旨在面向广泛的特定类型和学习配置环境进行统一的大规模学习,如分类,回归或探索性数据分析。
12.TensorFlow
一个使用数据流图进行数值运算的开源软件库,它实现了数据流图,其中,张量(“tensors”)可由一系列图形描述的算法来处理,数据在该系统中的变化被称为“流”,由此而得名。数据流可用C++或Python编码后在CPU或GPU的设备上运行。
13.Theano
一个基于BSD协议发布的可定义、可优化和可数值计算的Phython库。使用Theano也可以达到与用C实现大数据处理的速度相媲美,是支持高效机器学习的算法。
14.Torch
一种广泛支持把GPU放在首位的机器学习算法的科学计算框架。由于使用了简单快速的脚本语言LuaJIT和底层的C/CUDA来实现,使得该框架易于使用且高效。Torch目标是让你通过极其简单的过程、最大的灵活性和速度建立自己的科学算法。Torch是基于Lua开发的,拥有一个庞大的生态社区驱动库包设计机器学习、计算机视觉、信号处理,并行处理,图像,视频,音频和网络等。
15.Veles
一套用C++开发的面向深层学习应用程序的分布式平台,不过它利用Python在节点间自动操作与协作任务。在相关数据集中到该集群之前,可对数据进行分析与自动标准化调整,且REST API允许将各已训练模型立即添加至生产环境当中,它侧重于性能和灵活性。Veles几乎没有硬编码,可对所有广泛认可的网络拓扑结构进行训练,如全卷积神经网络,卷积神经网络,循环神经网络等。
———— / END / ————
以上是关于目前最流行的机器学习算法是啥的主要内容,如果未能解决你的问题,请参考以下文章