1、第三章深度学习的算法3.1神经网络经典算法3.2梯度下降3.3动量算法3.4反向传播of12513.6迁移学习3.5弱监督学习3.7小样本学习3.8Dropout第三章深度学习的算法of12523.1 神经网络经典算法监督学习 利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程 数据集中所使用的每一个样本都有一个对应的标签(label),而样本和标签之间则是通过学习进行关联。监督学习算法 逻辑回归模型 支持向量机3.1.1监督学习算法第三章 深度学习的算法of12533.1 神经网络经典算法逻辑回归模型F(x)曲线的增长速度在两端呈现较慢趋势,而在中心附近则呈现较快趋势第三章 深
2、度学习的算法of12543.1 神经网络经典算法该模型的条件概率分布第三章 深度学习的算法of12553.1 神经网络经典算法相应的二项逻辑回归模型第三章 深度学习的算法of12563.1 神经网络经典算法如何通过数据集来估计模型的参数?极大似然估计法设(1|)()P Yxx(0|)1()P Yxx 似然函数为 11()1()iiNyyiiixx对数似然函数为 11()log()1()iiNyyiiiL wxx第三章 深度学习的算法of12573.1 神经网络经典算法111()log()(1)log(1()()loglog(1()1()log 1expNiiiiiNiiiiiNTTiiiiL
3、wyxyxxyxxy w xw x对数似然函数为通过对计算极大值就可以得到的估计值 。1()log 1expNTTiiiiL wy w xw x w第三章 深度学习的算法of12583.1 神经网络经典算法学习得到的二项逻辑回归模型exp()(1|)1exp()TTw xP Yxw x1(0|)1exp()TP Yxw x第三章 深度学习的算法of12593.1 神经网络经典算法支持向量机(SVM)一类按监督学习方式对数据进行二元分类的非线性分类器函数,其决策边界是对学习样本求解的最大边距超平面。第三章 深度学习的算法of125103.1 神经网络经典算法支持向量机(SVM)进一步可以改写成如
4、下形式:()1()(,)miiif xbak x x一般是非线性的,如高斯函数。()(,)ik x x可以将 x 替换为特征函数 的输出,得1()()()mTiif xbaxx第三章 深度学习的算法of125113.1 神经网络经典算法支持向量机(SVM)进一步可以改写成如下形式:目标:SVM的参数由样本学习获得。约束条件:第三章 深度学习的算法of125123.1 神经网络经典算法K近邻其他简单的监督学习方法对于给定一个样本 x,根据其 k 个最近邻的训练样本的类别,通过多数表决等方式对新的输入样本的类别进行预测,如果这 k 个最近邻样本参数属于某一类别,则判定该输入样本 x 也属于这个类别
5、。第三章 深度学习的算法of125133.1 神经网络经典算法决策树用来描述对样本分类时其分类过程的树形结构。决策树由结点和有向边组成,结点又分成内结点和叶结点两种类型,内结点对应样本的一个特征或属性,叶结点表示样本的一个类别。从根结点开始,对样本的某一特征进行测试,将样本分配到其对应的子结点,递归这一过程,直至叶结点,最后的叶节点为该样本所对应的类别。其他简单的监督学习方法预测用户偿还贷款的能力第三章 深度学习的算法of125143.1 神经网络经典算法3.1.2 无监督学习 训练集中每个样本不带任何标记信息,通过对这些样本的学习,来揭示样本特征的内在性质及规律。聚类学习是一种典型的无监督学
6、习,它将数据集中的样本划分为若干个互不相交的子集,每个子集称为一个“簇”。第三章 深度学习的算法of125153.1 神经网络经典算法3.1.2 无监督学习第三章 深度学习的算法of125163.1 神经网络经典算法3.1.3 半监督学习 半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。在带标记的样本上使用监督学习构建模型,再让该模型通过未标记样本来提升学习性能,并且这个过程不用依赖外界的交互,是一个自动进行的过程。在半监督学习中,通常要做一些将数据分布信息与类别标记相联系的假设,当模型假设正确时,无类标签的样例能够帮助改进学习性能,最常见的假设是聚类假设和流形假设。
7、第三章 深度学习的算法of125173.1 神经网络经典算法半监督学习算法1.生成模型算法(Generate semi-supervised models)思想:假设一个模型,其分布满足:p(x,y)=p(y)p(x|y)。其中,p(x|y)是已知的条件概率分布。那么大量未经标记数据的联合分布就可以被确定。第三章 深度学习的算法of125183.1 神经网络经典算法半监督学习算法2自训练算法(Self-training)思想:首先训练带有标记的数据(监督训练),得到一个分类器。然后使用这个分类器对未标识的数据进行分类。根据分类结果,将可信程度较高的未标记数据及其预测标记加入训练集,扩充训练集规
8、模,重新学习以得到新的分类器。第三章 深度学习的算法of125193.1 神经网络经典算法半监督学习算法3.联合训练算法(Co-training)思想:首先根据已标记数据的两组不同特征来划分出不同的两个数据集,然后根据这两个不同的数据集分别训练出两个分类器。每个分类器用于无标识的数据集的分类,并且给出分类可信程度的概率值。第三章 深度学习的算法of125203.1 神经网络经典算法半监督学习算法4.半监督支持向量机(S3VMs)思想:半监督支持向量机(Semi-supervised support vector machines,S3VM或S3VMs)。S3VM算法同时使用带有标记和不带标记的
9、数据来寻找一个拥有最大类间距的分类面。第三章 深度学习的算法of125213.1 神经网络经典算法半监督学习算法5.基于图论的方法思想:首先从训练样本中构建图。图的顶点是已标记或者未标记的训练样本。两个顶点xi,xj之间的无向边表示两个样本的相似性,又称两个样本的相似性度量。根据图中的度量关系和相似程度,构造k-聚类图。然后再根据已标记的数据信息去标记为未标记数据。第三章 深度学习的算法of125223.1 神经网络经典算法3.1.4 强化学习 马尔可夫决策过程(Markov Decision Process,简称MDP)常常被拿来用以描述强化的学习任务强化学习的目的是取得最大化的预期利益,并
10、且强调如何基于环境而行动。第三章 深度学习的算法of125233.1 神经网络经典算法3.1.4 强化学习强化学习的目标是去学习怎么花更多的时间在更有价值的状态上,为了有一个更有价值的状态,我们需要MDP提供更多的信息。一个简单的马尔科夫决策(MDP)过程:第三章深度学习的算法3.2梯度下降3.3动量算法3.4反向传播of125243.6迁移学习3.5弱监督学习3.7小样本学习3.8Dropout3.1神经网络经典算法第三章 深度学习的算法of125253.2 梯度下降梯度下降指沿着目标能量函数的反梯度方向下降。第三章 深度学习的算法of125263.2 梯度下降梯度下降 从机器学习角度考虑,
11、模型的优化问题转化为求解模型的目标函数的最小值,首先需明确目标函数的梯度下降方向,然后以该方向前进,不断逼近目标函数的最优值。梯度下降步骤第三章 深度学习的算法of125273.2 梯度下降 梯度下降法包含批量梯度下降算法(BGD)、随机梯度算法(SGD)和小批量梯度下降算法(MBGD)三种。批量梯度下降随机梯度小批量梯度下降第三章 深度学习的算法of125283.2 梯度下降小批量梯度下降法的迭代更新过程收敛的充分条件学习率的确定常通过监测目标函数的值随时间变化的学习曲线来确定最佳的学习率。综合考虑总训练时间和最终代价,一般将初始学习率的值设为高于迭代100次左右后模型达到最好效果时的学习率
12、。第三章 深度学习的算法of125293.2 梯度下降梯度下降更新公式对比批量梯度下降小批量梯度下降随机梯度下降第三章深度学习的算法3.2梯度下降3.3动量算法3.4反向传播of125303.6迁移学习3.5弱监督学习3.7小样本学习3.8Dropout3.1神经网络经典算法第三章深度学习的算法of125313.3 动量算法动量 动量表示迭代优化量,即参数值(如梯度、权重、学习率等)的更新量,这些参数值在优化过程中是进行不断更新的,通过动量的方式可以推动目标值向优化值不断靠近。与梯度下降法相比,动量算法能帮助目标值穿越有着“狭窄山谷”形状的优化曲面,从而无限接近最优点。评价动量算法性能好坏的其
13、中一个标准是其爬坡能力的强弱。3.3.1 动量第三章深度学习的算法of125323.3 动量算法带动量的随机梯度下降算法 该算法是引入一个变量v,让其充当速度角色,v在这里表示参数在参数空间前进的速度,包括方向和速率,其值等于负梯度的指数衰减平均值。参数更新规则如下所示:3.3.1 动量()()1(;),)iiigL f xym vvmgv第三章深度学习的算法of125333.3 动量算法带动量的小批量梯度下降算法3.3.1 动量第三章深度学习的算法of125343.3 动量算法 Nesterov动量算法是在动量算法的基础上进行改进提出的,它是在标准动量算法中新增加了一个权重校正因子v。其更新
14、规则如下所示:3.3.2 Nesterov 动量算法()()1(;),)iiivvvL f xymv 动量算法在优化过程中也能直接绕过鞍点,但是因为存在累积的更新量,动量算法绕过鞍点的时机要晚一些。第三章深度学习的算法3.2梯度下降3.3动量算法3.4反向传播of125353.6迁移学习3.5弱监督学习3.7小样本学习3.8Dropout3.1神经网络经典算法第三章深度学习的算法of125363.4 反向传播3.4.1 前馈神经网络 根据神经元的网络拓扑结构,神经网络模型包括前向网络和反馈网络,不同的网络模型有不同的优势和应用。在前馈神经网络中,各神经元可以接收前一层神经元的信号,并产生输出到
15、下一层。网络中无反馈,信号从输入层向输出层单向传播。第三章深度学习的算法of125373.4 反向传播3.4.2 反向传播算法 反向传播(Backpropagation,缩写为BP)是“误差反向传播”的简称,该方法要求有对每个输入值想得到的已知输出,计算损失函数的梯度,用这一梯度来更新权值以最小化损失函数。反向传播算法(BP算法)类似随机最速下降法(SGD),算法的目的是根据实际的输入与输出数据,计算模型的参数(权系数)。主要有两个阶段:激励传播与权重更新。第三章深度学习的算法of125383.4 反向传播3.4.2 反向传播算法1.简单网络的BP算法假设有P个训练样本,即有P个输入输出对:其
16、中,输入向量为 目标输出向量为(实际上或期望的):网络输出向量为(理论上的):第三章深度学习的算法of125393.4 反向传播1.简单网络的BP算法 记 wij 为从输入向量的第 j(j=1,m)个分量到输出向量的第i(i=1,n)个分量的权重。通常理论值与实际值有一误差。设:第 i 个神经元的输出可表示为其中,ipm=-1,wim=(第 i 个神经元的阈值),特别当 f 是线性函数时第三章深度学习的算法of125403.4 反向传播1.简单网络的BP算法 网络学习则是指不断地把目标输出与网络输出比较,并根据极小原则修改参数 wij,使误差平方和达到最小:求E 最小值的梯度最速下降法,就是D
17、elta学习规则记 wij 表示递推一次的修改量。则有第三章深度学习的算法of125413.4 反向传播2.多隐层前馈神经网络的BP算法(2)设 uk(i)表示第 k 层第 i 神经元所接收的信息,wk(i,j)表示从第 k-1层第 j 个元到第k层第 i 个元的权重,ak(i)表示第 k 层第 i 个元的输出。(3)处于不同层的神经元都有信息交换,但同一层的神经元之间没有信息传输。(4)信息传输的方向:输入层输出层,没有反向传播信息。(5)a0(j)表示输入的第 j 个分量。(1)输入层有N0 个神经元,其不计在层数之内。若该网络共有L层;则输出层为第L层,第 k 层就有Nk 个神经元。第三
18、章深度学习的算法of125423.4 反向传播2.多隐层前馈神经网络的BP算法在上述假定下,网络的输入输出关系可表示为:,1),()(),()(),()(.,1),()(),()(),()(,1),()(),()(),()(1101112221212211111011LLLNjLLLLNjNjNiiufiaijajiwiuNiiufiaijajiwiuNiiufiaijajiwiuLk(i)其中表示第 k 层第 i 个元的阈值。第三章深度学习的算法of125433.4 反向传播2.多隐层前馈神经网络的BP算法对于具有多个隐层的前馈神经网络;设激活函数为 S 函数;且指标函数取 PppEE1()
19、()211()()2LNpppLiEtiai其中()()()()ppLLaif ui第三章深度学习的算法of125443.4 反向传播2.多隐层前馈神经网络的BP算法()()()()1()()()()LNppppLLLjitjajfui1()()()(1)111()()()(,),1,2,1lNpppplllljif uij wj ilLBP算法()(1)()()1(,)(,)()(),1,2,1.ppppllllwi jwi ji ajlL L1.选定学习的数据,p=1,P,随机确定初始权矩阵W(0)2.用学习数据计算网络输出3.用下式反向修正,直到用完所有学习数据。多次采用样本数据进行训练
20、,直到网络收敛为止。第三章深度学习的算法of125453.4 反向传播3.4.3 反向传播算法实例蚊子分类已知的两类蚊子的数据如表:翼长 触角长 类别1.78 1.14 Apf1.96 1.18 Apf1.86 1.20 Apf1.72 1.24 Af2.00 1.26 Apf2.00 1.28 Apf1.96 1.30 Apf1.74 1.36 Af目标值目标值0.90.90.90.10.90.90.90.1 翼长 触角长 类别1.64 1.38 Af1.82 1.38 Af1.90 1.38 Af1.70 1.87 Af1.82 1.48 Af1.82 1.54 Af2.08 1.56 A
21、f目标值目标值0.10.10.10.10.10.10.1 第三章深度学习的算法of125463.4 反向传播3.4.3 反向传播算法实例(蚊子分类)输入数据有15个,即,p=1,15;j=1,2。建模:(输入层,中间层,输出层,每层的元素应取多少个?)建立神经网络 规定目标为:当t(1)=0.9 时表示属于Apf类,t(2)=0.1表示属于Af类。设两个权重系数矩阵为:)3,2()2,2()1,2()3,1()2,1()1,1(1111111wwwwwwW)3,1()2,1()1,1(2222wwwW其中)()3,(jjwii为阈值 第三章深度学习的算法of125473.4 反向传播3.4.3
22、 反向传播算法实例分析如下)2()2()2,2()1()1,2()2()1()2()2,1()1()1,1()1(101011101011awawuawawu第一层的输出,同时作为第二层的输入)1()1(11ufa)2()2(11ufa其中,为阈值,为激励函数if若令 1)3(0a(作为一固定输入)jjw)3,(12,1j(阈值作为固定输入神经元相应的权系数)(蚊子分类)第三章深度学习的算法of125483.4 反向传播3.4.3 反向传播算法实例则有:3101010101131010101011)(),2()3()3,2()2()2,2()1()1,2()2()(),1()3()3,1()2
23、()2,1()1()1,1()1(jjjajwawawawujajwawawawu取激励函数为xexf11)(则)()(11iufia111 exp()u i对于第二层,取,1)3(1a(蚊子分类)第三章深度学习的算法of125493.4 反向传播3.4.3 反向传播算法实例具体算法如下:(1)随机给出两个权矩阵的初值;例如用MATLAB软件时可以用以下语句:令p=0)0(1W=rand(2,3);)0(2W=rand(1,3);(2)根据输入数据利用公式算出网络的输出 3101010101131010101011)(),2()3()3,2()2()2,2()1()1,2()2()(),1()
24、3()3,1()2()2,1()1()1,1()1(jjjajwawawawujajwawawawu)()(11iufia)(exp(111iu=2,1i第三章深度学习的算法of125503.4 反向传播3.4.3 反向传播算法实例,1)3(1a32212121(1)(1,)()(1)1 exp(1)juwj a jau取(3)计算 xexf11)(因为 所以 2)1()(xxeexf)1()1()1()1(222ufat2222)1(exp(1/()1(exp()1()1(uuat(4)取(或其他正数,可调整大小)1.0()()()()1()()()()LNppppLLLjitjajfui第
25、三章深度学习的算法of125513.4 反向传播3.4.3 反向传播算法实例)()1(1ip(5)计算 和:),()1(1jiWp)()1(1ip222)1(2)1(2)1(exp(1/()1(exp(),1()1(uuiWpp)()(),(),()1(0)1(1)(1)1(1jaijiWjiWppppj=1,2,3,i=1,2,3,计算 j=1,2,3),1()1(2jWP)()1(),1(),1()1(1)1(2)(2)1(2jajWjWppppj=1,2,3(6)p=p+1,转(2)(蚊子分类)1()()()(1)111()()()(,),1,2,1lNpppplllljif uij w
26、j ilL第三章深度学习的算法of125523.4 反向传播3.4.3 反向传播算法实例注:仅计算一圈(p=1,2,15)是不够的,直到当各权重变化很小时停止(收敛)2764.02875.05787.05765.05976.75921.51W9829.34838.04075.82W共计算了147圈,迭代了2205次。最后结果是:(蚊子分类)第三章深度学习的算法of125533.4 反向传播3.4.3 反向传播算法实例 即网络模型的解为:2764.0)2(2875.0)1(5787.0)2(5765.0)2(5976.7)1(5921.5)1(001001aauaau)()(11iufia)(e
27、xp(111iu2,1i=)1(exp(11)1(9829.3)2(4838.0)1(4075.8)1(22112uaaau(蚊子分类)第三章深度学习的算法of125543.4 反向传播3.4.3 反向传播算法实例种类检测对于检测数据(1.87,2.04),取 a0(1)=1.87,a0(2)=2.04,输入神经网络,以网络输出结果a2(1)判定其类型:a2(1)0.5,则为Apf类 a2(1)0.5,则为Af类注:网络也可设计为二维输出。(蚊子分类)第三章深度学习的算法3.2梯度下降3.3动量算法3.4反向传播of125553.6迁移学习3.5弱监督学习3.7小样本学习3.8Dropout3
28、.1神经网络经典算法第三章深度学习的算法of125563.5 弱监督学习背景 数据标注过程的高成本,很多任务很难获得如全部真值标签的强监督信息。数据集的标签不可靠,或者数据集的标注不充分,甚至只是局部标记。弱监督学习:以监督信息不完整或不明确的数据为训练对象的学习。即,弱监督学习指的是通过数据集较弱的监督信息来学习并构建深度学习模型。第三章深度学习的算法of125573.5 弱监督学习弱监督学习类型 三种弱监督类型:a)不完全监督:只有一部分训练数据具备标签;b)不确切监督:训练数据只具备粗粒度标签;c)不准确监督:给出的标签并不总是真值。第三章深度学习的算法of125583.5 弱监督学习3
29、.5.1 不完全监督(1)主动学习 学习算法主动地提出要对哪些数据进行标注,之后我们要将这些数据送到专家那里让他们进行标注,再将这些数据加入到训练样本集中对算法进行训练。不完全监督学习主要采用主动学习和半监督学习。第三章深度学习的算法of125593.5 弱监督学习3.5.1 不完全监督主动学习方法一般可以分为两部分:学习引擎和选择引擎。学习引擎:维护一个基准分类器,并使用监督学习算法对系统提供的已标注样例进行学习,以提高分类器的性能 选择引擎:负责选择一个未标注的样例并将其交由人类专家进行标注,并其加入到已标注样例集中。学习引擎和选择引擎交替工作,经过多次循环,基准分类器的性能逐渐提高,当满
30、足预设条件时,过程终止。第三章深度学习的算法of125603.5 弱监督学习3.5.1 不完全监督 根据获得未标注样例的方式,可以将主动学习分为两种类型:基于流的和基于池的。基于流(stream-based)的主动学习:未标记的样例按先后顺序逐个提交给选择引擎,由选择引擎决定是否标注当前提交的样例,如果不标注,则将其丢弃。基于池(pool-based)的主动学习:维护一个未标注样例的集合,由选择引擎在该集合中选择当前要标注的样例。第三章深度学习的算法of125613.5 弱监督学习3.5.1 不完全监督(纯)半监督学习:假定训练数据中的未标记样本并非待测的数据;直推式学习:假定学习过程中所考虑
31、的未标记样本恰是待预测数据,学习的目的就是在这些未标记样本上获得最优泛化性能。(1)半监督学习 半监督学习又分为(纯)半监督学习((Pure)Semi-supervised learning)和直推式学习(Transductive Learning)第三章深度学习的算法of125623.5 弱监督学习3.5.2 不确切监督背景 模型训练过程中,使用的训练数据集只有一些有监督信息,而且这些监督信息还不一定准确和精确,即训练数据集只有粗粒度的标注信息。不确切监督学习就是针对给定了监督信息但监督信息不够精确的场景,常用于仅有标签信息是粗粒度的场景。第三章深度学习的算法of125633.5 弱监督学习
32、3.5.2 不确切监督多示例学习 将一个真实的目标(如视频、一张图片或一个文本文档)看作一个包(模型的训练数据),一个包由很多示例组成,而且这些示例需要包生成器后天生成。假设图 像的尺寸为32 32,如图(a)展示了包生成器模板(单块,Single Blob,SB)的尺寸为8 8。若该单块以无重叠滑动的方式给上图 的小狗图片生成示例,如图(b)所示,将得到16个示例,每个示例包含64个像素。(a)(b)第三章深度学习的算法of125643.5 弱监督学习3.5.3 不准确监督数据编辑方法识别和删除/重标记可疑的数据点使用一个节点对应一个训练样本,将连接两个不同标签的节点的边称为切边(Cut e
33、dge),然后测量一个切边的权重,如果一个示例连接了太多的切边,那么该示例就是可疑的。对于这种可疑的示例,要么删除,要么重新标记第三章深度学习的算法3.2梯度下降3.3动量算法3.4反向传播of125653.6迁移学习3.5弱监督学习3.7小样本学习3.8Dropout3.1神经网络经典算法第三章深度学习的算法of125663.6 迁移学习迁移学习 自1995年以来,迁移学习吸引了众多研究者的目光,并已发展成为一个研究领域。在某些领域,标记数据短缺。在某些领域,标注工作非常昂贵。在某些领域,建模、学习过程非常耗时。为什么要迁移学习?第三章深度学习的算法of125673.6 迁移学习迁移学习学习
34、去学习(Learning to learn)终身学习(life-long learning)推导迁移(inductive transfer)知识强化(knowledge consolidation)知识蒸馏(knowledge distillation)上下文敏感性学习(context-sensitive learning)基于知识的推导偏差(knowledge-based inductive bias)累计/增量学习(increment/cumulative learning),等等均可以认为是知识迁移的范畴。第三章深度学习的算法of125683.6 迁移学习3.6.1 迁移学习中的定义域:
35、由特征空间(featurespace)X 和特征空间的边缘分布P(x)所组成。领域可以表示成 D=X,P(x),领域分为源域和目标域。源域(source domain)Ds:指特征空间和特征空间的边缘分布容易获得的领域。目标域(target domain)Dt:待求特征空间的边缘分布的领域。知识迁移(knowledgetransfer)是一种新的学习方式,其目的是将从一个或多个源任务中所抽取的知识与经验,应用到另一个目标域当中,从而满足快速解决问题的需求。第三章深度学习的算法of125693.6 迁移学习3.6.1 迁移学习中的定义 一个任务由两个部分组成:给定一个域 D=X,P(x),有相应
36、的标签空间Y 和一个目标预测函数 f(.)。一个任务就可表示为:T=Y,f(.)。目标预测函数可以通过训练样本学习得到。从概率论角度来看,目标预测函数f(.)可以表示为P(Y|X),任务表示成T=Y,P(Y|X)。源域表示 Ds=(xs1,ys1),(xs2,ys2).(xsns,ysns)目标域表示 Dt=(xt1,yt1),(xt2,yt2).(xtnt,ytnt)通常情况下,源域观测样本数目ns与目标域观测样本数目nt存在如下关系:1=ntns第三章深度学习的算法of125703.6 迁移学习3.6.1 迁移学习中的定义迁移学习定义:在给定源域 Ds 和源域学习任务 Ts、目标域 Dt
37、和目标域任务 Tt,且 Ds 不等于 Dt 或 Ts 不等于 Tt 的情况下,迁移学习使用源域 Ds 和 Ts 中的知识提升或优化目标域 Dt 中目标预测函数 ft(.)的学习效果。第三章深度学习的算法of125713.6 迁移学习3.6.1 迁移学习中的定义在迁移学习领域中通常有三个研究问题:(1)迁移什么 用哪些知识可以在不同的领域或者任务中进行迁移学习,即多个不同领域或任务之间有哪些共有知识可以迁移。(2)如何迁移 找到了迁移对象之后,针对具体问题,采用哪种迁移学习的特定算法,即如何设计出合适的算法来提取和迁移共有知识。(3)什么时候迁移 什么情况下适合迁移,迁移技巧是否适合具体应用。存
38、在负迁移的问题第三章深度学习的算法of125723.6 迁移学习3.6.1 迁移学习的分类 根据源域和目标域及任务的不同,基于迁移学习的定义,我们可以把迁移学习分为推导迁移学习、转导迁移学习和无监督迁移学习等三大类。Ds、DtTs、Tt源域标签目标标签推导迁移学习同/不同不同有/无有转导迁移学习不同同有无无监督迁移学习同/不同不同不可观测不可观测第三章深度学习的算法of125733.6 迁移学习3.6.2 迁移学习的分类 基于解决方法,也就是迁移内容来分类。迁移学习可以分为四类,样本实例、特征表达、参数、相关知识都可以用来迁移。1.基于实例的迁移学习(instance-based transf
39、er learning):源域中的数据的某一部分可以通过reweighting的方法重用,用于目标的学习。2.基于特征表示的迁移学习(feature-representation transfer learning):通过源域学习一个好的的特征表示,把知识通过特征的形式进行编码,并从源域传递到目标域,提升目标任务效果。3.基于参数的迁移学习(parameter-transfer learning):目标域和源域的任务之间共享相同的模型参数或者是服从相同的先验分布(prior distribution)。4.基于关系知识迁移学习(relational-knowledge transfer lea
40、rning):相关领域之间的知识迁移,假设源域和目标域中,数据之间联系关系是相同的。第三章深度学习的算法of125743.6 迁移学习3.6.2 迁移学习的分类1.基于实例的迁移学习(instance-based transfer learning)假设:源域中的一些数据和目标域会共享很多共同的特征 方法:对源域进行样本迭代赋予权重,筛选出与目标域数据相似度高的数据,然后进行训练学习。第三章深度学习的算法of125753.6 迁移学习基于实例的迁移学习例子第三章深度学习的算法of125763.6 迁移学习背景:在许多实际应用中,训练集和测试集分布相同的假设是不成立。例如,气象数据随着时间的推移
41、,原来用于训练的前几年数据(old data),其分布与现采集的数据(new data)不完全一样,这样我们的算法的预测准确率就会下降很多。但是新数据可能数量不够,完全抛弃旧数据也太浪费。TrAdaBoost迁移学习算法原理:一种从old data中提取实例的迁移学习方法,即将一部分能用的old labeled data,结合new labeled data(可能是少量),构建出更精确的模型。代表性模型:TrAdaBoost、Kernel Mean Matching(KMM)、Density ratio estimation第三章深度学习的算法of125773.6 迁移学习TrAdaBoost
42、算法步骤:输入:Ds、Dt;基本分类器;最大迭代次数N初始化:数据权重初始向量 111112,n mw www1)将数据的权重归一化,使其成为一个分布。1/n mtttiiwpw2)调用弱分类器。将Ds 和Dt 的数据整体作为训练数据,过程和AdaBoost训练弱分类器一样,得到分类器:thXY第三章深度学习的算法of125783.6 迁移学习3)计算Dt上的分类错误率。即只计算new data。old data在这里不计算。而且计算错误率的时候需要将Dt 中的提取数据权重重新归一化。11()()tn mitiitn mti nii nw h xy xw 4)分别计算Dt 和Ds 权重调整的速
43、率。注意,每一次迭代,Dt 的权重调整速率都不一样,而Ds 中的数据,是一样的。t 在AdaBoosting中,相当于每一个弱分类器的话语权有多大。t 越大,该弱分类器话语权越小。1,112ln/tttn N第三章深度学习的算法of125793.6 迁移学习5)更新数据权重。Dt 中的数据,如果分类错误,则提高权重值,与传统AdaBoost算法一致。Ds 中的数据,则相反,如果分类错误,则降低权重值,这是因为分类错误的就认为这部分old data与new data差距太大。()()1()(),1,1tiitiihxy xtitihxy xtitwinwwninm 输出:以后半数弱分类器(N/2
44、N)的投票为准。1()2/2/21,()0,tNNhxtttNtNfhxotherwise第三章深度学习的算法of125803.6 迁移学习2.基于特征的迁移学习(instance-based transfer learning)假设:源域和目标域有且仅有一些交叉特征 方法:通过特征映射变换,将两个域的数据变换到同一特征空间,然后进行训练学习第三章深度学习的算法of125813.6 迁移学习基于特征的迁移学习例子第三章深度学习的算法of125823.6 迁移学习 基于特征的迁移学习方法的典型模型包括Transfer component analysis、Spectral Feature Ali
45、gnment(SFA)、Geodesic flow kernel(GFK)、Transfer kernel learning等。下面以Transfer component analysis(迁移成分分析)为例进行介绍。迁移成分分析(TCA)模型,是学习所有域的公共迁移成分,将不同域中的数据分布差异投影到一个子空间,显著地减小数据分布的差异。然后,在这个子空间中可以使用标准的机器学习方法来训练跨领域的分类器或回归模型。是将一个大的矩阵作为输入,然后输出一个小矩阵,在减少数据维度的同时,能达到迁移学习的目的。第三章深度学习的算法of125833.6 迁移学习1)假设:P(Xs)与Q(Xt)分别为源
46、域Xs 和目标域Xt 的边缘分布,且P(Xs)Q(Xt),但条件概率分布 p(Ys|Xs)p(Yt|Xt)。现在的任务就是要预测目标数据 xti 对应的标签yti 。2)定义两个随机变量集合之间的一种距离。再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)的分布度量准则-最大均值差异(Maximum Mean Discrepancy,MMD):令 X=x1,xn1 和 Y=y1,yn2 为两个分布 P 和 Q 的随机变量集合,则两个分布的经验估计距离为12111211(,)()()nniiiiHDist X Yxynn其中,H 是再生核希尔伯特空间
47、,?:XH 为核函数映射。第三章深度学习的算法of125843.6 迁移学习3)分析迁移成分设源域、目标域、结合域经映射?后的数据分别为 ()ssiXxxs ()ttiXxxtstXXX我们希望找到这样一个映射,使得映射后的数据分布一致,即()()stP XQ X第三章深度学习的算法of125853.6 迁移学习根据MMD的定义,我们可以利用度量两个域之间的经验均值的距离平方作为分布的距离12111211(,)()()nnstiiiiHDist XXxsxtnn 为了避免直接求解非线性变换?,我们将该问题转化为核学习(kernel learning)问题。利用核技巧(,)()()Tijiik
48、x xxx两个域之间的经验均值距离可以被写为112212221111111212112(,)(,)(,)(,)()nnnnnnstijijijijijijDist XXk xs xsk xt xtk xs xtnnn ntr KL 第三章深度学习的算法of125863.6 迁移学习其中1212,()()s ss tt st tnnnnKKKKK为核矩阵,,s st ts tKKK分别为由核函数 定义在源域、目标域、跨域的核矩阵(,)()()Tijiik x xxxL=lij :2122121,1,1ijijijx xDsnlx xDtnotherwisen n第三章深度学习的算法of12587
49、3.6 迁移学习核矩阵 K 可以被分解(特征值分解)为,1/21/2,s ss tt st tKKKKKKKKK经验核映射(empirical kernel map)现考虑使用12()nnm阶的矩阵 将特征变化到 m 维空间,通常W12()nnm则得到的核矩阵为1/21/2TTKKKWW KKKWW K其中,12()1/2nnmWKWR第三章深度学习的算法of125883.6 迁移学习特别地,任意两个数据 xi 和 xj 的核函数为ijTTxxkk WW k121211(,),(,),(,)Tnnxnnkk x x k x xk xxR由此可见,公式 中的核函数给出了未见样本的参数化核估计表示
50、。至此,两个域之间的经验均值距离可重新写为(,)()()TTstDist XXtr KLtrKWW K Ltr W KLKW(这里利用了迹运算的循环性质()()()tr ABCtr CABr BCA)ijTTxxkk WW k其中,第三章深度学习的算法of125893.6 迁移学习4)迁移成分提取对于公式 ,加一个正则项tr(W TW)以控制参数W的复杂度,进行最小化得到领域自适应的核学习问题:(,)TstDist XXtr W KLKW min.TTWTtr W Wtr W KLKWs tW KLKWI其中,为权衡参数,IRmm为单位阵,第三章深度学习的算法of125903.6 迁移学习类似