自然语言处理 课件 第2章 机器学习基础_第1页
自然语言处理 课件 第2章 机器学习基础_第2页
自然语言处理 课件 第2章 机器学习基础_第3页
自然语言处理 课件 第2章 机器学习基础_第4页
自然语言处理 课件 第2章 机器学习基础_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章机器学习基础目录1.神经网络与深度学习2.NLP中的深度学习3.神经网络基础知识4.多层感知机模型第二章机器学习基础神经网络与深度学习01神经网络与深度学习自然语言处理的难点1:离散性:语言是符号化和离散化的。符号与含义是不相关的。英语中,离散字符与对应词义间没有直接关系。

Pizza

Petrichor?第二章机器学习基础神经网络与深度学习自然语言处理的难点2:组合性:字母

单词

短语

句子

段落

篇章。为了理解文本的意思,我们需要超越字母和单词,结合其上下文进行分析。典型例子:一词多义第二章机器学习基础神经网络与深度学习自然语言处理的难点3:稀疏性:由离散性和组合性导致语言表达的集合是开放集。典型的问题示例:未登录词第二章机器学习基础神经网络与深度学习离散性——表示学习组合性——(上下文)分布式表示稀疏性——学习低维、实值、连续的表示第二章机器学习基础神经网络与深度学习机器学习=表示

+目标+优化Good

Representation

is

Essential

for

Good

Machine

Learning

DomingosP.AFewUsefulThingstoKnowaboutMachineLearning[J].CommunicationsoftheAcm,2012,55(10):78-87.第二章机器学习基础神经网络与深度学习YoshuaBengioatel.DeepLearning[B].BookinpreparationforMITPress,2015.第二章机器学习基础神经网络与深度学习YoshuaBengioatel.DeepLearning[B].MITPress,2015.inputHand-designedprogramoutputinputHand-designedfeaturesMappingfromfeaturesoutputinputFeaturesMappingfromfeaturesoutputinputSimplestfeaturesMostcomplexfeaturesMappingfromfeaturesoutputRule-basedSystemClassicMLRepresentationLearningDeepLearning第二章机器学习基础神经网络与深度学习inputHand-designedprogramoutputinputHand-designedfeaturesMappingfromfeaturesoutputinputFeaturesMappingfromfeaturesoutputinputSimplestfeaturesMostcomplexfeaturesMappingfromfeaturesoutputRule-basedSystemClassicMLRepresentationLearningDeepLearning特征(feature):在NLP领域中,特征表示一个具体的语言上的输入,如单词、词性、句法关系等。一般要把特征转换成向量形式“喂”给机器学习系统作为真正的输入。第二章机器学习基础神经网络与深度学习inputHand-designedprogramoutputinputHand-designedfeaturesMappingfromfeaturesoutputinputFeaturesMappingfromfeaturesoutputinputSimplestfeaturesMostcomplexfeaturesMappingfromfeaturesoutputRule-basedSystemClassicMLRepresentationLearningDeepLearning传统机器学习VS深度学习共同点:基于过去的观测数据学习如何做出预测。深度学习:不仅学习预测,同时还学习正确地表示数据,使其更有助于预测。第二章机器学习基础神经网络与深度学习CoreProblem(1)是什么导致一种表示优于另一种表示?(2)应该怎样去计算它的表示?第二章机器学习基础目录1.神经网络与深度学习2.NLP中的深度学习3.神经网络基础知识4.多层感知机模型第二章机器学习基础NLP中的深度学习02NLP中的深度学习神经网络提供了强大的学习机制,对自然语言处理问题极具吸引力。核心:将神经网络用于语言的一个主要组件是使用嵌入层(embeddinglayer),即将离散的符号映射为相对低维的连续向量。独立符号(单词)

