机器学习以及拓扑数据分析属于什么学科

您所在的位置: &
AppDynamics发布的APM引入了大数据分析和机器学习技术
AppDynamics发布的APM引入了大数据分析和机器学习技术
Victor Grazi
根据AppDynamics的介绍:AppDynamics的最新发布版为平台带来了高级的数据可视化技术,以及可进行超大规模行为学习和数据流处理的大数据技术。AppDynamics 2014夏季版提升了为开发、运维和业务团队所带来的价值。它提供了:
领先的应用性能监控厂商AppDynamics发布了旗舰产品&应用智能平台(Application Intelligence Platform)&的2014夏季版。
根据AppDynamics的介绍:AppDynamics的最新发布版为平台带来了高级的数据可视化技术,以及可进行超大规模行为学习和数据流处理的大数据技术。AppDynamics 2014夏季版提升了为开发、运维和业务团队所带来的价值。它提供了:
直观深入的数据可视化能力,一个自主学习的业务事务引擎,这个引擎能自动对业务中的关键事务进行分类,并提供了智能仪表板和高级的分析功能。
一个用于处理大量事件、度量和元数据的大数据平台。这个平台拥有全新的架构和大量可扩展的大数据基础结构组件,比如Hadoop。
更深更广的数据可视化和搜集能力。一些新应用为了进行端到端的业务事务监控,而使用了我们的自动代码注入(Automatic Code
Injection)和动态上下文传播(Dynamic Context Propagation)技术。这组能力为这些应用提供了支持。
新特性包括:
先进的&流图(Flow Maps)&,使用机器学习算法将复杂的拓扑进行直观的可视化。
仪表板的自组织布局。使用自动分组的启发式算法来动态地决定图层和节点的权重,以帮助分离出最重要的节点和图层。
用自主学习事务引擎分离关键的事务。
基于对节点和图层属性的配置,智能仪表板使用模版进行仪表板的自动生成。
可扩展的事件服务,确保能实时搜索多达10万亿的事件。
基于Hadoop的度量服务。
支持.Net Async。
试支持C++应用。
这是AppDynamics的第一个支持Java 8特性的常规版本。支持的特性包括Lambda表达式和并行流(parallel streams)。
在过去的两年里,AppDynamics&前瞻性&和&执行力&方面的企业引领者。&其他处于第一梯队的APM厂商有:Riverbed Technology、Compuware和New Relic。
InfoQ和AppDynamics的产品销售和策略经理Maneesh Joshi进行了交谈。交谈内容包括这次发布的版本、AppDynamics的成功公式和面临的挑战。
记者:Gartner已经连续两年将AppDynamics排在了行业的首位。随着竞争者的不断增加,AppDynamics如何能保持领先地位?
Maneesh:AppDynamics极其专注于三件事:客户满意度、技术创新和零阻力进入市场的策略。
在整个企业软件行业里,我们得到了最高的NPS分数,84分。我们引以为荣。这甚至可以比肩那些诞生于50年代的受欢迎客户品牌的NPS得分。在这个优异的客户满意得分后面,是大量辛勤的工作和为客户带来成功的虔诚承诺。
第二个差异在于产品的创新。数分钟内,产品就能被安装并开始展示其价值。我们的一些大规模部署,需要监控多达15000台服务器。而这些部署在一个星期内就可以完成。客户已经习惯了传统厂商按月(甚至年)为时长的部署周期。
最后,简单的进入市场策略。我们的客户不仅能快速上手运行应用智能平台;而且他们在部署它时可以有多种选择。他们可以先免费试用拥有全部特性的 AppDynamics Pro。在15天之后,他们能继续并永久免费地使用AppDynamics
Lite。这给了我们的客户一个尝试的机会。通过这个机会,他们将会看到我们给他们带来的巨大价值。平台也提供了其他的部署选项,如:SaaS、私有云、 企业系统、混合云。
记者:产品监控是一个非常重要的服务,然而我们发现许多大客户忽视了这个环节。公司在开始描述他们的产品应用时会遇到什么样的障碍?你们又是怎么处理这些问题的?
Maneesh:你对市场的评估是正确的。那些尝试使用传统APM厂商的组织,会因为实现APM和监控他们复杂 应用的困难程度而感到沮丧。也许就是对传统厂商的不信任,驱使他们在做出购买决定前先尝试我们的试用版。我们已经见证,有若干家财富500强公司在看到安 装和运行AppDynamics有多容易后,成为我们下一代应用智能监控概念的信徒。我们也见证了一家领先的网络设备厂商在一周之内将我们的软件部署到 15000个节点上进行监控。这些节点将数据汇报给一个单独的控制器。这个控制器将这些数据展示在一个单独的监控仪表板上。当你听到像这样一个客户成功的 故事后,就会知道你正在改变这个产业。
记者:新版本是否存在一个重要的特性,能够将其与别的厂商或之前的版本真正地区分开来?
Maneesh:我们一直都是那些大规模新式部署的首选。我们监控的这些超大规模部署,让我们发现了一堆以前从 来没有遇到过的问题。我们的工程小组视之为一个机会。一个引入一些前沿的大数据科学进展以及扩展APM疆界的机会。在可视化和平台层面,我们采用了许多高 级的自主学习算法。在可视化层面,我们带来了直观的、深入的数据可视化能力,包括一个能够自动对关键业务进行分类的自主学习业务事务引擎,智能仪表板,和 高级的分析功能。我们的平台架构使用了大量可扩展的大数据基础结构组件,比如Hadoop,
能够处理大量事件、度量和元数据。我们也扩展了我们的监控开发集合,除了支持Java、.NET、PHP和Node.js外,也支持C++。然而,我们知 道我们能为客户做的还有很多。所以在不久的将来,期待能为大家带来更加令人兴奋的新闻。
本文链接:q.com/cn/news/2014/08/AppDynamics-Release?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
罗永浩再次证明他在公开场合即兴演说和论辩的强大技巧,而王自如
讲师: 8人学习过讲师: 41人学习过讲师: 65人学习过
手机游戏开发可以很简单,如Flappy Bird,一个人一杯
张小龙已经成为产品经理心中的神,无数人纷纷膜拜憧憬
国际消费类电子产品展览会(International Consumer E
本书全面系统地概括了计算机网络的基本理论,详细阐述了OSI模型与网络协议、网络规划与综合布线、对等网络与服务器/客户端网络、
Windows Phone专家
Android开发专家
51CTO旗下网站机器学习常见算法分类汇总 - 文章 - 伯乐在线
& 机器学习常见算法分类汇总
机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考。
机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。
根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。
监督式学习:
在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)
非监督式学习:
在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。
半监督式学习:
在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。
强化学习:
在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)
在企业数据应用的场景下, 人们最常用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据, 目前半监督式学习是一个很热的话题。 而强化学习更多的应用在机器人控制及其他需要进行系统控制的领域。
算法类似性
根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法等等。当然,机器学习的范围非常庞大,有些算法很难明确归类到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。
回归算法:
回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)
基于实例的算法
基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM)
正则化方法
正则化方法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net)。
决策树学习
决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM)
贝叶斯方法
贝叶斯方法算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。常见算法包括:朴素贝叶斯算法,平均单依赖估计(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。
基于核的算法
基于核的算法中最著名的莫过于支持向量机(SVM)了。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:支持向量机(Support Vector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等
聚类,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。
关联规则学习
关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 Apriori算法和Eclat算法等。
人工神经网络
人工神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。(其中深度学习就是其中的一类算法,我们会单独讨论),重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ)
深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是, 更是在国内引起了很多关注。
在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。
降低维度算法
像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS),
投影追踪(Projection Pursuit)等。
集成算法:
集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。
可能感兴趣的话题
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线后使用快捷导航没有帐号?
拓扑数据分析在机器学习中的应用
查看: 18821|
评论: 0|原作者:
曾凤|来自: CSDN
摘要: 机器学习(ML)算法涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。而“拓扑 ...
(ML)涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它是的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。而“拓扑数据分析”作为机器学习的一种形式,已经开始被广泛应用。本文简要介绍“拓扑数据分析”在机器学习中的应用以及优势。什么是拓扑学?拓扑学是一种几何学,但它研究的并不是大家所熟悉的普通几何性质,而是一类特殊的几何性质,这就是“拓扑性质”,即图形在整体结构上的特性。它与几何图形的大小、形状以及所含线段的曲直等无关。不过,最近拓扑学开始和数据分析相结合,用来发现大数据中的一些隐形的有价值的关系,我们将其称为“拓扑数据分析”(Topological Data Analysis,简称TDA)。拓扑学中有一个著名的定理Euler多面体定理。这个定理非常简单:对于任意的一个凸多面体,它的面数为f,棱数为l,顶点数为v,那么其必然满足下面的等式:f-l+v=2也就是说顶点数与面数之和比棱数多2。2这个数字,是第一个拓扑数,它标记拓扑等价于球面的几何体。所谓拓扑等价,指的是如果两个几何体可以通过连续拉伸、扭曲、旋转等操作变换到对方(如图1),这些操作不能是粘合、撕裂,那么这两个几何体称作是拓扑等价的。因此,也有人形象地将拓扑学称为橡皮几何学,因为它研究的性质在图形做弹性形变时是不会改变的。图1 拓扑等价示例TDA可以有效地捕捉高维数据空间的拓扑信息,已成功地运用到许多领域,例如肿瘤、神经、图像处理和生物物理学等。TDA的成功主要基于两个事实:一是不同数据具有不同的结构,更形象地也可以称之为形状,即每个数据集都含有独特的形状;另一个是数据的形状蕴藏着巨大的研究价值,它能反映数据的大部分特征。以下我们就着重讨论如何刻画“数据的形状”。从几何的观点来看,降维可看成是挖掘嵌入在高维数据中的低维线性或非线性流形。这种嵌入保留了原始数据的几何特性,即在高维空间中靠近的点在嵌入空间中也互相靠近。举个简单的例子,如图2,左边是点云数据,它与坐标无关,看起来像只手,右边是经过拓扑分析后得到的图像,看起来像“手的骨骼”。图2 拓扑分析示例从左边到右边,就完成了拓扑分析“形状的重构”。右图用几个点以及几条边就刻画出了与原数据存在“几分相似”的拓扑图,而TDA要找的就是这“几分相似”,因为这“几分相似”会产生很多有用的信息。从以上例子可以看出,TDA学习的是数据集的整体特征,对小误差的容忍度很大——即便你的相似度概念在某种程度上存在缺陷,而且它完全不受坐标的限制,在发生变形时,仍能保持原有的性质,能很好地反映数据的形状。这就是TDA的优点-通用性。对于TDA,任何相似性概念都可以拿来使用,但对于ML,你需要一个(或更多)强化的相似性概念,与其他方法一起发挥作用。与拓扑密不可分的“流形学习”提到拓扑,就不得不说“流形学习”。“流形”就是在局部与欧氏空间同胚的空间。换言之,它是局部具有欧氏空间性质的空间,能用欧氏距离来进行距离计算。这给降维方法带来了很大的启发:若低维流形嵌入到高维空间中,则数据样本在高维空间的分布虽然看上去非常复杂,但在局部上仍具有欧氏空间的性质。因此可以容易地局部建立降维映射关系,然后设法将局部映射推广到全局。如果将维度降到2或3维,就能对数据进行可视化展示,因此流形学习也可被用于可视化。“流形学习”是一类借鉴了拓扑流形概念的降维方法,分为线性的和非线性两种:线性的流形学习方法,如我们熟知的主成份分析(PCA)。非线性的流形学习方法,包括等距映射(Isomap)、拉普拉斯特征映射(Laplacian Eigenmaps,简称LE)、局部线性嵌入(Locally-linear Embedding,简称LLE)。本文主要介绍一种比较新的流形学习方法:t-分布邻域嵌入算法(t-Distributed Stochastic Neighbor Embedding,简称t-SNE)。t-SNE主要基于这样的思想:如果两个数据点在原始空间中距离较近,但它们的两个映射点距离较远,它们就会相互吸引;当它们的两个映射点距离较,则他们会相互排斥。当达到平衡时得到最后的映射,完成原始高维空间与低维映射空间之间的映射关系。TDA经常与t-SNE算法相结合使用,能达到比较好的效果。下面通过一个TDA与t-SNE处理高维数据的案例来说明。样本如图3,为MNIST手写数字识别库,它是美国中学生手写的数字数据库,总共有1797张图片,每张图片的大小为8*8,展开之后就是64维,每张图片代表一个样本点,所以样本数据大小为(1797,64)。考虑到高维数据计算余弦距离最快,我们采用余弦距离表示每个样本点的相似度。图3 MNIST手写数字识别库图4 t-SNE与TDA相结合的计算结果图5 t-SNE与TDA相结合的计算结果利用t-SNE与TDA相结合的算法进行计算,结果如图4和图5所示。点越大说明该集合所含的样本点越多,有边连接的部分说明两个集合相似度比较高。不同的颜色代表原始高维空间与低维映射空间之间的不同映射关系。简单查看结果,可以发现TDA确实把相似度高的集合连接在了一起,而相似度较低的集合被分开了。从这个例子可以看出,利用TDA做可视化也是一个不错的选择。TDA的应用比较广泛,Gurjeet Singh的文章[1]中给出了很多有关TDA的应用,例如图6,第一列和第三列代表3D数据,与它们相对应的拓扑图分别放置在第二列和第四列。它们简明地向我们解释着数据中隐藏的形状,从中我们可以得到很多有用信息,这是传统方法无法识别的。图6 TDA可以简明地解释数据中隐藏的形状另外,瀚思在帮助客户利用TDA对用户行为进行分析时,发现它的计算时间也相当快。测试样本数据大小为10w*10w,计算时间约为五分钟,而且错误率仅仅为1.3%。这相比传统的方法,看起来相当可观。总结TDA是机器学习中一个非常强大的工具,TDA与机器学习方法可以一起使用,得到的效果比使用单个技术更好。更重要的是,它从很大程度上改变了我们分析数据的方式,将拓扑这个纯数学领域的学科与数据分析相结合,是一个很前沿和大胆的技术。笔者相信未来会有更多基于TDA与机器学习的相关算法被提出,并能够成功应用到信息安全领域。参考文献[1] Gurjeet Singh, Facundo Meoli and Gunnar Carlsson. Topological methods for the analysis of high dimensional data sets and 3D object recognition. 2007.作者简介:曾凤,瀚思Hansight算法工程师,负责机器学习和数据挖掘工作,为Hansight的数据产品和服务提供支持。主要关注异常检测算法、分类/聚类算法、图算法等。欢迎加入本站公开兴趣群高性能计算群兴趣范围包括:并行计算,GPU计算,CUDA,MPI,OpenMP等各种流行计算框架,超级计算机,超级计算在气象,军事,航空,汽车设计,科学探索,生物,医药等各个领域里的应用QQ群:
刚表态过的朋友 ()
上一篇:下一篇:}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信