谈谈对AI,数据挖掘等热门技术的认识

随着互联网金融大数据的时代的到来,人工智能,大数据,云计算,区块链等技术无疑是当下最火的技术。当我刚开始听到这些名词的时候,一脸懵逼,相信大多数人的第一反应也是如此,由于自己对AI,大数据等技术颇为感兴趣,因此在空闲的时候也会关注这些技术。随着见识的增长,也慢慢对AI,大数据,云计算有了慢慢的认识,自己也算是已经跨入了这个技术的门槛,因此,今天就想写写自己对数据挖掘的认识。

数据挖掘,机器学习,大数据的关系

数据挖掘与机器学习

首先,想说的就是数据挖掘与机器学习的关系,它们之间到底存在着什么联系。对于机器学习,属于AI(Artificial Intelligence)的一个分支,对于AI(人工智能)的解释,网上有很多解释,下面是摘自维基百科的一段解释:

人工智能(英语:Artificial Intelligence, AI)亦称机器智能,是指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序的手段实现的人类智能技术。该词也指出研究这样的智能系统是否能够实现,以及如何实现的科学领域。同时如此,人类数量亦开始收敛。

那么什么是机器学习呢?首先来看一张图,图中表示了各个不同层面的人对于机器学习的理解,如下图所示:

到底什么是机器学习呢? 所谓机器学习,就是对于一个给定的任务T,在合理的性能方案的度量下,设计一个计算机程序来自主的学习任务T的经验E,随着不断的提供合适的,优越的,大量的经验E,该程序对于任务T的性能逐渐提高。

换句话说,机器学习是人工智能的一个分支,我们使用计算机系统设计一个程序,通过提供大量的数据按照一定的方式来学习,通过训练的次数不断的增加,该系统在性能上不断的改进和学习,通过参数不断的优化,能够对于一定问题的输出做出相关预测。

最让人瞩目的无疑是自动驾驶汽车以及智能机器人的出现,如何设置自动驾驶系统呢?这与机器学习密切相关,要想让系统自动驾驶汽车就需要通过大量的数据训练学习,更加拟人化的说,一个人要驾驶一辆车首先学会如何驾驶,因为我们会去驾校考驾照,在驾校教练会对你不断的训练,叫你如何识别障碍物,如何掌握方向盘转弯。与此类似,应用到自动驾驶系统上,就是让系统学会如何驾驶一辆汽车,程序员充当的就是教练的角色,不同的通过数据来提高系统识别各种情况能力,比如左转还是右转,红灯还是绿灯。

对于一个人,刚生下来就是就需要大量的学习才能掌握很多技能,比如说话,吃饭,对于人工智能系统,就像一个新生的婴儿,需要技术人员不断的训练,叫系统学习各种技能。人类是如何学习的呢?

首先,介绍一下机器学习的几个分类:

监督学习

分类预测

回归分析

无监督学习

聚类算法

关联规则

半监督学习

强化学习(增强学习)

Q-Learning

时间差学习

监督学习

小时候,你会经常问你爸妈一些问题,比如到晚上,一轮圆月升起,你指着天空问,这是什么,你爸妈跟你说这是月亮,你的脑海中就会有个印象,“哦,原来月亮是一个圆圆的像一个盘子一样还会发光的东西”;到了第二天晚上,一轮弯月升起,你又指着天空问你爸妈这是什么?你爸妈回答你说这是月亮,你的脑海中又会记下,“哦,原来,一个弯弯的像镰刀一样还会发光的东西也是月亮啊”。随着月亮的形状的不断变化,你爸妈不断的叫你识别,你也学会了识别月亮的各种学习。每当夜晚月亮升起,你脑海中会浮现出月亮的样子与天空的月亮的月亮相似。因此,你会不断的积累经验,判断月亮的准确率不断的提高。对于机器学习来说,它也是通过上面的方式来不断的学习来识别的某个特定的东西。不过,上面的例子是一个监督学习的例子,什么是监督学习呢?对于监督学习,我的理解是:对于某一个问题,通过对不同维度的特征值的计算分析,在已经目标结果的情况下,建立一个模型(函数),将其应用到相应的场合做出准确的预测。

