机器学习简介
机器学习,通俗地讲就是让机器拥有学习的能力,从而改善系统自身的性能。
这里的“学习”指的是从数据中学习,从数据中产生模型的算法,即学习算法。有了学习算法,只要把经验数据提供给它,它就能够基于这些数据产生模型,在面对新的情况时,模型能够提供相应的判断,进行预测。
机器学习实质上是基于数据集的,它通过对数据集进行研究,找出数据集中数据之间的联系和数据的真实含义。
机器学习的发展
机器学习的应用前景
1.数据分析与挖掘
数据挖掘是“识别出巨量数据中有效的、新颖的、潜在有用的、最终可理解的模式的过程”
数据分析则通常被定义为“指用适当的统计方法对收集来的大量第一手资料和第二手资料进行分析,以求最大化地开发数据资料的功能,发挥数据的作用,是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程”。
2.模式识别
模式识别研究主要集中在两个方面:一是研究生物体(包括人)是如何感知对象的,属于认识科学的范畴;二是在给定的任务下,如何用计算机实现模式识别的理论和方法,这些是机器学习的长项。
模式识别的应用领域广泛,包括计算机视觉、医学图像分析、光学文字识别、自然语言处理、语音识别、手写识别、生物特征识别、文件分类、搜索引擎等,而这些领域也正是机器学习大展身手的舞台,因此模式识别与机器学习的关系越来越密切。
3.更广阔的领域
研究和应用机器学习的最终目标是全面模仿人类大脑,创造出拥有人类智慧的机器大脑。
监督学习
监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。
1.监督学习概述
监督学习表示机器学习的数据是带标记的,这些标记可以包括数据类别、数据属性及特征点位置等。
具体实现过程是通过大量带有标记的数据来训练机器,机器将预测结果与期望结果进行比对;之后根据比对结果来修改模型中的参数,再一次输出预测结果;再将预测结果与期望结果进行比对,重复多次直至收敛,最终生成具有一定鲁棒性的模型来达到智能决策的能
力。
常见的监督学习有分类(Classification)和回归(Regression),分类是将一些实例数据分到合适的类别中,其预测结果是离散的;回归是将数据归到一条“线”上,即为离散数据生产拟合曲线,因此其预测结果是连续的。
2.监督学习的应用
判断邮件是否为垃圾邮件
无监督学习
根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称为无监督学习。
1.无监督学习概述
无监督学习的训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律。
无监督学习表示机器从无标记的数据中探索并推断出潜在的联系。
常见的无监督学习有聚类(Clustering)和降维(Dimensionality Reduction)两种。在聚类工作中,由于事先不知道数据类别,因此只能通过分析数据样本在特征空间中的分布,如基于密度或基于统计学概率模型,从而将不同数据分开,把相似数据聚为一类。降维是将数据的维度降低,由于数据本身具有庞大的数量和各种属性特征,若对全部数据信息进行分析,则会增加数据训练的负担和存储空间。因此可以通过主成分分析等其他方法,考虑主要因素,舍弃次要因素,从而平衡数据分析的准确度与数据分析的效率。在实际应用中,可以通过一系列的转换将数据的维度降低。
2.无监督学习的应用
数据挖掘,用于在大量无标签数据中寻找信息。
3.监督学习与无监督学习的区别
(1)监督学习是一种目的明确的训练方式;而无监督学习是没有明确目的的训练方式。
(2)监督学习需要给数据打标签;而无监督学习不需要给数据打标签。
(3)监督学习由于目的明确,因此可以衡量效果;而无监督学习几乎无法衡量效果如
何。
半监督学习
机器学习的核心是从数据中学习,从数据出发得到未知规律,利用规律对未来样本进行预测和分析。
监督学习需要大量已标记类别的训练样本来保证其良好的性能;无监督学习不使用先验信息,利用无标签样本的特征分布规律,使得相似样本聚到一起,但模型准确性难以保证。
获取大量无标记样本相当容易,而获取大量有标记样本则困难得多,且人工标注需要耗费大量的人力和物力。如果只使用少量的有标记样本进行训练,往往导致学习的泛化性能低下,且浪费大量的无标记样本数据资源。
因此,使用少量标记样本作为指导,利用大量无标记样本改善学习性能的半监督学习成为研究的热点。
半监督学习包括半监督聚类、半监督分类、半监督降维和半监督回归 4 种学习场景。
常见的半监督分类代表算法包括生成式方法、半监督支持向量机(Semi-supervised Support Vector Machines,S3VMs)、基于图的半监督图方法和基于分歧的半监督方法共 4 种算法。
常见的假设模型有混合高斯模型、混合专家模型、朴素贝叶斯模型,采用极大似然方法作为参数估计的优化目标,选择最大期望(Expectation-Maximization,EM)算法进行参数的优化求解。
常见的 S3VMs 方法有直推式支持向量机(Transductive Support Vector Machine,TSVM)、拉普拉斯支持向量机(Laplacian Support Vector Machine,Laplacian SVM)、均值标签半监督支持向量机(Mean Semi-supervised Support Vector Machine,MeanS3VM)、安全半监督支持向量机(Safe Semi-supervised SVM,S4VM)、基于代价敏感的半监督支持向量机(Cost-sensitive Semi-supervised SVM,CS4VM)。
基于图的半监督方法是利用有标签和无标签样本之间的联系得到图结构,利用图结构进行标签传播。典型的基于图的半监督方法有标签传播算法、最小割算法以及流形正则化算法。
迁移学习
迁移学习是运用已存有的知识对不同但相关领域的问题进行求解的一种新的机器学习方法。按照迁移学习方法采用的技术划分,可以把迁移学习方法分为 3 类:基于特征选择的迁移学习、基于特征映射的迁移学习和基于权重的迁移学习。
根据源领域和目标领域中是否有标签样本,可将迁移学习方法划分为 3 类:目标领域中有少量标注样本的归纳迁移学习(Inductive Transfer Learning)、只有源领域中有标签样本的直推式迁移学习(Transductive Transfer Learning)、源领域和目标领域都没有标签样本的无监督迁移学习。
根据源领域中是否有标签样本,把归纳迁移学习方法分为 2 类:多任务迁移学习和自学习
强化学习
强化学习(Reinforcement Learning,RL)又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中,通过学习策略以达成回报最大化或实现特定目标的问题。
强化学习主要包括智能体、环境状态、奖励和动作 4 个元素以及一个状态。
强化学习是带有激励机制的,即如果机器行动正确,则施予一定的“正激励”;如果机器行动错误,则会给出一定的惩罚,也可称为“负激励”。在这种情况下,机器将会考虑在一个环境中如何行动才能达到激励的最大化,具有一定的动态规划思想。
强化学习的应用
机械狗
AlphaGo Zer
回归算法
回归算法是一种应用极为广泛的数量分析方法。该算法用于分析事物之间的统计关系,侧重考察变量之间的数量变化规律,并通过回归方程的形式描述和反映这种关系,以帮助人们准确把握变量受其他一个或多个变量影响的程度,进而为预测提供科学依据。
回归算法的分类
线性回归(Linear Regression)
逻辑回归(Logistic Regression)
多项式回归(Polynomial Regression)
逐步回归(Step-wise Regression)
岭回归(Ridge Regression)
套索回归(Lasso Regression)
弹性回归(Elastic Net Regression)
聚类算法
聚类就是将相似的事物聚集在一起,将不相似的事物划分到不同类别的过程,是数据挖掘中一种重要的方法。聚类算法的目标是将数据集合分成若干簇,使得同一簇内的数据点相似度尽可能大,而不同簇间的数据点相似度尽可能小。聚类能在未知模式识别问题中,从一堆没有标签的数据中找到其中的关联关系。
1.聚类算法概述
聚类技术是一种无监督学习,是研究样本或指标分类问题的一种统计分析方法。聚类与分类的区别是其要划分的类是未知的。常用的聚类分析方法有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法和聚类预报法等。
聚类分析注意点
(1)可伸缩性
(2)处理不同类型属性的能力
(3)发现任意形状的聚类
(4)输入参数的选择
(5)处理“噪声”数据的能力
(6)对于输入记录的顺序不敏感
(7)高维度
(8)基于约束的聚类
(9)可解释性和可用性
2.聚类算法的分类
(1)基于划分的聚类算法
K-Means 算法
K-Medoids 算法
CLARANS 算法
(2)基于层次的聚类算法
BIRCH 算法
CURE 算法
Chameleon 算法
(3)基于密度的聚类算法
DBSCAN 算法
OPTICS 算法
DENCLUE 算法
(4)基于网格的聚类算法
STING 算法
CLIQUE 算法
Wave-Cluster 算法
(5)基于模型的聚类算法
统计的方法
神经网络的方法
(6)传递闭包法、布尔矩阵法、直接聚类法、相关性分析聚类法
降维算法
1.降维算法概述
降维就是一种针对高维度特征进行的数据预处理方法,是应用非常广泛的数据预处理方法。
降维算法指对高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,在一定的信息损失范围内,降维可以节省大量的时间和成本。
机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。
2.降维算法的分类
主成分分析(Principal Component Analysis,PCA)法
试图在保证数据信息丢失最少的原则下,对多个变量进行最佳综合简化,即对高维变量空间进行降维处理。
因子分析(Factor Analysis,FA)法
因子分析法是从假设出发。
因子分析法有几个主要目的:一是进行结构的探索,在变量之间存在高度相关性的时候希望用较少的因子来概括其信息;二是把原始变量转换为因子得分后,使用因子得分进行其他分析,从而简化数据,如聚类分析、回归分析等;三是通过每个因子得分计算出综合得分,对分析对象进行综合评价。
3.降维算法的应用场景
降维算法通常应用于数据压缩与数据可视化中
贝叶斯算法
贝叶斯算法是对部分未知的状态进行主观概率估计,并使用贝叶斯公式对发生概率进行修正,最后利用期望值和修正概率做出最优决策。
支持向量机算法
支持向量机算法是一种支持线性分类和非线性分类的二元分类算法。经过演进,其现在也支持多元分类,被广泛地应用在回归以及分类当中。
支持向量机算法在垃圾邮件处理、图像特征提取及分类、空气质量预测等多个领域都有应用,已成为机器学习领域中不可缺少的一部分。
关联规则算法
关联规则算法常用来描述数据之间的相关关系,关联规则模式属于描述型模式。
遗传算法
遗传算法是一种启发式的寻优算法,该算法是以进化论为基础发展出来的。它是通过观察和模拟自然生命的迭代进化,建立起一个计算机模型,通过搜索寻优得到最优结果的算法。
(1)机器学习,通俗地讲就是让机器来实现学习的过程,让机器拥有学习的能力,从而改善自身的性能。
(2)监督学习表示机器学习的数据是带标记的,这些标记包括数据类别、数据属性及特征点位置等。
(3)无监督学习的训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律。
(4)半监督学习突破了传统方法只考虑一种样本类型的局限性,综合利用了有标签与无标签样
本,是在监督学习和无监督学习的基础上进行的研究。
(5)迁移学习是运用已存有的知识,对不同但相关领域的问题进行求解的一种新的机器学习方法。迁移学习放宽了传统机器学习中的两个基本假设,目的是迁移已有的知识来解决目标领域中仅有少量(甚至没有)有标签样本数据的学习问题。
(6)强化学习又称为再励学习、评价学习,是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。强化学习主要包含智能体、环境状态、奖励和动作 4 个元素。
(7)回归算法是一种应用极为广泛的数量分析方法,该算法用于分析事物之间的统计关系,侧重考察变量之间的数量变化规律,并通过回归方程的形式描述和反映这种关系,以帮助人们准确把握变量受其他一个或多个变量影响的程度,进而为预测提供科学依据。
(8)聚类就是将相似的事物聚集在一起,将不相似的事物划分到不同类别的过程。
(9)降维算法可将数据的维度降低,它通过主成分分析等其他方法,考虑主要因素,舍弃次要因素,从而平衡数据分析准确度与数据分析效率。
(10)决策树通过把实例从根节点排列到某个叶子节点来分类实例,叶子节点即为实例所属的分类。
(11)贝叶斯算法是一种使用先验概率进行处理的算法,其最后的预测结果就是具有最大概率的那个类。
(12)支持向量机算法是一种支持线性分类和非线性分类的二元分类算法,也支持多元分类。
(13)关联规则算法常用来描述数据之间的相关关系,关联规则模式属于描述型模式。
(14)遗传算法是一种启发式的寻优算法,该算法是以达尔文进化论为基础发展出来的。它是通
过观察和模拟自然生命的迭代进化,建立起一个计算机模型,通过搜索寻优得到最优结果的算
法。
神经网络简介
神经网络(Neural Network,NN)亦称为人工神经网络(Artificial Neural Network,ANN),是由大量神经元(Neurons)广泛互连而成的网络,是对人脑的抽象、简化和模拟,应用了一些人脑的基本特性。
神经网络与人脑的相似之处可概括为两方面,一是通过学习过程利用神经网络从外部环境中获取知识,二是内部神经元用来存储获取的知识信息。
神经网络的信息处理是由神经元之间的相互作用实现的,知识与信息的存储主要表现为网络元件互相连接的分布式物理联系。
人工神经网络具有很强的自学习能力,它可以不依赖于“专家”的头脑,自动从已有的实验数据中总结规律。
人工神经网络擅长处理复杂的多维的非线性问题,不仅可以解决定性问题,还可以解决定量问题,同时具有大规模并行处理和分布信息存储能力,具有良好的自适应性、自组织性、容错性和可靠性。
神经网络的结构
神经网络会将多个单一神经元连接在一起,将一个神经元的输出作为下一个神经元的输入
神经网络的结构大致可以分为以下 5 类
(1)前馈式网络:该网络结构是分层排列的,每一层的神经元输出只与下一层的神经元连接。
(2)输出反馈的前馈式网络:该网络结构与前馈式网络的不同之处在于,其中存在着一个从输出层到输入层的反馈回路。
(3)前馈式内层互连网络:在该网络结构中,同一层的神经元之间相互关联,它们有相互制约的关系。但从层与层之间的关系来看,它仍然是前馈式的网络结构,许多自组织神经网络大多具有这种结构。
(4)反馈型全互连网络:在该网络结构中,每个神经元的输出都和其他神经元相连,从而形成了动态的反馈关系,该网络结构具有关于能量函数的自寻优能力。
(5)反馈型局部互连网络:在该网络结构中,每个神经元只和其周围若干层的神经元发生互连关系,形成局部反馈,从整体上看是一种网状结构。
神经网络的学习
神经网络的学习也称为训练,指的是通过神经网络所在环境的刺激作用调整神经网络的自由参数,使神经网络以一种新的方式对外部环境做出反应的一个过程。
神经网络最大的特点是能够从环境中学习,以及在学习中提高自身性能。经过反复学习,神经网络对其环境会越来越了解。
激活函数
激活函数(Activation Functions)对于人工神经网络模型以及卷积神经网络模型学习理解非常复杂和非线性的函数来说具有十分重要的作用。
损失函数
损失函数是模型对数据拟合程度的反映,拟合得越差,损失函数的值就越大。与此同时,当损失函数比较大时,其对应的梯度也会随之增大,这样就可以加快变量的更新速度。
深度学习技术目前在人工智能领域占有绝对的统治地位,因为相比于传统的机器学习算法而言,深度学习在某些领域展现出了最接近人类所期望的智能效果,同时在悄悄地走进人们的生活,如刷脸支付、语音识别、智能翻译、自动驾驶、棋类人机大战等。
(1)神经网络亦称为人工神经网络,是由大量神经元广泛互连而成的网络,是对人脑的抽象、简化和模拟,神经网络应用了一些人脑的基本特性。
(2)感知机被认为是具有实用价值的重要分类算法之一。
(3)卷积神经网络在神经网络的基础上加入了卷积运算,通过卷积核局部感知图像信息提取其特征,多层卷积之后能够提取出图像的深层抽象特征,凭借这些特征来达到更准确的分类或预测的目标。
(4)循环神经网络是一种以序列数据为输入,在序列的演进方向进行递归,且所有节点(循环单元)按链式连接形成闭合回路的递归神经网络。
(5)生成对抗网络的网络结构由生成网络和判别网络共同构成。生成网络和判别网络可以看作博弈中的两个玩家,在模型训练的过程中,生成网络和判别网络会各自更新自身的参数以使损失最小,通过不断迭代优化,最终达到纳什均衡状态。
(1)计算机视觉是从图像或视频中提出符号或数值信息,分析计算该信息以进行目标的识别、检测和跟踪等。
(2)图像分类是根据不同类别的目标在图像信息中所反映的不同特征,将它们区分开来的图像处理方法。
(3)目标检测的任务是在图像中找出所有感兴趣的目标(物体),并确定它们的位置和大小。
(4)图像分割是利用图像的灰度、颜色、纹理、形状等特征,把图像分成若干个互不重叠的区域,并使这些特征在同一区域内呈现相似性,在不同的区域之间存在明显的差异性。
1.自然语言理解
2.自然语言生成
(1)自然语言处理是指利用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。
(2)计算机处理自然语言的整个过程一般可以概括为语料预处理、特征工程、模型训练和指标评价 4 部分。
(3)自然语言理解是指让计算机能够理解自然语言文本的意义,它可以分为语音分析、词法分析、句法分析、语义分析和语用分析 5 个层次。
(4)自然语言生成是指让计算机按照一定的语法和语义规则生成自然语言文本,通俗来讲,它指对语义信息以人类可读的自然语言形式进行表达。
(5)词法分析的主要目的是从句子中切分出单词,找出词汇的各个词素,从中获得单词的语言学信息并确定单词的词义。
(6)句法分析的作用是确定构成句子的各个词、短语之间的关系以及各自在句子中的作用等,并将这些关系用层次结构加以表达,并规范句法结构。
(7)语义分析的任务是把分析得到的句法成分与应用领域中的目标表示相关联,从而确定语言所表达的真正含义或概念。语义分析的方法主要有语义文法和格文法。
(8)信息检索是信息按一定的方式进行加工、整理、组织并存储起来,并根据用户特定的需要将相关信息准确地查找出来的过程。
(9)机器翻译是让计算机自动将源语言表示的语句转换为目标语言表示语句的过程,它有直译式翻译、中间语言式翻译和转换式翻译 3 种基本模式。统计机器翻译是目前主流的机器翻译方法,分为基于词的统计机器翻译和基于短语的统计机器翻译两种。
(10)情感分析是从评论的文本中提取出评论的实体,以及评论者对该实体所表达的情感倾向和观点。根据处理文本颗粒度的不同,情感分析大致可以分为篇章级、句子级和属性级 3 个级别的任务。
(11)语音识别是将人类语音中的词汇内容转换为计算机可读的输入,一般为可以理解的文本内容或者字符序列。语音识别的基本原理如下:先将经过预处理后的语音信号送入特征提取模块,再利用声学模型和语言模型对语音信号进行特征识别,最后输出识别结果。
1.概述
知识抽取指从不同来源、不同结构的数据中进行知识提取,形成知识的过程。
为了提供令用户满意的知识服务,知识图谱不仅要包含其涉及领域已知的知识,还要能及时发现并添加新的知识。
知识的完整性及准确性决定了知识图谱所能提供的知识服务的广度、深度和精度。因此,知识抽取在知识图谱的构建过程中显得尤为重要。
知识抽取往往采用一些自动化的抽取方法从结构化、半结构化和非结构化的信息源中提取出实体、关系、属性等信息,形成三元组或多元组关系。知识抽取的关键技术包括实体抽取、关系抽取和属性抽取。
2. 实体抽取
实体抽取也被称为命名实体识别(Named Entity Recognition,NER),指从原始数据中自动识别出命名实体。由于实体是知识图谱中最基础的知识要素,关系和属性都与实体息息相关,因此实体的抽取质量直接影响了图谱中知识的质量。
实体抽取的方法主要有基于规则与词典的方法、基于机器学习的方法以及面向开放域的方法。
知识存储概述
知识存储是针对知识图谱的知识表示形式设计底层存储方式,完成各类知识的存储,以支持对大规模数据的有效管理和计算。
知识存储的对象包括基本属性知识、关联知识、事件知识、时序知识和资源类知识等。知识存储方式的质量直接影响了知识图谱中知识查询、知识计算及知识更新的效率。
知识存储工具
1.关系数据库
2.图数据库
(1)知识图谱以结构化的形式描述客观世界中的概念、实体及其关系。
(2)知识表示方法主要分为基于符号的知识表示方法、基于表示学习的知识表示方法。
(3)知识抽取指从不同来源、不同结构的数据中进行知识提取,形成知识的过程。
(4)知识存储是针对知识图谱的知识表示形式设计底层存储方式,完成各类知识的存储,以支持对大规模数据的有效管理和计算。
(5)知识融合的目标是产生新的知识,对松耦合来源中的知识进行集成,构成一个合成的资源,以补充不完全的知识和获取新知识。
(6)知识图谱的推理首先需要考虑的是知识如何表达的问题,即知识图谱的知识表示,它包括基于图结构的表示和相应的逻辑基础,以及基于张量的表示。
(7)语义搜索是指搜索引擎的工作不再拘泥于用户所输入请求语句的字面本身,而是透过现象看本质,准确地捕捉到用户的真实意图,并依此来进行搜索,从而更准确地向用户返回最符合其需求的搜索结果。
(8)知识库问答系统在回答用户问题时,需要正确理解用户所提出的自然语言问题,抽取其中的关键语义信息,在已有单个或多个知识库中通过检索、推理等手段获取答案并返回给用户。