曲线y=x平方,z=x三次方在点(1,1,1)的切向量?

对于某类任务T和性能度量P,一个计算机程序被认为可以从经验E中学习是指,通过经验E改进后,它在任务T上由性能度量P衡量的性能有所提升。

训练误差:模型在训练集上的误差。
泛化误差:模型在测试集上的误差。
假设空间:算法可以选择的函数的总数量。

我们假设数据之间是相互独立的(即数据独立同分布假设),而数据都是由某个概率分布函数生成,因此在训练数据(已知)上表现很好的算法,在测试数据(未知)上依然能够表现得很好。

bias描述的是模型在训练集上拟合的好不好:拟合的好就是low bias,模型就较为复杂,参数较多,容易过拟合,使得模型在测试集上的预测具有high variance; 拟合的不好就是high bias,模型较为简单,参数较少,容易欠拟合,但是这样的模型由于对数据变化不那么敏感(不管是训练数据还是测试数据),因此在测试集上的预测具有low variance。
因此,想让模型的训练误差小(low bias)就要更复杂的模型,但容易造成过拟合,在测试样本上出现high variance;想让模型的测试误差小(low variance),则模型要简单一点,这样泛化能力才强,但容易出现high variance。

若有多个假设与观察一致,则选最简单的那个假设。

在所有可能的数据生成分布上平均之后,每一个分类算法在未事先观测的点上都有相同的错误率。通俗来说,就是针对某一域的所有问题,所有算法的期望性能是相同的。
假如学习算法La在某些问题上比学习算法Lb要好, 那么必然存在另一些问题,在这些问题中Lb比La表现更好。这里说的表现好就是模型泛化能力更强。因此,脱离具体的问题,考虑所有潜在的问题,则所有的学习算法都一样好。要谈论算法的相对优劣,必须要针对具体的学习问题,在某些问题上表现好的学习算法在另一些问题上可能不尽如人意。

在机器学习中,采样用来训练的数据集时,如果抛弃一部分样本,称为下采样,如果一部分样本重复采样,称为上采样/过采样;在图像识别中,缩小图像称为下采样,放大图像称为上采样。

在隐藏层卷积和池化过后,按一定的比例保留神经元的值,其他神经元值置为0,因此本次迭代反向传播时,这些值为0的神经元的梯度会被计算为0,它们的权重本次迭代时不会更新。而非零值神经元,它们的值要除以这个比率,相当于值被放大了,因此计算出来的梯度也放大了,梯度下降时权重更新的幅度变大了。
dropout层只在训练时开启,使用dropout层训练时可以减轻过拟合,但会延长训练的时间。在测试时,不要打开dropout层。

将原始的样本集合随机划分成训练集和验证集两部分。一般按训练集:验证集=7:3划分。
将全部样本划分成k个大小相等的样本子集;使用k次,第i次把第i个子集作为验证集,其余所有子集作为训练集,进行模型的训练和评估;最后把k次评估指标的平均值作为最终的评估指标。在实际实验中,k经常取10。
每一次训练迭代(iteration)都有放回地从一个总数n的样本中抽取m个样本(batch size),进行n/m次迭代后称为一次epoch(即我们一共用了整个数据集大小数量的样本进行了训练)。
在自助法的采样过程中,对n个样本进行n次自助抽样,当n趋于无穷大时,最终有多少数据从未被选择过?

生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率p(y|x)。如贝叶斯分类器,注意贝叶斯分类器实际是通过求p(x|c)和p(c)来求得p(x,c)。
判别模型:学习得到条件概率分布P(y|x),也就是特征x出现的情况下标记y的出现概率。
生成模型需要的数据量比较大,能够较好地估计概率密度;而判别模型对数据样本量的要求没有那么多。由生成模型可以得到判别模型,但由判别模型得不到生成模型。

