大数据架构详解:从数据获取到深度学习
副标题[/!--empirenews.page--]
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。其专门研究计算机是怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。此外,数据挖掘和机器学习有很大的交集。本文将从架构和应用角度去解读这两个领域。 机器学习和数据挖掘的联系与区别数据挖掘是从海量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。数据挖掘中用到了大量的机器学习界提供的数据分析技术和数据库界提供的数据管理技术。从数据分析的角度来看,数据挖掘与机器学习有很多相似之处,但不同之处也十分明显,例如,数据挖掘并没有机器学习探索人的学习机制这一科学发现任务,数据挖掘中的数据分析是针对海量数据进行的,等等。从某种意义上说,机器学习的科学成分更重一些,而数据挖掘的技术成分更重一些。 学习能力是智能行为的一个非常重要的特征,不具有学习能力的系统很难称之为一个真正的智能系统,而机器学习则希望(计算机)系统能够利用经验来改善自身的性能,因此该领域一直是人工智能的核心研究领域之一。在计算机系统中,“经验”通常是以数据的形式存在的,因此,机器学习不仅涉及对人的认知学习过程的探索,还涉及对数据的分析处理。实际上,机器学习已经成为计算机数据分析技术的创新源头之一。由于几乎所有的学科都要面对数据分析任务,因此机器学习已经开始影响到计算机科学的众多领域,甚至影响到计算机科学之外的很多学科。机器学习是数据挖掘中的一种重要工具。然而数据挖掘不仅仅要研究、拓展、应用一些机器学习方法,还要通过许多非机器学习技术解决数据仓储、大规模数据、数据噪声等实践问题。机器学习的涉及面也很宽,常用在数据挖掘上的方法通常只是“从数据学习”。然而机器学习不仅仅可以用在数据挖掘上,一些机器学习的子领域甚至与数据挖掘关系不大,如增强学习与自动控制等。所以笔者认为,数据挖掘是从目的而言的,机器学习是从方法而言的,两个领域有相当大的交集,但不能等同。 典型的数据挖掘和机器学习过程图1是一个典型的推荐类应用,需要找到“符合条件的”潜在人员。要从用户数据中得出这张列表,首先需要挖掘出客户特征,然后选择一个合适的模型来进行预测,最后从用户数据中得出结果。 ![]() 图1 把上述例子中的用户列表获取过程进行细分,有如下几个部分(见图2)。 ![]() 图2
整个过程会不断反复,模型也会不断调整,直至达到理想效果。 机器学习概览机器学习的算法有很多,这里从两个方面进行介绍:一个是学习方式,另一个是算法类似性。 学习方式根据数据类型的不同,对一个问题的建模可以有不同的方式。在机器学习或人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域有如下几种主要的学习方式。 监督式学习:在监督式学习下,输入数据被称为“训练数据”,每组训练数据都有一个明确的标识或结果,如对防垃圾邮件系统中的“垃圾邮件”、“非垃圾邮件”,对手写数字识别中的“1”、“2”、“3”、“4”等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断地调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景包括分类问题和回归问题。常见算法有逻辑回归和反向传递神经网络。 非监督式学习:在非监督式学习下,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习及聚类等。常见算法包括Apriori算法和K-Means算法。 半监督式学习:在半监督式学习下,输入数据部分被标识,部分没有被标识。这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构,以便合理地组织数据进行预测。其应用场景包括分类和回归。常见算法包括一些对常用监督式学习算法的延伸。这些算法首先试图对未标识的数据进行建模,然后在此基础上对标识的数据进行预测,如图论推理算法或拉普拉斯支持向量机等。 强化学习:在强化学习下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅作为一种检查模型对错的方式。在强化学习下,输入数据直接反馈到模型,模型必须对此立刻做出调整。常见的应用场景包括动态系统及机器人控制等。常见算法包括Q-Learning及时间差学习(Temporal Difference Learning)等。 在企业数据应用的场景下,人们最常用的可能就是监督式学习和非监督式学习。在图像识别等领域,由于存在大量的非标识数据和少量的可标识数据,目前半监督式学习是一个很热门的话题。而强化学习更多地应用在机器人控制及其他需要进行系统控制的领域。 算法类似性 根据算法的功能和形式的类似性,可以对算法进行分类,如基于树的算法、基于神经网络的算法等。当然,机器学习的范围非常庞大,有些算法很难明确归到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |