1.convergence(收敛):一个神经网络收敛是指,网络具有稳定的输出,或是在训练时有稳定的变化趋势。
2.三个数据集:training (训练集):是用于训练网络,计算梯度更新权值,找到最好的网络
validation(验证集):在训练的过程中用一组新的数据随机验证训练的网络,通过 误差在训练集和验证集上的变化来判断是否到达预期的点,是否需要停止。
testing(测试集):用一组全新的数据集测试训练的到的神经网络,看最终结果是 否符合预期。测试该神经网络的泛化效果。
3.欠拟合和过拟合:所谓欠拟合就是还没训练好,结果和预期还有很大的偏差,所谓过拟合就是训练的有些太好了,特别符合训练集,但是对测试集的效果并没有那么好,不具有很好的泛化能力。
当迭代到一定次数时,验证集会控制训练提前停止,以获得更好的训练效果。
4.softmax函数:通常在卷积神经网络中的最后一层的输出中会用到 soft max 。
①用指数函数将输出结果正则化,并且通过分母处理对于输出结果归一化,使得结果分布于0-1之间。可以表示成概论。
②在反向传播时,soft max 函数求导更加方便,更易表示。
5.交叉熵(Cross Entropy)
①自信息量(self-information)
I(X)=-logp(x)
p(x)表示发生一件事的概率,通常p(x)越大,表示发生一件事的可能性越大,则其自信息量越小。
② 熵(Entropy)
H(x)= - Σp(x)logp(x)
描述一个随机变量的状态最少需要几个比特,其计算方法很像哈夫曼编码。
联合熵(Joint Entropy)两个随机变量的联合熵
H(x,y)=-Σp(x,y)logp(x,y)
条件熵(condition entropy):非独立随机变量
H(x/y)=H(x,y)-H(x)
相关熵(Relative Entropy)----散度
Dkl(p||q)=∑(p(x)logp(x)-p(x)logq(x))
交叉熵(Cross Entropy)
H(p,q)= -Σp(x)logq(x)
散度衡量的是交叉熵和熵的差异程度,而熵表示了表示状态所用的最少比特数,当交叉熵特别接近熵的时候,就接近他的最小值。所以交叉熵可以反应两种值的接近程度,当越接近时,它就越小。故在反向传播时,除了可以用均方误差mse 来估计预测值和真实值之间的差异,还可以用交叉熵来估计,作为loss function。
6.病态问题和约束
所谓病态问题,也即满足一个方程有无数个解,并且解的大小没有受到限制的问题,这样对于机器学习来说,对于同一个损失值,有不同的参数,而且较小的变动就会引起较大的误差,不利于泛化。因此,考虑加约束项。L2规范化与 L1规范化
7.集成与随机失活
集成:用多个神经网络,汲取各个网络的优点
随机失活:在每次训练时随机使网络中的某些神经元失活,使其相当于不同的神经网络,在每次提取不同的特征,防止过拟合。