1、第二章基础知识2.1数值计算问题2.2估计、偏差与方差2.3神经网络结构of5212.4数据准备2.5超参数与验证集2.6规模与特征工程2.1 数值计算问题第二章 基础知识of522舍入误差往往会导致算法的失效,最常见的是上溢和下溢上溢和下溢当大量级的数被近似成+或-时,计算可能会发生上溢。例如:当我们遇到零除或是对零取对数时,得到-,如果继续对-进行运算,则会导致结果无意义。当逼近零的数被四舍五入到零时,计算可能会发生下溢。未经处理就将其代入下一步计算,则同样导致结果无意义。上溢下溢2.1 数值计算问题第二章 基础知识of523Softmax函数上溢和下溢分母中至少包含一个值为1的项,不会发
2、生下溢第二章基础知识2.2估计、偏差和方差2.1数值计算问题2.3神经网络结构of5242.4数据准备2.5超参数与验证集2.6规模与特征工程2.2 估计、偏差和方差第二章 基础知识of5252.2.1 点估计2.2 估计、偏差和方差第二章 基础知识of5262.2.1 点估计2.2 估计、偏差和方差第二章 基础知识of5272.2.1 点估计【例】【解】其其他他,010,)1()(xxxf 设总体 X 的概率密度为总体 X 的数学期望为 xxxfXEd)()(2()-1 1()E X=-E X 101d)1(xx ,21 .112XX 2.2 估计、偏差和方差第二章 基础知识of5282.2
3、.1 点估计似然函数为 其其他他,0),1(10,)()1()(1nixxLiniin ,ln)1ln(ln1 niixnL niixnL1ln1dlnd ,令令0.ln11 niiXn 2.2 估计、偏差和方差第二章 基础知识of5292.2.2 偏差和方差2.2 估计、偏差和方差第二章 基础知识of52102.2.2 偏差和方差2.2 估计、偏差和方差第二章 基础知识of52112.2.2 偏差和方差2.2 估计、偏差和方差第二章 基础知识of52122.2.2 偏差-方差窘境训练不足时,学习器拟合能力不强,偏差主导随着训练程度加深,学习器拟合能力逐渐增强,方差逐渐主导训练充足后,学习器的
4、拟合能力很强,方差主导第二章基础知识2.3神经网络结构2.1数值计算问题2.3估计、偏差和方差of52132.4数据准备2.5超参数与验证集2.6规模与特征工程2.3 神经网络结构第二章 基础知识of52142.3.1 神经元 神经元的信息传递和处理是一种电化学活动。树突由于电化学作用接受外界的刺激,通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位,再通过轴突末梢传递给其它的神经元。从控制论的观点来看,这一过程可以看作一个多输入单输出非线性系统的动态过程。可据此构建相应的数学模型。数值计算问题2.3 神经网络结构第二章 基础知识of52152.3.1 神经元2.3
5、 神经网络结构第二章 基础知识of52162.3.2 激活函数常用的激活函数主要有sigmoid函数、Tanh函数和ReLU函数等。2.3 神经网络结构第二章 基础知识of52172.3.2 激活函数特点:取值范围为-1,1,在特征相差明显时tanh函数的表现效果会很好,在循环过程中会不断扩大特征效果。缺点:前向传播计算量大,在反向传播时,容易出现梯度消失2.3 神经网络结构第二章 基础知识of52182.3.2 激活函数特点:当输入信号小于0时,输出等于0,输入信号大于0 时,输出与输入相等。缺点:存在神经元参数不更新现象2.3 神经网络结构第二章 基础知识of52192.3.4 输出单元2
6、.3 神经网络结构第二章 基础知识of52202.3.4 架构设计架构主要包括网络的单元个数,以及这些单元之间的连接方式。2.3 神经网络结构第二章 基础知识of52212.3.5 张量 1.张量表示法 近代连续介质力学和理论物理中广泛采用张量,这不仅因为采用张量表示基本方法书写高度简练,物理意义鲜明,更重要的是因为连续介质力学中出现的一些重要物理量如应力、应变等本身就是张量。在笛卡儿直角坐标系中定义的张量称为笛卡儿张量,而在任意曲线坐标系中定义的张量则称为普通张量。对我们所研究的领域而言,有了笛卡儿张量方面的知识就已经够用了。2.3 神经网络结构第二章 基础知识of52222.3.5 张量下
7、面引进几种符号:(1)表示一个矢量,i 是自由指标;(2)约定求和法则:为了书写简便,约定在同一项中如有两个自由指标相同时,就表示要对这个指标从1到3求和,如:(3)符号定义为 也称为克罗内克尔(Kronecker)。ia332211babababaii时当,时当,jijiij 1 02.3 神经网络结构第二章 基础知识of52232.3.5 张量(4)置换符号定义为 等),为奇排列(如,等),为偶排列(如,时中有两个以上指标相同,132321213312231123 1 1 0 kjikjikjiijk如321333231232221131211kjiijkaaaaaaaaaaaaksjtk
8、tjsistijk(5)恒等式2.3 神经网络结构第二章 基础知识of52242.3.5 张量 2张量的定义 设 和 是旧的和新的直角坐标系。,分别是表示新旧坐标系中坐标轴上的单位矢量。则有 321xxxO321xxxO1e2e3e1e2e3eijjijieeee333232131132322212123132121111eeeeeeeeeeeeaaaaaaaaa 此外有下列关系:其中 ,则有:,jiijaee jijia ee jjiia ee;2.3 神经网络结构第二章 基础知识of52252.3.5 张量1)标量 对于标量来说,由于标量的数值不依赖于坐标系,于是有),(),(321321
9、xxxxxx 2)矢量 考虑矢量 ,设 ;分别是 在旧和新坐标轴上的投影。则有 a321,aaa321,aaaa31321211111aaaaaaaea32322212122aaaaaaaea33323213133aaaaaaaea 由此得 iijjjijiaaa aa a2.3 神经网络结构第二章 基础知识of52262.3.5 张量 上式给出矢量的另一种定义:即对于每个直角坐标系 来说有3个量 ,它们根据上式变换到另一坐标系 中的3个量 ,则此三个量定义为一新的量 ,称为矢量。称为一阶笛卡儿张量,简称一阶张量。通常用下面表示:321xxxO321,aaa321xxxO321,aaaa ii
10、jjjijiaaa aa a123(,)aa a a2.3 神经网络结构第二章 基础知识of52272.3.5 张量321xxxOlmpijiljmlmpa ap 3)二阶张量 如果对每一直角坐标系 来说有九个量 ,按下列公式 2321311121321221331322312122322222332323313123323223333233 lmlmpa a pa a pa a pa a pa a pa a pa a pa a paa a pap 例如:2.3 神经网络结构第二章 基础知识of52282.3.5 张量转换为另一直角坐标系中 的九个量则此九个量 ,定义为一新的量P,称为二阶笛卡
11、儿张量,简称二阶张量。通常用下面表示:321xxxOijp333231232221131211pppppppppppPijijijp 称为二阶张量的分量。2.3 神经网络结构第二章 基础知识of52292.3.5 张量 4)n 阶张量 设在每一坐标系内给出3n个数 ,当坐标变换时,这些数按公式 njjjp211 21 12 21 2nn nni iii ji ji jj jjpa aap转换,则此3n个数定义一个n 阶张量。标量为零阶张量,矢量为一阶张量。第二章基础知识2.4数据准备2.1数值计算问题2.3神经网络结构of52302.2估计、偏差和方差2.5超参数与验证集2.6规模与特征工程第
12、二章 基础知识of52312.4 数据准备 过拟合表现为训练误差和测试误差之间的差距太大,存在高方差。训练数据集过小,是使模型造成过拟合的原因之一。准备更多的数据对模型进行训练,是解决过拟合的一种有效方法,使机器学习模型泛化得更好。但是时时刻刻准备足够多的训练数据是困难的,而且可能获取更多数据的成本会很高。对此,我们可以通过创建“假”数据并添加到训练集中来解决这个问题。第二章 基础知识of52322.4 数据准备2.4.1 噪声注入 输入层注入:将小幅值随机噪声作用于输入,对于许多分类或是回归任务,都有较好的效果。相对部分模型来说,将方差极小的噪声加入输入与对权重施加范数惩罚的效果是一样的。隐
13、藏层注入:在多个抽象层上进行数据集的增强。权重加入:将噪声加到权重的正则化方式也被称为关于权重的贝叶斯推断的随机实现。权重在贝叶斯的学习过程中被看作是不确定的,并且其不确定性可以用概率分布来进行表达。这种将噪声加入到权重之中的随机方法,可以有效针对不确定性。输出加入:直接对标签上的噪声进行建模。第二章 基础知识of52332.4 数据准备2.4.2 数据扩充 翻转:主要包括水平翻转、垂直翻转、水平垂直翻转 旋转:将原图按照一定角度旋转,作为新图像。尺寸变换:将图像分辨率变为原图的0.8、0.9、1.1、1.2等倍数,作为新图像。截取:主要包括随机截取和监督式截取(含有明显语义信息的图像块)Fa
14、ncyPCA:对所有训练数据的像素值进行主成分分析(PCA),根据得到的特征向量和特征值计算一组随机值,作为扰动加入到原像素值中。第二章基础知识 2.5超参数与验证集2.1数值计算问题2.3神经网络结构of52342.4数据准备2.2估计、偏差和方差2.6规模与特征工程第二章 基础知识of52352.5 超参数与验证集1超参数 什么是超参数?超参数也是一个参数,是一个未知变量,但是它不同于在训练过程中的参数,它是可以对训练得到的参数有影响的参数,需要训练者人工输入或设置,并作出调整,以便优化训练模型的效果。特点l 定义关于模型的更高层次的概念,如复杂性或学习能力l 不能直接从标准模型训练过程中
15、的数据中学习,需要预先定义l 可以设置不同的值,训练不同的模型和选择更好的测试值来决定第二章 基础知识of52362.5 超参数与验证集1超参数 示例l 算法中的参数 learning rate(学习率)、iterations(梯度下降法循环的数量)、(隐藏层数目)、(隐藏层单元数目)、choice of activation function(激活函数的选择)l 深度学习中的参数 momentum、batch size、regularization parameters等等第二章 基础知识of52372.5 超参数与验证集2验证集 什么是验证集?在模型训练过程中单独留出的样本集 目的:调整模
16、型的超参数;对模型的能力进行初步评估。为什么会有验证集?当我们遇到很难优化的问题时,往往会将其设为学习算法的超参数。对于不适合在训练集上训练学习的选项来说,必须将其设为超参数,这种情况我们在算法学习中会常常遇到。假若在某个训练集上学习超参数,所学习的超参数总是趋向于最大可能的模型容量,必然会导致过拟合。为了解决该问题,我们需要一个验证集(validation set)样本。第二章 基础知识of52382.5 超参数与验证集2验证集 作用l 及时发现模型或者参数的问题,可以及时终止训练,重新调参数或者调整模型l 验证模型的泛化能力第二章基础知识2.6规模与特征工程2.1数值计算问题2.3神经网络
17、结构of52392.4数据准备2.5超参数与验证集2.2估计、偏差和方差第二章 基础知识of52402.6 规模与特征工程2.6.1 规模 高性能需要两方面的支持:海量数据;规模足够大的以发挥数据规模优势的神经网络模型。第二章 基础知识of52412.6 规模与特征工程2.6.2 特征工程 特征提取:特征提取是在原始数据的基础上自动地构建新的特征,其通过映射或变换的方法,将模式空间的高维特征(向量)变成特征空间的低维特征。图像特征提取传统的特征一般具有明显物理意义或统计意义。特征提取的目的主要是降维,其降维方法主要有主成分分析法、聚类(数据形式为表格);对边缘或纹理进行提取(数据形式为图像)。
18、第二章 基础知识of52422.6 规模与特征工程 特征构造:从原始数据构造新特征的处理过程。特征构造需要对实际样本数据进行处理,思考数据的结构以及将特征数据作为模型的输入形式。例如,表格式数据需要将特征进行组合或对特征进行分解或切分来构造新的特征2.6.2 特征工程特点:灵活性与艺术性的,往往需要人工创建。例如对非法集资活动的判别,就涉及到怎样对数据进行转换,以构造出诱利性的特征。第二章 基础知识of52432.6 规模与特征工程2.6.2 特征工程 特征选择:指从特征集合中挑选一组对于问题最重要的特征子集,从而达到降维的效果。特征选择方法可分为过滤法、包装法与集成法。(1)过滤法 根据每个
19、特征的统计特性,或者特征与目标值的关联程度来进行排序,去掉那些未达到设定阈值的特征。包括方差过滤、基于统计相关性的过滤,基于互信息的过滤等。如,方差过滤认为数据的信息取决于其变异程度的大小。像“太阳是从东方升起”这种特征不含任何信息。第二章 基础知识of52442.6 规模与特征工程2.6.2 特征工程(2)包装法 有时多个变量在一起时才能显出与目标相关性的特征,就可采用包装法特征选取方法。包装法会选择一个目标函数来一步步地进行筛选特征。如递归消除特征,它使用一个机器学习模型来进行多轮训练,每轮训练后,按照目标函数消除对应的特征,如按权值系数平方值最小的原则消除对应的特征,再基于新的特征集进行
20、下一轮训练,以此类推,直到剩下的特征数满足我们的需求为止。第二章 基础知识of52452.6 规模与特征工程2.6.2 特征工程(3)集成法 有一些模型算法天然就具备判断一个特征对于问题的效果影响程度,例如决策树类的模型。通过诸如决策树类模型计算出一个综合的特征重要性排序,用于特征的选择。这样的方法被称为集成法。嵌入法使用L1正则化和L2正则化来选择特征。在回归问题求解中,目标函数中的正则化惩罚项越大,那么模型的系数就会越小。当正则化惩罚项大到一定的程度时,部分特征系数会变成0,随着正则化惩罚项继续增大,很多的特征系数会趋于0。我们筛掉特征系数先变成0会发那一部分。6 大挑战理论的局限问题非精
21、确梯度问题局部最优问题长期依赖问题第二章 基础知识of52462.6 规模与特征工程悬崖问题鞍点和平坦区域问题2.6.3 训练深度模型的挑战第二章 基础知识of52472.6 规模与特征工程训练深度模型的挑战之一:局部最优问题 可以将深度学习模型中凸优化问题的求解简化为凸函数的局部极小值的求解。凸函数可能出现这种情况:其底部区域比较平坦,其局部极小值点不唯一,即不存在唯一的全局最小值点此外,神经网络存在大量代价值很高的局部极小值点问题第二章 基础知识of52482.6 规模与特征工程训练深度模型的挑战之二:鞍点和平坦区域问题 鞍点指函数中那些梯度为零的点。因为极值点的梯度为零,所以极值点属于鞍
22、点,但是梯度为零的点不一定是极值点。鞍点的代价值比位于其Hessian矩阵正特征值对应的特征向量方向上的点要小,而比位于负特征值对应特征向量方向上的点的更大。遇到宽且平坦的区域,梯度和Hessian矩阵都是零,出现梯度消失的现象。在网络训练中,就可能得到代价值较高的局部极小点。这就是深度学习训练过程中的平坦区域问题。第二章 基础知识of52492.6 规模与特征工程训练深度模型的挑战之三:悬崖问题 对于多层神经网络的代价函数来说,经常存在像悬崖一样的区域,该区域的代价函数值斜率较大。在神经网络的训练过程中,遇到斜率很大的悬崖结构时,如果更新梯度,会很大程度地改变参数值,这也是梯度爆炸的一种原因
23、。目前可以使用启发式梯度截断方法来尽量避免悬崖问题。第二章 基础知识of52502.6 规模与特征工程训练深度模型的挑战之四:长期依赖问题 深度神经网络结构包含很多隐含层,这种比较深的结构会导致计算图很深,致使模型丧失学习先前信息的能力,从而导致该神经网络的训练过程出现长期依赖问题。假设某个计算图中包含一条反复与矩阵W相乘的概念。那么t 步后,相当于乘以 。设W 有特征值分解则若特征值i大于1,则会爆炸;若小于1时则会消失。1()WVDiagV1()ttWVDiagVtW第二章 基础知识of52512.6 规模与特征工程训练深度模型的挑战之五:非精确梯度问题 在实际应用中,几乎每一个深度学习的算法模型,都需要通过采样进行估计,从而梯度值以及Hessian矩阵量都会受噪声的影响,所以计算的梯度并不是非常精确的。针对此类问题,很多神经网络训练算法都考虑到了梯度估计的缺陷,通过选择比真实损失函数更易估计的代理损失函数,来尽量达到避免非精确梯度问题的出现,如对比散度是用来近似玻尔兹曼机中难以处理的对数似然梯度的一种技术。第二章 基础知识of52522.6 规模与特征工程训练深度模型的挑战之六:理论的局限问题 优化算法是否能得到任何目标函数的最优解的理论分析还是比较困难的,这类问题即称深度学习理论的局限性问题。谢谢!