一、基本原理
1.感知机(Perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。
2.感知机是Frank Rosenblatt在1957年提出的,可以视为一种最简单形式的前馈神经网络,是一种二元线性分类器。它利用梯度下降法对损失函数进行极小化,提出可将训练数据进行线性划分的分离超平面,从而求得感知机模型。
二、感知机公式
其中w称为权重:控制输入信号的重要性的参数,b称为偏置:偏置是调整神经元被激活的容易程度参数。
三、感知机应用
1.感知机可应用在简单逻辑门电路中:
用上述公式分别可应用在与门、与非门、或门及异或门中从而实现其作用。
2.感知机局限性
由感知机在异或门的应用中我们可得出感知机的局限性就是只能表示由一条直线分割的空间。因此发现了一种新的划分方式,简单来说用非线性的曲线划分出非线性空间,而这一概念正是多层感知机——最简单的深度神经网络。
四、激活函数
1.激活函数特点:
(1) 连续并可导(允许少数点上不可导)的非线性函数。
(2) 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。
(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。
2.阶跃函数
可以说感知机使用了阶跃函数作为激活函数:以0为界,一旦输入超过0,就切换输出1, 否则输出0。
3.S型(sigmoid)激活函数(挤压函数)
将输入投影到(0,1),是一个软的。
4.tanh激活函数(双曲正切)
将输入映射到 (-1, 1)。
5.RELU函数(线性修正函数)
ReLU: 线性修正单元。最常用的激活函数。
五、隐藏层
1.单隐藏层—单分类,隐藏层大小是超参数。
2.多个隐藏层多类分类,超参数:隐藏层数量,多少层隐藏层 每层的隐藏单元数目,隐藏层神经元个数。
六、参数更新
1.前向传播(正向传播) 输入样本——输入层——各隐藏层——输出层
反向传播(误差反传) 输出层——各隐藏层——输入层
计算神经网络参数梯度的方法
修正各层单元的权值
七、训练误差和泛化误差
1.训练误差:模型在训练数据集上的误差。
2.泛化误差: 模型在新数据集上的误差。
3.K-折交叉验证
算法:
将训练数据划分为 K 个部分
对于 i = 1,...,K
使用第 i 部分作为验证集,其余部分用于训练
报告 K 个部分在验证时的平均误差
4.过拟合和欠拟合
5.模型复杂度的影响
权重衰减 暂退法(丢弃法)
在比较不同算法之间的复杂度时两个主要因素很重要: 参数个数和每个参数值的选择范围。
在数据库中有多种因素很重要:样本数量、每个样本中的特征数量、时间、空间结构以及多样性。