即指定解满足下面三个要求的问题:解是存在的;解是唯一的;解连续依赖于定解条件,即解是稳定的。这三个要求中,只要有一个不满足,则称之为不适定问题。
求解不适定问题的普遍方法是用一组与原不适定问题相“邻近”的适定问题的解去逼近原问题的解,这种方法称为正则化方法。
正则化就是对最小化经验误差函数上加约束,这样的约束可以解释为先验知识(正则化参数等价于对参数引入先验分布)。约束有引导作用,在优化误差函数的时候倾向于选择满足约束的梯度减少的方向,使最终的解倾向于符合先验知识。
L1正则化项即所有权重的绝对值之和。L2正则化项即所有权重的平方之和。当我们在损失函数中加入正则化项时还要乘以一个λ。
L1 正则化可以产生更稀疏的权值矩阵,可以用于特征选择,同时一定程度上防止过拟合;L2正则化主要用于防止模型过拟合。
L1 正则化适用于特征之间有关联的情况;L2 正则化适用于特征之间没有关联的情况。

L1与L2正则化的区别:优化角度

考虑只有w1和w2的情况时,如果我们画出图来,L1正则项的区域就是一个以原点为中心点,旋转了45度角的正方形。我们的E_{D}(w)最小值在一个圆内,这个圆在正方形的右上角,且与正方形相交。在交点处,切向量始终指向w2轴,所以L1正则化容易使参数w2为0,即特征稀疏化。

考虑只有w1和w2的情况时,如果我们画出图来,L2正则项的区域就是一个以原点为圆心的圆。我们的E_{D}(w)最小值在一个圆内,这个圆在L2圆的右上角,且与其相交。在交点处,切向量相切与正则化圆,我们进行梯度下降时总是沿着正则化圆移动直接其点离E_{D}(w)最近,此时参数w1和w2都能取到比较小的值,但参数不为0。

L1与L2正则化的区别:梯度角度

其中η为学习率。Sgn 函数有如下返回值:大于零时返回1,等于零时返回0,小于零时返回-1。
可以看出,当w大于0时,更新的参数w变小;当w小于0时,更新的参数w变大;所以,L1正则化容易使参数变为0,即特征稀疏化。

如果在训练集上性能较好,而在测试集上性能不好,那么这种情况就叫做过拟合。
防止过拟合可以使用早停、正则化、dropout、批标准化、残差网络等方法。
我们可以在训练过程中每隔固定steps数运行测试检查验证集预测准确率来及早发现过拟合的发生,这又叫早停。
在训练时使用dropout层可以有效地减少过拟合,但是会延长训练过程,因为dropout后每轮更新的参数数量变少了(但更新的参数的梯度变大了,更新的更快),需要更多轮训练迭代。在测试时,我们应当关闭dropout层,使所有神经元都参与运算。
梯度消失现象是由于反向传播的梯度是链式法则求导,如果激活函数使用类似sigmoid的激活函数,求导函数的特性会使得最初的几层的梯度变得很小,权重参数更新很慢。这也是激活函数从sigmoid函数改动relu函数的原因。
训练后期反复震荡现象:
训练过程中为了避免出现固定学习率在训练后期过大而导致在局部最优解两边反复震荡的情况,我们可以使用具有自适应学习率的优化算法,比如Adagrad。
梯度爆炸即不同层之间的梯度(值大于1.0)相乘,使得权重更新时呈指数级爆炸增长。在极端情况下,权重的值变得非常大,以至于溢出,导致NaN值。
我们可以使用梯度截断、正则化、批标准化解决梯度爆炸现象。

