chapter1 神经网络的表述

1.模型表示

基础神经元: X0=1 偏置、参数

又可称为权重,激活函数sigmoid:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_代价函数

2.神经网络:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_代价函数_02

关于层:

第一层为输入层,最后一 层为输出层,中间一层为隐藏层。我们为每一层都有一个偏差单位。

关于节点:

——代表第𝑗 层的第 𝑖 个激活单元。

——从第 𝑗 层映射到第𝑗 + 1 层时的权重的矩阵,例如

代表从第一层映射到第二层的权重的矩阵。其尺寸为:行数=第 𝑗 + 1层的单元数,列数=第j层单元数+1。例如:上图所示的神经网络中

的尺寸为 3*4。

:在第j层的第n个激活单元到第j+1层的第m个神经元的偏执。如:

 的偏置为:

 

神经网络如何解决权值的量化误差 神经网络的权重和偏差_人工智能_03

 3.向量化:向量化后x为一维向量,theta为二维矩阵,相乘过后先不要经过sigmoid函数才能激活。

神经网络如何解决权值的量化误差 神经网络的权重和偏差_神经网络如何解决权值的量化误差_04

 4.直观理解

逻辑与:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_深度学习_05

 

神经网络如何解决权值的量化误差 神经网络的权重和偏差_深度学习_06

 

神经网络如何解决权值的量化误差 神经网络的权重和偏差_神经网络如何解决权值的量化误差_07

 

逻辑或:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_神经网络_08

神经网络如何解决权值的量化误差 神经网络的权重和偏差_人工智能_09

 

 

 

逻辑非:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_神经网络_10

 

构造同或逻辑神经网络(有点像数电):

神经网络如何解决权值的量化误差 神经网络的权重和偏差_人工智能_11

第二部分:神经网络的学习:

符号:

m:训练样本个数

输入集:X(x)

输出:y

神经网络的层数:L

:该层神经元个数

1.代价函数:

 

2.反向传播算法(待补充)

神经网络如何解决权值的量化误差 神经网络的权重和偏差_神经网络_12


来表示误差:L4误差:

L3误差:


是sigmoid的导数L2误差:

L1:因为是输入层,不存在误差

假设不做正则化,则偏导数

算法:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_人工智能_13

3.反向传播(略)

4.展开参数:

神经网络如何解决权值的量化误差 神经网络的权重和偏差_代价函数_14

 

5.梯度检验

问题:复杂模型进行梯度下降的时候,会存在一些不易察觉的错误,可能导致代价在减小但是结果并不是最优解。

解决方案:梯度数值检验,在代价函数上沿着切线方向选择两个非常近的点

,并计算这两个点导数的平均值用以估算梯度。

神经网络如何解决权值的量化误差 神经网络的权重和偏差_神经网络如何解决权值的量化误差_15

 6.综合起来

第一层单元数为输入特征数,最后一层为训练结果类的数量

如果有多个隐藏层,应确保他们党员个数相同,一般单元越多越好。

1. 参数的随机初始化

2. 利用正向传播方法计算所有的ℎ𝜃(𝑥)

3. 编写计算代价函数 𝐽 的代码
4. 利用反向传播方法计算所有偏导数

5. 利用数值检验方法检验这些偏导数

6. 使用优化算法来最小化代价函数

ps:应随机初始化,不能让初始值都为0,不然第二层所有激活值都一样,结果也都一样