可以运算的数学对象(向量)第二章机器学习基础NLP中的深度学习向量之间的距离可以等价于单词之间的距离,这使得更容易从一个单词泛化到另一个单词。(针对离散性)学习单词的向量表示成为训练过程的一部分。通过上层网络的表示学习过程,网络学习单词向量的组合方式以更有利于预测。(针对组合性和数据稀疏性)第二章机器学习基础NLP中的深度学习神经网络模型的基本结构输入层(嵌入层):文本——离散的字、词等特征量化成数学表示的向量或矩阵,便于神经网络计算。第二章机器学习基础NLP中的深度学习神经网络模型的基本结构隐藏层(可以有多层):自动学习特征深层表示和网络权重主要形式:前馈网络(feed-forwardnetwork)循环/递归网络(recurrent/recursivenetwork)第二章机器学习基础NLP中的深度学习神经网络模型的基本结构输出层:从特征空间映射到结果空间并进行输出主要形式:全连接层(fullyconnectedlayer)依照任务输出一个向量第二章机器学习基础NLP中的深度学习NLP中的神经网络模型(以分类问题为例)基本流程可以简述为:数据预处理:针对文本需要划分的输出类,进行预处理和相关特征提取;针对提取的特征(可能是词语、词性、语言模型等),将其向量化表示;把特征进行组合表示输入到神经网络,使用已标记的训练数据集合进行神经网络参数训练;根据网络输出结果和真实答案按照设定的目标函数计算损失,迭代更新网络参数和特征表示进行优化,直到模型稳定;输入测试集(新数据)得到模型的输出结果。第二章机器学习基础NLP中的深度学习我们要学习什么?输入层(嵌入层):如何将文本特征表示成向量——传统方法与word2vec隐藏层:几种常见的神经网络模型结构与基本原理,包括:多层感知机MLP、卷积神经网络CNN、循环神经网络RNN、门控机制(LSTM、GRU)、注意力机制attention等输出层:常见损失函数、训练方法和技巧等第二章机器学习基础目录1.神经网络与深度学习2.NLP中的深度学习3.神经网络基础知识4.多层感知机模型第二章机器学习基础神经网络基础知识3.1信息论——熵熵联合熵和条件熵互信息相对熵和交叉熵3.2神经网络模型基本概念监督学习线性模型与非线性模型数据集损失函数优化方法第二章机器学习基础信息论——熵03信息论——熵熵香农(ClaudeElwoodShannon)1940年获得麻省理工学院数学博士学位和电子工程硕士学位;1948年6月和10月,由贝尔实验室出版的《贝尔系统技术》杂志连载了香农博士的文章《通讯的数学原理》,该文奠定了香农信息论的基础。熵是信息论中重要的基本概念。第二章机器学习基础信息论——熵熵的意义——信息量怎么度量?信息量可以被看成在学习某个事件X的值的时候的“惊讶程度”。如果有人告诉我们一个相当不可能的时间发生了,我们收到的信息要多于我们被告知某个很可能发生的事件发生时收到的信息,如果我们知道某件事情一定会发生,那么我们就不会接收到信息。我们对于信息内容的度量将依赖于事件X的概率分布p(x),因此我们想要寻找一个函数h(x),它是概率p(x)的单调递减函数,表达了信息的内容。第二章机器学习基础信息论——熵熵的意义——信息量怎么度量?对数的底决定信息量的单位。如果以2为底,信息量的单位记为比特(bit);如果以e为底数,则信息量的单位记为奈特(nat)第二章机器学习基础信息论——熵熵的定义:X是一个离散型随机变量,其概率分布为:p(x)=P(X=x),x∈X

