1. 线性分类与感知机
1.1 线性回归
线性回归定义:利用数理统计中回归分析,来确定两种或两种以上变量间相 互依赖的定量关系的一种统计分析方法。
假设给定样本,构造代价函数
目标:找到超平面参数θ,使J(θ)最小,即求解
求解:令
即得到:
1.2 线性分类
定义:线性分类器则透过特征的线性组合来做出分类决定,以达到此种目的。简言之,样本通过直线(或超平面)可分
线性分类器输入:特征向量 输出:哪一类。如果是二分类问题,则为0和1,或者是属于某类的 概率,即0-1之间的数。
线性分类与线性回归差别: 输出意义不同:属于某类的概率回归具体值 参数意义不同:最佳分类直线最佳拟合直线 维度不同:前面的例子中,一个是一维的回归,一个是二维 的分类
构造代价函数
这里
上述和回归方程一致,只是加了S函数,因此又称作softmax回归
目标:找到超平面参数θ,使J(θ)最小,即求解
求解令,但J变为非线性,采用迭代的方法,即梯度下降法
即构建一个序列,𝛉1, 𝛉2 , ⋯ 𝛉𝑘 → 𝛉 ∗
最简单的方式:𝛉𝑘+1 = 𝛉𝑘 + Δ𝛉𝑘 确定Δ𝛉𝑘,即确定了如何构建序列
令
1.3 神经元模型
人工神经元模型: M-P模型
单神经元模型
设
有
作用函数
1.非对称型 Sigmoid 函数
2. 对称型 Sigmoid 函数
3.对称型阶跃函数
1.4 感知机模型
感知机(Perceptron)是1957年,由Rosenblatt提出,是神经网络和支 持向量机的基础。 感知机解决线性分类问题
与神经元模型具有相同形式
2. 多层前馈网络与误差反传算法
2.1 多层感知机
线性不可分问题:单层感知机无法进行线性分类。Minsky 1969年提出XOR问题
解决方法:使用多层感知机
• 在输入和输出层间加一或多层隐单元,构成多层感知器(多层 前馈神经网络)。
• 加一层隐节点(单元)为三层网络,可解决异或(XOR)问题
由输入得到两个隐节点、一个输出层节点的输出:
三层感知器可识别任一凸多边形或无界的凸区域。 更多层感知器网络,可识别更为复杂的图形。 多层感知器网络,有如下定理:
定理1 若隐层节点(单元)可任意设置,用三层阈值节点的 网络,可以实现任意的二值逻辑函数。 定理2 若隐层节点(单元)可任意设置,用三层S型非线性特 性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧 集上的平方可积函数。
2.2 多层前馈网络及BP算法
多层感知机是一种多层前馈网络,由多层神经网络构成,每层网络将 输出传递给下一层网络。神经元间的权值连接仅出现在相邻层之间, 不出现在其他位置。如果每一个神经元都连接到上一层的所有神经元 (除输入层外),则成为全连接网络。下面讨论的都是此类网络。
多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有导 师的学习,它是梯度下降法在多层前馈网中的应用。
BP学习算法由正向传播和反向传播组成:
① 正向传播是输入信号从输入层经隐层,传 向输出层,若输出层得到了期望的输出, 则学习算法结束;否则,转至反向传播。
② 反向传播是将误差(样本输出与网络输出之 差)按原联接通路反向计算,由梯度下降 法调整各层节点的权值和阈值,使误差减 小。
3.性能优化
3.1 常用技巧
(1)模型初始化
简单的考虑,把所有权值在[-1,1]区间内按均值或高斯分布 进行初始化。
Xavier初始化:为了使得网络中信息更好的流动,每一层输 出的方差应该尽量相等。因此需要实现下面的均匀分布:
(2)数据包括:
➢ 训练数据
➢ 验证数据
➢ 测试数据
通常三者比例为70%,15%,15%或60,20,20 当数据很多时,训练和验证数据可适当减少
训练数据与测试数据:𝐾折交叉验证
原始训练数据被分成 K 个不重叠的子集。 然后执行 K 次模型 训练和验证,每次在 K−1 个子集上进行训练, 并在剩余的一 个子集(在该轮中没有用于训练的子集)上进行验证。 最后, 通过对 K 次实验的结果取平均来估计训练和验证误差。
(3)➢ 欠拟合:误差一直比较大
➢ 过拟合:在训练数据集上误差小而在测试数据集上误差大
(4)权重衰减 (𝐿2正则化)
(5)Dropout(暂退)
3.2 动量法
图为损失函数轮廓。在进入以蓝色 标记的山沟状区域之前随机开始。 颜色实际上表示损失函数在特定点 处的值有多大,红色表示最大值, 蓝色表示最小值。我们想要达到最 小值点,为此但需要我们穿过山沟 。这个区域就是所谓的病态曲率。
⚫ 如果把原始的 SGD 想象成一个纸团在重力作用向下滚动,由 于质量小受到山壁弹力的干扰大,导致来回震荡;或者在鞍点 处因为质量小速度很快减为 0,导致无法离开这块平地。
⚫ 动量方法相当于把纸团换成了铁球;不容易受到外力的干扰, 轨迹更加稳定;同时因为在鞍点处因为惯性的作用,更有可能 离开平地。
3.3 自适应梯度算法
Adaptive Gradient:自适应梯度
⚫ 参数自适应变化:具有较大偏导的参数相应有一个较大的学习 率,而具有小偏导的参数则对应一个较小的学习率
⚫ 具体来说,每个参数的学习率会缩放各参数反比于其历史梯度 平方值总和的平方根
AdaGrad问题
⚫ 学习率是单调递减的,训练后期学习率过小会导致训练困难, 甚至提前结束
⚫ 需要设置一个全局的初始学习率
RMSProp 解决 AdaGrad 方法中学习率过度衰减的问题
Adam 在 RMSProp 方法的基础上更进一步:
➢ 除了加入历史梯度平方的指数衰减平均(𝑟)外,
➢ 还保留了历史梯度的指数衰减平均(𝑠),相当于动量。