假如要判断一个人的性别,我们可以提取一个人的特征值,比如身高,发长,是否吸烟为一个人的特征值,目标值就是我们要预测的结果,男或者女。

而监督学习又主要分为两类算法:分类预测和回归分析。

分类预测所谓分类预测,就是对于离散值的预测,比如上面说的预测男女。最常见的还有你每天上网时会发现同一类新闻基本都聚集在一起。说到这里,还要介绍一个很有趣的算法,那就是推荐算法,我们每一个人日常都会去淘宝购物,不知道你有没有发现,当你对某一类物品浏览的次数增加的时候,淘宝就会自动推荐一些商品,比如,最常见的就是“和你相似的人对下面的物品也感兴趣。。。。”,这就是典型的推荐系统,在这个系统的背后,不断的提取你的个人信息进行分析,然后推荐给你系统认为更感兴趣,更容易购买的产品。

回归预测回归预测,就是对一系列连续的值进行预测分析,比如房价的预测。

无监督学习

有了监督学习,对应的有无监督学习,无监督学习相比监督学习更加有难度,对于无监督学习,它对于某一个特定的事件,只会通过一些给定的特征值来进行分析,它没有目标值。

这里要说的就是聚类算法,所谓物以类聚,人以群分。就是将类似的对象划分为多个类的过程。

机器学习,还有很多方向,比如半监督学习,强化学习等等,由于能力与篇幅的限制,这里就不再详细介绍了。

下图是机器学习的几个方向:

从图中我们可以看到数据挖掘,对于数据挖掘,它也是机器学习的一个不同应用的方向,什么是数据挖掘呢?采用专业的术语来讲:数据挖掘就是通过一些已知的海量数据中挖掘出隐含的,未知的,对于某件事具有决策性的信息。数据挖掘的价值就在于这些挖掘出来的信息,不过数据挖掘的过程也是相当复杂;首先,我们需要大量的数据,这些数据从和而来,怎么处理这些数据等等一系列问题。

数据挖掘与大数据

说到数据挖掘,不得不说说大数据,上面刚说到数据挖掘的先决条件就是需要大量的数据,如何获取这些数据呢?对于现代互联网发达的社会,每天都会产生海量的数据,对于一些电商系统来说,它们需要分析每天访问它们网站的客户的行为,产生大量的日志文件。因此,如何获取海量的数据呢?一般有两种途径,后台日志信息与前端服务器日志文件(比如NGINX),这时,又有一个问题,这么大的数据量如何存储呢?随着数据量的日益增大,RDBMS不可能再撑得起如此大的数据量,因此出现了hadoop生态系统以及hbase等分布式NOSQL数据库来存储海量的数据。当获取了海量的数据后,接下来要做的工作就是处理数据,因为,我们不可能保证所有的数据都是按照我们期望的格式存储,难免会出现一些损坏的数据,因此,我们要删除这些损坏的数据,这个过程有一个更加专业化的术语:数据清洗。随之出现了Hive,Impala,Pig等数据处理分析系统,它们通过更加方便简化的SQL语句来对数据进行清洗和分析。在以前这些工具都是建立在hadoop生态系统之上,比如hive基层走的mapreduce程序,但是逐渐的对于数据的实时性和分析计算能力要求越来越高,应用而生的出现了一些流式计算框架,比如strom,spark等计算框架,通过这些框架,就可以对数据进行很好的处理与分析。

上面说了这么说,那么,大数据与数据挖掘的关系到底是怎样的呢?就我个人理解而言:大数据包括两个阶段,大数据开发阶段,大数据研发分析阶段。所谓大数据开发阶段就是如何获取数据,对数据存储,进行一些简单的分析应用到我们的系统中,比如淘宝双11背后对于海量数据的处理存储。而大数据研发阶段在大数据开发之后,也就是说,通过之前获取,存储,处理的海量数据采用一定的机器学习算法对某件事做出结果的预测。大数据是一个很大的概念,可以这么说,数据挖掘是大数据一个比较热门的方向,也是高级的大数据挖掘。

这就是我个人对于机器学习,大数据以及数据挖掘的认识,也许说的不够清楚,不够准确,不过也算是谈谈自己对这些技术的认识,对自己积累的知识的总结了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180511G00MET00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励