则X的熵H(X)为:熵是随机变量X所有可能事件的自信息量的加权平均。信息论中,熵又称为自信息(self-information),表示信源X每发一个符号(不论发什么符号)所提供的平均信息量。0log0=0第二章机器学习基础信息论——熵熵的作用:熵(Entropy)——Chaos(混沌),无序。是不确定性(Uncertainty)的衡量熵越高,不确定性越高,我们从一次实验中得到的信息量越大。正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。需要重点注意的是,熵值所代表的信息量的大小仅与不确定性有关,与信息的有效性或正确性无关。通常情况下,熵值越大,其传递的信息中不确定性越大,有效信息反而越少。例如,明天下雨的概率是50%”,就“明天下雨”这个事件而言,其熵值最高,但对帮助我们决策明天是否带伞或出门活动而言,几乎没有任何帮助。第二章机器学习基础信息论——熵熵的例子:计算英文(26个字母和空格,共27个字符)信息源的熵:(1)假设27个字符等概率出现;(2)英文字母的概率分布如下:第二章机器学习基础信息论——熵说明:考虑了英文字母和空格实际出现的概率后,英文信源的平均不确定性,比把字母和空格看作等概率出现时英文信源的平均不确定性要小。熵的例子:第二章机器学习基础信息论——熵各种语言的熵:按字母计算的零阶熵法文:3.98bits 意大利文:4.00bits西班牙文:4.01bits 英文:4.03bits德文:4.10bits 俄文:4.35bits中文(按汉字计算):9.65bits按词汇计算的零阶熵英语:10.0bits 中文:11.46bits说明中文的词汇丰富第二章机器学习基础信息论——熵联合熵:联合熵实际上就是描述一对随机变量平均所需要的信息量。如果X,Y是一对离散型随机变量X,Y~p(x,y),则该随机变量X,Y的联合熵为:第二章机器学习基础信息论——熵条件熵(conditionalentropy):给定随机变量X的情况下,随机变量Y的条件熵定义为:第二章机器学习基础信息论——熵熵,联合熵,条件熵的关系:第二章机器学习基础信息论——熵互信息:互信息I(X;Y)是在知道了Y的值后X的不确定性的减少量。即Y的值透露了多少关于X的信息量。第二章机器学习基础信息论——熵互信息、条件熵、联合熵的关系:第二章机器学习基础信息论——熵互信息、条件熵、联合熵的关系:H(X,X)=0---->H(X)=H(X)–H(X|X)=I(X;X)说明了为什么熵又称自信息。说明了两个完全相互依赖的变量之间的互信息并不是一个常量,而是取决于它们的熵。互信息体现了两变量之间的依赖程度:如果I(X;Y)>>0,表明X和Y是高度相关;如果I(X;Y)=0,表明X和Y是相互独立;如果I(X;Y)<<0,表明X和Y是互补相关的分布第二章机器学习基础信息论——熵相对熵:相对熵(RelativeEntropy),也叫KL散度、KL距离(Kullback-LeiblerDivergence),如果我们对于同一个随机变量X有两个单独的概率分布P(X)和Q(X)。相对熵是用概率分布Q来近似另一个概率分布P时所造成的信息损失量。第二章机器学习基础信息论——熵假设一个问题中,在机器学习中:P=[1,0,0],是样本的真实分布,表示当前样本属于第一类。Q=[0.7,0.2,0.1],用来表示模型所预测的分布。如果用P来描述样本完全反映了真实分布。而用Q来描述样本,虽然可以大致描述,但是不是那么的准确,信息量不足,需要额外的一些“信息增量”才能达到和P一样准确的描述。相对熵/KL散度反映了两个分布的差异性。相对熵:第二章机器学习基础信息论——熵相对熵的直观解释:相对熵常被用以衡量两个相对随机分布的差距。当两个随机分布相同时,其相对熵为0。当两个随机分布的差别增加时,其相对熵也增加。互信息实际上是衡量联合分布与独立性差距多少的测度。第二章机器学习基础信息论——熵交叉熵(crossentropy):对相对熵公式变形:p(x)的熵交叉熵第二章机器学习基础信息论——熵

如果一个随机变量X~p(x),q(x)为用于近似p(x)的概率分布,那么随机变量X和模型q之间的交叉熵定义为:

即根据q分布,对p进行编码需要的bit数(交叉熵)。

交叉熵(crossentropy):第二章机器学习基础信息论——熵

在很多机器学习任务中,我们需要评估真实答案label∈p(x)和模型预测结果predicts∈q(x)之间的差距。KL散度里H(p(x))是不变的,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做损失函数,评估模型。方案:使用KL散度进行度量。交叉熵(crossentropy)的作用:第二章机器学习基础神经网络模型基本概念03学习基础与线性模型基本概念神经网络是一类有监督机器学习算法。有监督学习:通过观察样例数据进而产生泛化的机制supervised

sample/instancegeneralization可以分为两类:分类和回归。分类预测数据所属的类别。例如:垃圾邮件检测,主题分类,情感分析回归基于先前观察到的数据预测数值。例如:房价预测,股价预测第二章机器学习基础学习基础与线性模型基本概念分类——类别划分线VS

