非线性问题-多项式
- 假设一个线性不可分问题,我们可能设计分类界面如下:
g(θ)=θ0+θ1x1+θ2x2+θ3x1x2+θ4x21x2+...
对于一个n维特征问题,只考虑两个参数相乘的情况,则相加的项的数目为O(n2)。模型太复杂并且易于过拟合
神经网络
神经网络的目标函数
盛行于80s和90s。参照逻辑回归的代价函数,神经网络的代价函数如下,K为类别数,(hθ(x))i为第i个输出,m为样本数
J(θ)=1m[∑i=1m∑k=1Kyiklog(hθ(x(i)))k+(1−yik)log(1−(hθ(x(i))k)]+λ2m∑l=1L∑i=1sl∑j=1sl+1(θ(l)ji)2
(9-2)推导bp的梯度
θji:=θji−αJ(θ)αθji
简化目标函数为:
(yik−hθ(x(i))k)2
网络结构和参数设置
- 以四层网络为例:
a(1)(=x)−>z(2),a(2)−>z(3),a(3)−>z(4),a(4)
θ(l) 为第l-1层到第l层的参数,a(l)0 为第l层的偏置参数
前向和反向计算
前向
第1层: a(1)=x
第2层: z(2)=θ(1)a(1),a(2)=g(z(2))+a(2)0
第3层: z(3)=θ(2)a(2),a(3)=g(z(3))+a(3)0
第4层: z(4)=θ(3)a(3),a(4)=g(z(4))反向
δ(l)j 表示第l层第j个节点的error
第4层: δ(4)=a(4)−y
第3层: δ(3)=(θ(3))Tδ(4).∗g′(z(3))
第2层: δ(2)=(θ(2))Tδ(3).∗g′(z(2))训练
设置: 对于所有的{i,j,l}. 初始化 Δ(l)ij=0
计算每一层的δ,更新:Δ(l)ij:=Δ(l)ij+a(l)jδ(l+1)i
计算Dlij :
Dlij=1mΔ(l)ij+λθ(l)ij,ifj≠0
Dlij=1mΔ(l)ij,ifj=0
则:
aaθ(l)ijJ(θ)=Dlijlearning curves
横坐标为训练集的大小(train_set_size),做坐标为错误率(error rate)