深层神经网络在每一层做线性变换和激活后,得到的值随着网络深度加深或在训练过程中,其分布会逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数(如sigmoid函数)的取值区间的上下限两端靠近,这会导致反向传播时最后几层神经网络的梯度越来越小,出现梯度消失的现象。
批标准化就是对每层神经元的原始激活值通过标准化规整成服从正态分布的值,把线性变换后得到的值的分布强行拉回到均值为0方差为1的标准正态分布,这样使得这些值落在非线性函数中对输入比较敏感的区域,这样输入值的小变化就会导致损失函数较大的变化,梯度就会变大,避免梯度消失的问题。而且梯度变大意味着学习收敛速度快,能大大加快训练速度。
我们要注意一点的是,对数据进行批标准化一般都将其分布拉回标准正态分布上,但有时训练集数据并不服从正态分布,这同样会导致网络的性能下降。为解决该问题,我们引入两个新的参数γi,βi来学习原有的分布。γi和βi是在训练时网络自己学习得到的,它们用来恢复要学习的数据集特征。
首先将原始激活值规整到均值为0,方差为1的正态分布范围内。其中,ai为某个神经元原始激活值,μ和σi分别为期望和标准差,要计算期望和标准差,我们必须确定一个数据范围。
接下来根据我们采用的神经网络分两种情况:

  • 如果是全连接神经网络,对于我们最常见的mini-batch形式的训练,假如某个mini-batch有n个样本,每个样本在某层的某个神经元k上都会产生一个原始激活值,mini-batch中n个样本在通过这个神经元k时产生n个激活值,那么我们就用这n个激活值来计算对这个神经元k的激活值的期望和方差;
  • 如果是CNN神经网络,对于我们最常见的mini-batch形式的训练,假如某个mini-batch有n个样本,对于某层中的单个卷积核,n个样本通过这个卷积核时产生了N个特征图,假设每个特征图长X宽=RXL,那么对于这个卷积核上的所有特征值,它们的期望和标准差就由这RXLXN个值产生。
    然后我们要在模型训练过程中随其他权重参数一起,学习两个调节因子γi和βi,对上面规整后的值进行微调。因为经过第一步操作后,批标准化有可能降低神经网络的非线性表达能力,所以会以此方式来补偿批标准化操作后的神经网络的表达能力。
    之后,我们要学习γi和βi两个调节因子,用来恢复要学习的数据集特征。γi和βi的学习是自动的,同网络中其他权重参数一样,是通过反向传播在训练过程中自动学习的。 下式中,ai_norm为经过标准化操作后的值。

如果没有激活函数,那么无论多少层网络,最终得到的函数都可以表示成一个线性组合。只有加入激活函数后,才能得到复杂的多层非线性模型,拟合能力更加强大。

首先如果不用非线性的激励函数(其实相当于激励函数是f(x) = x),则在这种情况下神经网络的每一层输出都是上层输入的线性函数,我们可以很容易地将其化简成只有一层y=wx+b的形式,那么这种情况下神经网络的隐藏层有没有效果都一样。

梯度下降法在每轮迭代时计算损失函数对所有权重参数的梯度(偏导数),然后用梯度更新权重参数,然后下一轮迭代时重新计算损失函数值。比较损失函数增大还是缩小了,将权重参数朝着损失函数值缩小的方向更新。

卷积神经网络(Convolutional Neural Networks)由许多个卷积层-池化层-dropout层这样的三层小结构串联而成(注意池化和dropout层都不一定是必须的),在网络的末尾往往还要接上1-2层全连接层神经网络,最后接输出层。

输入为6x6x128的特征图时,1x1卷积的形式是1x1x32时,输出为6x6x32。即1x1的卷积核通道数如果少于输出的特征图通道数,就可以减少特征图的通道数,也就是降维。1×1卷积不会改变特征图的height和width,1x1的卷积实际上是将不同channel上同一位置上的特征值进行线性组合变化,实现了跨通道的交互和信息整合。

RNN的核心内容就是使用了循环连接,使用循环链接之后,可以使得神经网络拥有动态记忆能力。所谓循环连接,指的就是上一时刻的隐藏单元的输出s(t)也作为下一时刻的隐藏单元的输入,参与下一个时刻对s(t+1)的计算。

Network)即长短时记忆网络。它是为了克服RNN无法很好地处理长期记忆而提出的。由于RNN的隐藏层输出(即所谓的长期记忆)s(t)中每一个时刻都要经过激活函数sigmoid处理,而sigmoid函数求导后形式为sigmoid(1-sigmoid),这会导致对于靠前的时刻梯度快速减小,也就是梯度消失现象。为了避免梯度消失,人们对RNN网络进行了改进,实现了一种较为复杂的累加形式的反向传播,这就是LSTM网络。

GRU神经网络(Gated Recurrent Unit,门控循环单元神经网络)是LSTM神经网络的一个变体。GRU神经网络只有两个门,分别是更新门和重置门。GRU神经网络实际上是将LSTM神经网络中的遗忘门和输入门合成了一个单一的更新门。

}

我要回帖

更多关于 z的三次方等于负一 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信