回归——数据拟合线第二章机器学习基础学习基础与线性模型机器学习的核心目的:一组数据,带有标签输入训练一个模型使得最基本的模型:线性模型:基本概念第二章机器学习基础学习基础与线性模型基本概念线性可分VS线性回归第二章机器学习基础学习基础与线性模型基本概念线性模型:第二章机器学习基础学习基础与线性模型基本概念线性模型的局限性:非线性可分:有时不可能使用一条直线(或者更高维空间中的一个线性超平面)将数据点分开。第二章机器学习基础学习基础与线性模型基本概念解决方法:转换到更高维的空间(加入更多的特征)SVM使用核函数将数据映射到高维空间转换到更丰富的假设类(使用高级函数模型)线性函数的组合还是线性函数,引入非线性激活函数3.允许一些误分类存在异常点第二章机器学习基础学习基础与线性模型基本概念异常点异常点第二章机器学习基础学习基础与线性模型基本概念转换到更丰富的假设类——使用非线性函数建模将线性函数的输出输入给一个非线性函数(也叫激活函数),例如sigmoid函数第二章机器学习基础学习基础与线性模型基本概念常见非线性函数sigmoid函数优点:映射数据在[0,1]之间;梯度下降明显;缺点:容易引起梯度消失;输出不是以0为中心;指数计算成本高第二章机器学习基础学习基础与线性模型基本概念梯度消失sigmoid函数的导数

Sigmoid

0/1,梯度趋近于0。饱和神经元:神经网络使用Sigmoid激活函数进行反向传播时,输出接近0或1的神经元其梯度趋近于0。饱和神经元的权重不会更新,与之相连的神经元的权重也更新得很慢。该问题叫作梯度消失。第二章机器学习基础学习基础与线性模型基本概念非线性二分类:利用sigmoid函数把线性预测转变为一个概率估计非线性多分类:在多分类情况中是把分数向量通过一个softmax函数:第二章机器学习基础学习基础与线性模型基本概念常见非线性函数双曲正切函数tanh优点:映射数据在[-1,1]之间;输出以0为中心;梯度下降明显缺点:容易引起梯度消失;指数计算成本高第二章机器学习基础学习基础与线性模型基本概念常见非线性函数修正线性单元ReLU优点:能快速收敛;能缓解梯度消失问题;计算效率高缺点:随着训练的进行,可能回出现神经元死亡,权重无法更新;不以0为中心;如果x<0,形成死区第二章机器学习基础学习基础与线性模型更多激活函数及其分析:https://dashee87.github.io/deep%20learning/visualising-activation-functions-in-neural-networks/第二章机器学习基础学习基础与线性模型基本概念训练集、测试集和验证集有监督学习:通过观察样例数据进而产生泛化的机制supervised

sample/instancegeneralization将样例数据划分为训练集、测试集和验证集(一般使用三路划分,不推荐留一法和留存集),在训练集合验证集上进行观察(学习),在测试集上进行泛化(预测)。第二章机器学习基础学习基础与线性模型基本概念训练集——日常学习学习网络参数与特征表示。训练集直接参与了模型调参的过程,不能用来反映模型真实的能力(防止死记硬背的学生拥有最好的成绩,即防止过拟合)。验证集——会考调整模型的超参数和用于对模型的能力进行初步评估。验证集参与了人工调参(超参数)的过程(刷题库的学生不能算是学习好的学生)。测试集——高考测试最终泛化性能第二章机器学习基础学习基础与线性模型基本概念训练与最优化如何度量两者差距?机器学习的核心目的:一组数据,带有标签输入训练一个模型使得第二章机器学习基础学习基础与线性模型基本概念损失函数衡量当预测是

而正确标签是

时所遭受的损失。给定正确的期望输出

,损失函数指派一个数值分数(标量)给预测输出

。通过模型训练,(理论上)学得函数的参数集(例如矩阵W和偏置向量b,一般记作

)被优化,可以使得训练集上的损失L(通常是最小化不同训练样例上的损失的总和)最小。

