8.神经网络学习

8 神经网络学习

8.1 非线性假设

当特征数量n很大时,使用线性回归或逻辑回归进行拟合会让特征空间急剧膨胀,复杂度高且容易过拟合。

eg当输入是50*50像素的灰度图像时,n=50×50=2500假设我们只考虑二次特征,那么二次特征(xi×xj)的数量为n22,计算量大。

8.2 模型表示

我们定义一个简单的逻辑单元,其中x1,x2,x3作为输入,x0称为偏差(x0恒为1),hθ(x)=11+eθTx是输出,sigmoidg(z)=11+ez是激活函数.θ称为参数或权重。

当有多个逻辑单元(神经元)连在一起的时候,形成神经网络。其中第一层称为输入层(input layer),最后一层称为输出层(output layer),其余层被称为隐藏层(hidden layer)

ai(j)表示第j层第i个神经元的输出,Θ(j)表示从第j层到第j+1层映射的权重矩阵。Θba(j)其实就是表示从第j层的第a个单元到第j+1层第b个单元的权重

若第j层有sj个神经元,第j+1层有sj+1个神经元,那么参数矩阵Θ(j)的维度是sj+1×(sj+1)。其中+1是因为第j层有偏差神经元默认隐藏了。egΘ(1)R3×4

前向传播与向量实现:为了统一表示方法,我们将输入x表示为第1层的激活项a(1)=[x0;x1;x2;x3]。记z(2)=Θ(1)a(1), 第2层的激活项为a(2)=g(z(2))R3, 我们添加$a^{(2)}0a^{(2)}\in \mathbb{R}^4.z^{(3)}=\Theta^{(2)}a^{(2)}, h\Theta(x)=a^{(3)}=g(z^{(3)})$

若遮住第1层,我们发现模型剩余部分就是逻辑回归,只是输入不再是x1,x2,x3,而是a1(2),a2(2),a3(2).这是从输入值学习得到的特征项。即神经网络并没有用输入特征x1,x2,x3来训练逻辑回归,而是自己训练逻辑回归的输入a1,a2,a3(复杂特征项)

我们也可以使用多项式项作为输入如x1x2,x2x3等,神经网络会灵活的尝试快速学习任意的特征项。体现在参数Θ上。

8.3 例子与直观理解

改变权重就能实现不同的逻辑

与运算:

或运算:

非运算:

同或运算:

通过不断用更深的层,可以计算更复杂的函数。每层都在上一层的基础上计算更复杂的方程。

8.4 多元分类

当有4个类别需要进行分类时,我们让神经网络的输出层拥有4个神经元,即输出hΘ(x)R4是4维向量。第i个神经元的输出表示是否为第i类。

我们训练集中一个样本表示为(x(i),y(i)), 其中x(i)是一张图像,y(i)是独热编码,我们要训练模型hΘ(x(i)),让它尽可能的接近y(i)。其中hΘ(x(i))y(i)都是4维的向量。


8.神经网络学习
http://example.com/2025/02/16/8 神经网络学习/
作者
Dongxuan Liu
发布于
2025年2月16日
许可协议