机器学习系列主要为 我在国科大研一期间,在《机器学习方法与应用》课程中所学知识概述,以及课后补充学习的内容。
----------------------------------------------------------------------------------------------------------------------------------
梯度下降和delta法则:定义一个度量标准来衡量假设相对于训练样例的训练误差 E(w) = 1/2 Σ(y - 0)^2,在一定条件下使E最小化的假设就是H(候选假设空间H就是所有可能的实数值权向量的集合)中最可能的假设。根据E的定义,误差曲面是抛物面,存在一个全局最小值,梯度下降搜索就是从一个任意的初始权向量开始,饭后沿误差曲面最陡峭下降的方向(E相对于w每个分量的导数 ▽E),以很小的步伐反复修改这个向量(w = w + Δw, Δw = -n▽E(w)),直到得到全局的最小误差点。
反向传播算法基本思想:①给定随机初始化的权值矩阵;②前向计算:计算实际输出O和误差E;③后向计算:用输出层的误差调整输出层权矩阵,并用此误差估计输出层的直接前导层的误差,再用输出层前导层误差估计更前一层的误差。形成将输出端表现出的误差沿着与输入信号相反的方向逐级向输入端传递的过程。
迭代过程中网络权值的演化:①如果把网络的权值初始化为接近于0的值,那么在早期的梯度下降步骤中,网络将表现为一个非常平滑的函数,近似为输入的线性 函数,这是因为Logistic函数本身在权值靠近0时接近线性。②仅当权值增长一定时间后,它们才会到达可以表示较高非线性网络函数的程度;③在这个能表示更复杂函数的权空间区域存在更多的局部极小值,但是人们认为当权到达这一点时,它们已经靠近全局最小值。
用来缓解局部极小值问题的启发式规则:①为梯度更新法则加一个冲量,可以带动梯度下降过程,冲过狭窄的局部极小值;②使用随机的梯度下降,对于每个训练样例沿一个不同的误差曲面有效下降,这些不同的误差曲面通常有不同的局部极小值,这使得下降过程不太可能陷入一个局部极小值。③使用同样的数据训练多个网络,但用不同的随机权值初始化每个网络。如果不同的训练产生不同的局部极小值,那么对分离的验证集合性能最好的那个网络将被选中,或者保留所有的网络,输出是所有网络输出的平均值。
过拟合发生在迭代的后期:①设想网络的权值是被初始化为小随机值的,使用这些几乎一样的权值仅能描述非常平滑的决策面;②随着训练的进行,一些权值开始增长,以降低在训练数据上的误差,同时学习到的决策面的复杂度也在增加;③如果权值调整迭代次数足够多,反向传播算法可能会产生过度复杂的决策面,拟合了训练数据中的噪声和训练样例中没有代表性的特征。
权值衰减:它在每次迭代过程中以某个小因子降低每个权值,这等 效于修改E的定义,加入一个与网络权值的总量相应的惩
罚项,此方法的动机是保持权值较小,从而使学习过程向着复杂决策面的反方向偏置。
验证数据:最成功的方法是在训练数据外再为算法提供一套验证数据,应该使用在验证集合上产生最小误差的迭代次数,不是总能明显地确定验证集合何时达到最小误差。
k-fold交叉验证方法:①把训练样例分成k份,然后进行k次交叉验证过程,每次使用不同 的一份作为验证集合,其余k-1份合并作为训练集合。②每个样例会在一次实验中被用作验证样例,在k-1次实验中被用作训练样例。③每次实验中,使用上面讨论的交叉验证过程来决定在验证集合上取得最佳性能的迭代次数,然后计算这些迭代次数的均值。④最后,运行一次反向传播算法,训练所有m个实例并迭代。