数据挖掘
数据挖掘的定义
数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,做出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,做出正确的决策。
1. 技术上的定义
数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。这个定义包括好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。
2. 商业角度的定义
数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。因此,数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。
数据挖掘工作流程
1.确定业务对象
清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步.挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,为了数据挖掘而数据挖掘则带有盲目性,是不会成功的。
2.数据准备
1)、数据的选择
搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据.
2)、数据的预处理
研究数据的质量,为进一步的分析作准备.并确定将要进行的挖掘操作的类型。
3)、数据的转换
将数据转换成一个分析模型.这个分析模型是针对挖掘算法建立的.建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键。
3.数据挖掘
对所得到的经过转换的数据进行挖掘.除了完善从选择合适的挖掘算法外,其余一切工作都能自动地完成。
4.结果分析
解释并评估结果.其使用的分析方法一般应作数据挖掘操作而定,通常会用到可视化技术。
5.知识的同化
将分析所得到的知识集成到业务信息系统的组织结构中去。
机器学习(Machine Learning)
机器学习的定义
机器学习领域知名学者Tom M.Mitchell曾给机器学习做如下定义:
如果计算机程序针对某类任务T的性能(用P来衡量)能通过经验E来自我改善,则认为关于T和P,程序对E进行了学习。
机器学习的核心是“使用算法解析数据,从中学习,然后对新数据做出决定或预测”。
也就是说计算机利用以获取的数据得出某一模型,然后利用此模型进行预测的一种方法,这个过程跟人的学习过程有些类似,比如人获取一定的经验,可以对新问题进行预测。
机器学习的概念就是通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜在规律,进而对新输入的数据进行准确的分类或预测。
机器学习的分类
根据是否在人类的监督下进行学习这个问题,机器学习任务区分如下:
监督学习:监督学习算法依赖具有标签的训练数据来建立数学模型。例如,如果任务是鉴定图片是否包含某种实体,那么训练集的图片中就应该同时存在包含与不包含该实体的图片,同时,每张图片需标注是否包含该实体的标签。根据标签的数值特征(连续、离散),监督学习又可以分为分类问题与回归问题。
半监督学习:在某些情况下,并不是所有的输入数据集都被有效标注了,即训练集中包含已标注的样本和未标注的样本。实际上未标注样本与已标注样本拥有同样的分布,在训练时若能利用这一点,则会很有帮助。
无监督学习:无监督学习算法完全利用不带标签的训练数据去训练一个模型。无监督学习用于探索数据的分布,例如将点聚类等。无监督学习可用于发现数据的潜在模式,并将数据按组归类,还可用于特征学习和数据降维等。
强化学习:在动态环境中以正或负强化的形式给出反馈,并用于自动驾驶车辆,或者学习与人类对手玩游戏等。
机器学习是人工智能的一个分支,也是人工智能的一种实现方法。
深度学习
深度学习的定义
深度学习是机器学习研究中的一个新领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,比如图像,声音和文本等。
深度学习(DL)是机器学习中一种基于对数据进行表征学习的方法,是一种能够模拟出人脑的神经结构的机器学习方法。深度学习起源于人工神经网络,而人工神经网络ANN(ArTIficial Neural Network)是从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络,简称为神经网络或类神经网络。因此,深度学习又叫深层神经网络DNN(Deep Neural Networks),是从之前的人工神经网络ANN模型发展而来的。
深度学习的技术原理
深度学习的概念就源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
神经网络是一组粗略模仿人类大脑,用于模式识别的算法。神经网络这个术语来源于这些系统架构设计背后的灵感,这些系统是用于模拟生物大脑自身神经网络的基本结构,以便计算机能够执行特定的任务。
普通的神经网络可能只有几层,深度学习可以达到十几层。深度学习中的深度二字也代表了神经网络的层数。现在流行的深度学习网络结构有"CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的等。现在流行的深度学习框架有MXnet,tensorflow,caffe等,而在这些框架之上(或许不太准确),还有PyTorch,Keras等。
数据挖掘、机器学习、深度学习之间的区别与联系
数据挖掘试图从海量数据中找出有用的知识,而机器学习是数据挖掘的重要工具。
数据挖掘可以视为机器学习和数据库的交叉,它主要利用机器学习界提供的技术来分析海量数据,利用数据库界提供的技术来管理海量数据。
深度学习是机器学习的一个子集,可以看作是实现机器学习的一种方法,而机器学习是实现人工智能的一种途径,也就是说,深度学习包含于人工智能。
理论上深度学习属于机器学习的一部分,但是机器学习和深度学习也有一些主要区别:
数据依赖:深度学习必需大数据量,当数据量较小时,深度学习不合适;
硬件依赖:为保证算力,深度学习非常依赖于高端硬件设施,通常都要求有GPU环境参与运算;
特征工程:大多数机器学习算法的性能依赖于所提取的特征的准确度。深度学习尝试从数据中直接获取高等级的特征,这是深度学习与传统机器学习算法的主要的不同。
解决方案:机器学习类似于分治法,而深度学习则是一步到位、提供端到端的实时解决方案,虽然其模型训练的时长通常高于机器学习。
深度学习模仿人类大脑的运行方式,从经验中学习获取知识。
总结:数据挖掘从海量数据中找出有用的知识,可以视为机器学习和数据库的交叉;深度学习模仿人脑的机制来解释数据,是机器学习的一个子集,可以看作是实现机器学习的一种方法。
除了数据挖掘、机器学习、深度学习,更多人工智能领域的相关概念之间的关系都可以用下图表示: