基于《机器学习--周志华》一书对数据挖掘的理解

来源:互联网 发布:策略模式 java示例 编辑:程序博客网 时间:2024/06/07 05:52

对于数据挖掘、数据仓库和机器学习的联系和区别可以用一句话来表述---“从数据仓库中,利用机器学习等方法来进行数据挖掘”。在当今大数据时代下,除了数据挖掘、数据仓库、机器学习,还有深度学习、人工智能、人机交互等词炒的比较火,下面将对其中的几个进行讲解。

本门课程的名字就叫数据挖掘,因此先介绍一下数据挖掘(data mining)。数据挖掘听起来是一个很高大上的词汇,其英文名可以翻译为数据采矿,实际上指的是从大量的数据中获取所需要的有用信息,数据挖掘在各个行业都有着广泛的应用。例如金融大数据领域的信贷机构可以通过数据挖掘实现对用户的信用评级、零售行业各地区顾客不同种类商品的需求和购买习惯、电信行业数据分析、生物学领域中的基因数据分析等等。至此,便可以简单的理解清楚数据挖掘的概念。

数据挖掘所需要的数据从哪里来呢?即引出了数据仓库的概念,数据仓库较数据库仅多了一个字,却不是同一个概念。数据库和数据仓库都是通过数据管理软件进行对数据的管理,而数据库常用于数据的存取以及增删改查操作,更注重于每一条记录以及在线的数据操作;数据仓库则更加侧重于数据的分析提取,更注重于每一列的各项指标以及对历史数据的操作并且这些数据是不可修改的。

从技术层面来讲,常见的关系型数据库软件如OracleNoSql等,用于保存元数据,而这些元数据可以通过网络爬虫获取。随后通过hadoop等数据开发软件,利用MapReduce可以从数据库软件中提取并进行处理,从而再将处理好的数据放入数据仓库软件如Hive中,从这个角度便可以理解数据仓库的概念,即通过对数据库中数据的清洗与集成,将数据库中的数据进行提取整合,转化成特定的数据集,为后续数据挖掘提高了数据分析的效率。

机器学习是实现数据挖掘的途径,从字面意义上来讲,机器学习是一门让计算机通过重复学习,从而模拟或实现人类的学习操作的一门学科。自20世纪50年代便出现了机器学习的概念,但由于计算机计算能力较为落后,机器学习的实现成为难题而经历了一段衰弱时期。随着计算机硬件性能的提升和计算机价格的下降,机器学习在近几年进入了一个鼎盛发展的时期,而大数据时代下虚拟化软件如docker的出现,使得不需要大量的计算机硬件资源,便可以轻松搭建分布式,从而实现云计算,也就是多台计算机同时进行计算与交互。机器学习可以解决回归拟合、概率统计、决策分类、模式识别、图像处理、求解优化、预测等问题,通常又可将机器学习分为有监督学习和无监督学习,分别解决不同的问题。

而深度学习是机器学习的一个分支,即多层神经网络。神经网络从生物学角度说指的是生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。而机器学习领域的神经网络全名叫做人工神经网络,可以通过模拟动物神经网络的行为特征,进行分布式信息处理。人工神经网络可以分为输入层、隐藏层、输出层。它的主要特点是通过多层次的学习而得到对于原始数据的不同抽象层度的表示,进而提高分类和预测等任务的准确性。每个神经元的结构可以通过不同的sigmod函数实现,模拟生物神经网络,将输入的数据进行处理,下一层的输入是上一层对应的输出,中间对应的隐藏层层数及每一层上神经元的个数越多,所进行的过程也就越复杂,这便是深度学习中深度二字的含义。

从实践角度,常用的实现神经网络的方式有pythonMATLABMATLAB更适合于解决数学的问题,通过不同的工具箱可以解决如神经网络类的机器学习问题。而python由于其开源的特性,许多机器学习库如pandas、等,由于python其界面的可视化、语言的简便性、可处理的数据及便于修改的特性则更适合于实际应用。

以上便是我对《数据挖掘》这门课的简单理解,不足之处希望您能够指出。

原创粉丝点击