Day6 Chapter6.1

深度前馈网络

三个名字

深度前馈网络( deep feedforward network)

前馈神经网络( feedforward neural network)

多层感知机( multilayer perceptron, MLP)

名字解析:

前:前向,信息流过 的函数,流经用于定义的中间计算过程,最终到达输出 。

前馈:没有反馈链接

没有反馈连接:前馈神经网络

有反馈连接:循环神经网络(RNN)

目标:近似某个函数

在多层的神经网络中,一层代表一个函数,比如说一个函数有3层,那就是:

      (其中是输入层,是隐藏层,是输出层)

每个隐藏层通常都是向量值

输出层的任务就是必须产生一个接近 的值

与SVM相同,深度学习同样需要把非线性通过映射转换为线性模型,因此总结出总共有3中求映射的方法:

1. 通过SVM的核技巧

2. 手动设计

3. 通过深度学习,学习出结果




6.1 实例:学习 XOR

XOR 函数( ‘‘异或’’ 逻辑)是两个二进制值和的运算

目的:在 的输入中获得正确的输出

步骤:

1. 损失函数使用MSE:(二进制数据建模时, MSE通常并不是一个合适的损失函数,但这里仍然选择MSE)

2. 使用线性模型,因此参数为权重和偏置

3. 使用正规方程最小化

正规方程:是从纯数学推导的角度来求得能够使最小的值  (https://www.jianshu.com/p/12cc84819e78)

省略正规方程的推到之后,可以得出:

正规方程的结果:        (表示输入向量矩阵,为目标输出向量)


正规方程与SDG的对比

Day6 Chapter6.1_第1张图片
正规方程与SDG的对比

只要特征变量数量小于一万,通常使用标准方程法,而不使用梯度下降法

4. 解正规方程

得出=0,=

5. 隐藏单元向量

我们这里引入一个非常简单的前馈神经网络,它有一层隐藏层并且隐藏层中包含两个单元


Day6 Chapter6.1_第2张图片
两种不同样式绘制的前馈网络的示例

输入层的输出与输出层的输入为,因为隐藏层也是线性模型,因此使用模型

因此可得最终的模型为:

其中


6. 用一个非线性函数描述这些特征(激活函数)

定义     (为激活函数)

默认的推荐是使用由激活函数 定义的 整流线性单元( rectified linear unit)或者称为 ReLU

ReLU: 用于线性变换的输出将产生非线性变换

即:

因此得到:

7. 给出XOR问题的一个解:

令 

解得:

你可能感兴趣的:(Day6 Chapter6.1)