单层神经网络
神经元模型
| category |
description |
| 放电模型 |
复杂但接近真实神经元 |
| 点火率模型 |
简单但忽略细节 |
感知机
a=hardlim(wTx+b)
hardlim!=hardlims, where ‘s’ represents ‘symmetric’
hardlim(x)={1,0,x≥0x<0hardlims(x)={1,−1,x≥0x<0
决策边界总是与权值向量正交:显然边界与权值向量有如下关系wTx+b=0
感知机学习规则
假设训练数据为{pi,ti} ,感知机输出为 a:
Wnewbnew=Wold+(ti−a)piT=bold+(ti−a)
drawback
- 无法解决线性不可分问题
- 对噪声敏感
- 靠近决策边界的数据易错判
hamming
前馈+回复(拉开差距);对应生物神经网络的“侧抑制”现象。
Hamming网络的目标: 判断哪个标准向量更接近输入向量
前馈
W的每一行都是一个标准模式;b的偏置始终为输入向量中元素的个数。
a1=W1p+b1,W1=[p1T,p2T,…,pnT],b1=[n,n,…,n]T
回复层
a2=ReLU(W2a1),W2=[1−ϵ−ϵ1]
Hopfield
a(t+1)=satlins(Wa(t)+b),where satlins(x)=⎩⎨⎧1,x,0,x≥1−1≤x≤1x<−1
其中W无自连接并且具有对称性
空间
向量空间定义
满足:
- 向量乘法
- 向量加法
内积函数
需满足
- 交换律 (a,b)=(b,a)
- 分配律 (x,ay1+by2)=a(x,y1)+b(x,y2)
- 非负性 (x,x)≥0,且仅当x=0时取等号
范数
需满足
- 非负性 (x,x)≥0,且仅当x=0时取等号
- 标量: ∥αx∥=∣α∣∥x∥
- 三角不等式 (x,y)≤(x,z)+(y,z)
Gram-Schmidt正交化
考虑线性无关向量组y1,y2,…,yn:
正交化:
x1x2⋮xn=y1=y2−(x1,x1)(y2,x1)x1=yn−(x1,x1)(yn,x1)x1−(x2,x2)(yn,x2)x2−⋯−(xn−1,xn−1)(yn,xn−1)xn−1
其中,减去的余量可以表示如下,代表减去y2在x1方向上的投影长度*单位向量:
(x1,x1)(y2,x1)x1=∥x1∥∥y2∥∥x1∥cosθ⋅∥x1∥x1
线性变换
- A(x1+x2)=A(x1)+A(x2)
- A(αx1)=αA(x1)
Hebb学习
a=Wp
相连的神经元会因为相同的值而增加连接强度
wijnew=wijold+αaipjT
Wnew=Wold+αaqpqT
假设权值矩阵初始为0,将向量形式依次应用于𝑸个输入/输出对,可得
W=q=1∑QtqpqT
性能分析
当p完全正交时,有
a=Wpkq=1∑Qtq(pqtpk)=tk
最优化
泰勒展开
f(x)=i=0∑ni!f(i)(x)
方向导数:一个函数沿指定方向的变化率
∂p∂F(x)=∥p∥pT∇F(x)
∂p2∂2F(x)=∥p∥2pT∇2F(x)p
极小点
- 强极小点:F(x∗)<F(x+Δx),∥Δx∥<δ
- 弱极小点:F(x∗)≤F(x+Δx),∥Δx∥<δ
- 全局极小点:F(x∗)<F(x+Δx)
最速下降法
xnew=xold−α∇F(xold)
ADaptive LInear NEuron network, ADLINE
本质是最小二乘法 LMS( Least Mean Squares),Widrow-Hoff,δ规则
a=wTp
二次函数 F(x)=21xTAx+dTx+c
∇F(x)=Ax+d
∇2F(x)=A
性能函数F(w)=Ee2=E(t−wTp)2=E(t2)−2wTE(tp)+wTE(ppT)w
therefore:性能函数是一个二次函数
记R=E(ppT),h=E(tp),c=E(t2)
F(w)=wTRw−2hTw+c, where A=2R
若相关矩阵只有正的特征值,性能指标将存在唯一的全局最小值
令∇F(w)=0⇒w∗=R−1h
近似最速下降算法
w(k+1)=w(k)−α∇F(w(k)),∇F(w(k))=−2e(k)p(k)
therefore:
w(k+1)=w(k)+2αe(k)p(k)b(k+1)=b(k)+2αe(k)
稳定性:
0<α<λmax of R1
BP
输入为a1,
a2=f(z2)=f(W1a1)
let
J=21i=1∑n(yi−aiL)2
δiL=∂ziL∂J=∂aiL∂J∂ziL∂aiL=(yi−aiL)∂ziL∂aiL=(yi−aiL)f′(ziL)
therefore:
∂wjil∂J=δjl+1⋅ail
δl=(δl+1Wl)⊙f(zl)
δil=(k=1∑nl+1δkl+1Wkil)f′(zil)
泛化
一个具有泛化能力的网络将在新的数据环境下具有和训练数据集上同样好的表现。
获得具有良好泛化能力的神经网络的关键策略是找到能够解释数据的最简神经网络模型。(模型越复杂,出错的可能性越大)
衡量泛化能力:
在测试集计算误差
测试集:绝不能以任何形式用于训练网络
方法
- early stopping:避免过拟合
- 正则化:减小模型复杂度
- dropout: al=rl⊙al
- 数据增强:
- 图片的旋转,缩放,裁剪,镜像等
- GAN,加入特效,数据混合…
卷积
对于图像,如果使用线性层:参数量巨大。且没有平移不变性
接收域(感受野)输入空间中连续的一个子区域
卷积(简单细胞)检测感受野中的局部特征
池化(复杂细胞)聚合其感受野中简单细胞所检测的信息
自动编码机
一个好的数据表达,应当能过够对受污染的噪声数据很好地恢复。
为输入手动添加噪声,训练自动编码机,使输入与噪声之前的输出尽可能接近。