感知机
1957 美国学者FankRoseblatt
给予输入x,权重w,偏差b,感知机输出
w称为权重 控制输入信号的重要性参数
b称为偏置 调整神经元被激活的容易程度参数
二分类(0或1)
回归:输出实数
Softmax:输出的概率,多个分类
感知机应用:简单逻辑电路
与门
与非门
或门
异或门
感知机训练过程
感知机局限性
只能表示由一条直线分割的空间
面对线性不可分:用非线性的曲线划分出非线性空间
多层感知机
单隐藏层
输入层-隐藏层-输出层
单隐藏层-单分类
激活函数
h (x)函数会将输入信号的总和转换为输出信号。
作用:决定如何来激活输入信号的总和
激活函数的性质
连续并可导(允许少数点上不可导)的非线性函数。
激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。
激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。
阶跃函数
以0为界,一旦输入超过0,就切换输出1 ,否则输出0
S型激活函数(挤压函数)
tanh激活函数(双曲正切)
将输入映射到(-1,1)
RELU 函数(线形修正函数)
ReLU线形修正单元
多分类
多个隐藏层多类分类
总结
多层感知机使用隐藏层和激活函数来得到非线性模型
常用激活函数是Sigmoid,Tanh,RELU
使用Softmax来处理多分类
超参数为隐藏层数和各个隐藏层大小
学习过程
过程:
神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。
学习的本质:
对可变权值的动态调整
参数更新
训练误差和泛化误差
训练误差:模型在训练数据集上的误差
泛化误差: 模型在新数据集上的误差
示例:使用历年试真题准备将来的考试
再历年考试真题取得好成绩(训练误差)并不能保证未来考试成绩更好(泛化误差)
学生A 通过死记硬背学习在历年真题考试中取得好成绩
学生B理解并给出答案的解释
验证数据集和测试数据集
验证数据集:一个用来评估模型好坏的数据集
例如拿出50%的训练数据
不要跟训练数据集混在一起(常犯错误)
测试数据集:评估最终模型的性能
理论上严格的讲,是只用一次的数据集
例如高考
K-折交叉验证
在没有足够的数据时非常有用
算法:
将训练数据划分为 K 个部分
对于 i = 1,...,K
使用第 i 部分作为验证集,其余部分用于训练
报告 K 个部分在验证时的平均误差
常见 K 值选择:K=5或10
过拟合和欠拟合
当学习器把训练样本学得"太好"了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质——过拟合
对训练样本的一般性质尚未学好——欠拟合
模型复杂度的影响
权重衰减
暂退法(丢弃法)
很难比较不同算法之间的复杂度;例如树与神经网络
给定算法族,两个主要因素很重要:
参数个数
每个参数值的选择范围
多种因素很重要
样本数量
每个样本中的特征数量
时间、空间结构
多样性