1 引言
神经网络可应对复杂的非线性分类。
1.1 非线性假设
当特征量多大时,特征的非线性组合方法种类的数量会非常庞大,可能对造成过拟合与极大的计算复杂度的问题,其数学表示为
|{xi}|=n>100→∣∣{xixj}∣∣=n22>10000
例如, 图像上的 车辆识别
图像:50×50 pixels,等同于
x=⎡⎣⎢⎢pixel1⋮pixel2500⎤⎦⎥⎥→∣∣{xixj}∣∣≈3×106
x 的特征量超过了3000000!
1.2 神经与大脑的关系
神经元与中枢神经,计算与传递,amazing!神经网络可以说是模拟大脑中神经的运行模式。
2 神经网络的表达式
2.1 模型表达 1
2层的神经网络
仅包含输入层和输出层,如下图所示。
3层的神经网络
包含一层隐藏层,如下图所示。
神经网络的权重方程
参考如上所示的神经网络,有如下单元方程:
a(2)1=g(θ(1)10x0+θ(1)11x1+θ(1)12x2+θ(1)13x3)a(2)2=g(θ(1)20x0+θ(1)21x1+θ(1)22x2+θ(1)23x3)hθ(x)=g(θ(2)10a(2)0+θ(2)11a(2)1+θ(2)12a(2)2)
θ(j) 为 Sj+1×(Sj+1) 矩阵。
其中, Sj+1 为 j+1 层单元数, Sj 为 j 层单元数,Sj+1 中的 +1 表示增加一个” 1 ”的a(j)0 单元。2.2 模型表达 2
模型采用向量化计算效率更高,神经网络的数学表达有利于非线性学习。
前向传播:形式:
输入层 –(隐藏层)–> 输出层,其中输出的猜想 hθ(x) 并不和 x 直接相关,进而,第i 层采用 i−1 层的特征。传播形式的数学公式:
⎧⎩⎨z(i)=θ(i−1)a(i−1)a(i)=g(z(i))3层神经网络传递形式:
⎧⎩⎨z(2)=θ(1)a(1)a(2)=g(z(2))→add a(2)0⎧⎩⎨z(3)=θ(2)a(2)hθ(x)=a(3)=g(z(3))
其中,
x=[x0x1x2x3]T
z(2)=[z(2)1 z(2)2]=⎡⎣θ(1)10x0+θ(1)11x1+θ(1)12x2+θ(1)13x3θ(1)20x0+θ(1)21x1+θ(1)22x2+θ(1)23x3⎤⎦
3 应用
3.1 案例 1
Example:
1)AND运算
2)OR运算
3)XOR运算
4)XNOR运算:
上述例子等同于逻辑回归模拟0-1逻辑电路。3.2 案例 2
手写数字分类(Handwritten digit classification):0-9
多类别分类(Multiclass Classification)
hθ(x)∈Rn
其中, n 类别,即n 个输出单元。
例如:数字分类 0-9输出
[h(1)θ(x)h(2)θ(x)⋯h(n)θ(x)]n×n训练集 (x(i),y(i))
y(i)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢0⋮1(i)⋮0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥T→训练hθ(x(i))≈y(i)