一.线性分类与感知机
1.线性回归
定义:利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法
要素:训练集(训练数据)、输出数据、模型、训练数据的条目数
学习过程:
扩展问题:
假设扩展问题和n个因素有关,令
则有:
假设给定样本
构造代价(误差、损失)函数:
目标:找到超平面参数𝛉,使𝐽(𝛉)最小,即求解min 𝐽(𝛉)
求解:
即可得到:
2.线性二分类问题
定义:线性分类器则透过特征的线性组合来做出分类决定,以达到 此种目的。简言之,样本通过直线(或超平面)可分
线性分类器输入:特征向量
输出:哪一类。如果是二分类问题,则为0和1,或者是属于某类的 概率,即0-1之间的数
变换:
,其中,该函数称作Sigmoid函数
同样给定样本,注意只能取0,1
构造代价(误差、损失)函数:
,其中,
目标:找到超平面参数𝛉,使𝐽(𝛉)最小,即求解min 𝐽(𝛉)
采用迭代的方法:,其中
3.对数回归与多分类回归
从概率角度看问题。二分类问题可使用条件概率描述:
因为是二分类,可假设输出为{0,1}。
重新修改指标函数:
对其最小化,有:
根据Bayes公式,二分类问题可使用条件概率描述
或统一记为:
假设各样本相互独立,即服从Bernoulli分布。则的合理估计值应当是 让所有样本事件产生的几率最大,即应当是极大似然的,因此取似然函数
或对上式最大化等价于
对于有𝑘个标记的分类问题,分类函数如下:
因为是多分类,所以需要多个分割超平面,因此有:
取代价函数:
对应梯度:
这种方式又称为Softmax
4.神经元模型
生物神经元 (Spiking模型):
生物神经元:Integrate-and-fire模型:
人工神经元模型: M-P模型:
5.感知机模型
公式中的直线方程为𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0,假设任一点的坐标为(𝑥0, 𝑦0),到 直线的距离为:
如果是高维情况,分类面为超平面,则有:
其中𝑤0 = 𝑏
感知机从输入到输出的模型如下:
其中sign为符号函数:
对于样本,注意到,如果样本正确分类,则有
因此可定义损失函数如下:
我们需要找到超平面参数𝐰∗,满足
线性可分参数迭代过程:
线性不可分参数迭代过程:
二.多层前馈网络与误差反传算法
1.多层感知机
线性不可分问题:无法进行线性分类。
解决方法:使用多层感知机
在输入和输出层间加一或多层隐单元,构成多层感知器(多层 前馈神经网络);
加一层隐节点(单元)为三层网络,可解决异或(XOR)问题。
由输入得到两个隐节点、一个输出层节点的输出:
可得到
设网络有如下一组权值和阈值,可得各节点的输出:
三层感知器可识别任一凸多边形或无界的凸区域。
更多层感知器网络,可识别更为复杂的图形。
多层感知器网络,有如下定理:
定理1 若隐层节点(单元)可任意设置,用三层阈值节点的 网络,可以实现任意的二值逻辑函数。
定理2 若隐层节点(单元)可任意设置,用三层S型非线性特 性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧 集上的平方可积函数。
2.多层前馈网络及BP算法概述
2.1多层前馈网络
多层感知机是一种多层前馈网络,由多层神经网络构成,每层网络将 输出传递给下一层网络。神经元间的权值连接仅出现在相邻层之间, 不出现在其他位置。如果每一个神经元都连接到上一层的所有神经元 (除输入层外),则成为全连接网络。下面讨论的都是此类网络。
多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有导师的学习,它是梯度下降法在多层前馈网中的应用。
网络结构:见图,𝐮(或𝐱 )、𝐲是网络的输入、输出向量,神经元 用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层 ,也可多层(图中是单隐层),前层至后层节点通过权联接。由于 用BP学习算法,所以常称BP神经网络。
2.2BP算法简述
已知网络的输入/输出样本,即导师信号
BP学习算法由正向传播和反向传播组成:
① 正向传播是输入信号从输入层经隐层,传 向输出层,若输出层得到了期望的输出, 则学习算法结束;否则,转至反向传播。
② 反向传播是将误差(样本输出与网络输出之 差)按原联接通路反向计算,由梯度下降 法调整各层节点的权值和阈值,使误差减 小。
3.BP算法详解
4.算法评述
三.性能优化
1.常用技巧
模型初始化:
训练数据与测试数据:
训练数据与测试数据:𝐾折交叉验证:原始训练数据被分成 K 个不重叠的子集。 然后执行 K 次模型 训练和验证,每次在 K−1 个子集上进行训练, 并在剩余的一 个子集(在该轮中没有用于训练的子集)上进行验证。 最后, 通过对 K 次实验的结果取平均来估计训练和验证误差。
欠拟合与过拟合:
欠拟合:误差一直比较大
过拟合:在训练数据集上误差小而在测试数据集上误差大
权重衰减 (𝐿2正则化):
Dropout(暂退):
模型初始化:
2.动量法
2.1病态曲率
图为损失函数轮廓。在进入以蓝色 标记的山沟状区域之前随机开始。 颜色实际上表示损失函数在特定点 处的值有多大,红色表示最大值, 蓝色表示最小值。我们想要达到最 小值点,为此但需要我们穿过山沟 。这个区域就是所谓的病态曲率。
梯度下降沿着山沟的山脊反 弹,向极小的方向移动较慢 。这是因为脊的表面在W1方 向上弯曲得更陡峭。
2.2动量法与NAG
如果把原始的 SGD 想象成一个纸团在重力作用向下滚动,由 于质量小受到山壁弹力的干扰大,导致来回震荡;或者在鞍点 处因为质量小速度很快减为 0,导致无法离开这块平地。
动量方法相当于把纸团换成了铁球;不容易受到外力的干扰, 轨迹更加稳定;同时因为在鞍点处因为惯性的作用,更有可能 离开平地。
动量法更新公式:
3.自适应梯度算法
3.1AdaGrad
Adaptive Gradient:自适应梯度:
参数自适应变化:具有较大偏导的参数相应有一个较大的学习 率,而具有小偏导的参数则对应一个较小的学习率
具体来说,每个参数的学习率会缩放各参数反比于其历史梯度 平方值总和的平方根
3.2RMSProp
RMSProp 解决 AdaGrad 方法中学习率过度衰减的问题
RMSProp 使用指数衰减平均以丢弃遥远的历史,使其能够快 速收敛;此外,RMSProp 还加入了超参数 𝜌 控制衰减速率。
具体来说(对比 AdaGrad 的算法描述),即修改 𝑟 为
3.3Adam
Adam 在 RMSProp 方法的基础上更进一步:
除了加入历史梯度平方的指数衰减平均(𝑟)外,
还保留了历史梯度的指数衰减平均(𝑠),相当于动量。
Adam 行为就像一个带有摩擦力的小球,在误差面上倾向于平 坦的极小值。