记作第二章机器学习基础学习基础与线性模型基本概念优化目的第二章机器学习基础学习基础与线性模型基本概念常用损失函数Hinge损失(二分类)分类器输出为标量{-1,1}第二章机器学习基础学习基础与线性模型基本概念Hinge损失(多分类)分类器输出为向量{0.2,0.1,

0.5,

0.2}标准答案为向量{0,0,

1,

0}f(x)_t:正确的类别的概率值f(x)_k:去除正确的类别之外最高的概率值第二章机器学习基础学习基础与线性模型基本概念逻辑斯蒂损失、交叉熵损失表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值(即什么样的参数才能使我们观测到目前这组数据的概率最大)。逻辑斯蒂回归中会用到。第二章机器学习基础学习基础与线性模型基本概念对于二分类问题,逻辑斯蒂回归概率估计函数:逻辑回归分类模型:正确分类预测概率函数的定义:统一样本的表达式:第二章机器学习基础学习基础与线性模型基本概念由于分类问题是离散型,有如下最大似然估计函数:取对数方便计算:整个训练集的损失函数是所有训练实例的平均值:[]第二章机器学习基础学习基础与线性模型为什么它又叫交叉熵损失函数?交叉熵刻画的是期望输出p(x)与实际输出q(x)的距离:P(x)取值{0,1},q(x)记作输出为1的概率:第二章机器学习基础学习基础与线性模型交叉熵损失拓展到多分类二分类时:多分类:分类器输出为向量{0.2,0.1,

0.5,

0.2}标准答案为向量{0,0,

1,

0}简化为:第二章机器学习基础学习基础与线性模型等级损失没有标签的监督信息,只有正确的项x和不正确的项x’,目的使正确样例的得分高于不正确样例。通常可以通过破坏(侵蚀erosion)一个正例来生成负例样本。例如:x=中华人民共和国万岁

x’=中华人民共和国开心

第二章机器学习基础学习基础与线性模型目标函数、代价函数、损失函数目标函数(objectivefunction):要最小化或最大化的函数。当求最小化时,也把它称为代价函数(costfunction)、损失函数(lossfunction)或误差函数(errorfunction)损失函数≈代价函数损失函数:计算的是一个样本的误差代价函数:是整个训练集上所有样本误差的平均第二章机器学习基础学习基础与线性模型基本概念目标函数:代价函数+正则化项正则化项:反映了参数的复杂度,作为一种软约束用于防止过拟合。不允许过大的参数权重。超参数:模型不能在最优化过程中学得的参数,需要手动设置。第二章机器学习基础学习基础与线性模型基本概念应对过拟合方法1——正则化:L2范式L1范式弹性网络:L1范式和L2范式的组合第二章机器学习基础学习基础与线性模型基本概念过拟合(Overfitting):模型在训练集上错误率很低,但是在未知数据上错误率很高。第二章机器学习基础学习基础与线性模型基本概念过拟合(Overfitting)与欠拟合(underfitting)第二章机器学习基础学习基础与线性模型基本概念应对过拟合方法2——dropout:以概率p生成一个掩码向量r。作用:使模型更鲁棒,泛化性更好。第二章机器学习基础学习基础与线性模型基于梯度的最优化如何优化模型,使得目标函数的值最小?第二章机器学习基础学习基础与线性模型基于梯度的最优化核心思想:在最小化目标函数时,每次迭代中,对每个变量,按照目标函数在该变量梯度的相反方向更新对应的参数值。也就是,在目标函数的超平面上,沿着斜率下降的方向前进,直到遇到最小值(这个最小值不一定是全局最小值)。第二章机器学习基础学习基础与线性模型常见的梯度下降算法:1.批量梯度下降(BatchGradientDescent,BGD)最常见的梯度下降的方式,主要是使用所有的训练集样本对于每一个参数求偏导,然后更新参数。优点:能够保证收敛于极值点(如果是凸函数,就是全局最优;如果是非凸函数,则是局部最优);易于并行实现;迭代的次数相对较少。缺点:当样本数目很多时,训练过程会很慢。

第二章机器学习基础学习基础与线性模型常见的梯度下降算法:1.批量梯度下降(BatchGradientDescent,BGD)

第二章机器学习基础学习基础与线性模型2.随机梯度下降(StochasticGradientDescent,SGD)随机梯度下降和BGD的方法类似,但是每次更新参数的时候并不是使用所有的训练集样本。SGD每次更新参数仅仅随机选择一个样本:SGD每次仅仅从训练集中随机选择一个样本进行参数更新,因此训练速度比较快。但

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论