美文网首页
Day6 Chapter6.1

Day6 Chapter6.1

作者: ForCLovC | 来源:发表于2019-08-23 20:59 被阅读0次

深度前馈网络

三个名字

深度前馈网络( deep feedforward network)

前馈神经网络( feedforward neural network)

多层感知机( multilayer perceptron, MLP)

名字解析:

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

前馈:没有反馈链接

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

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

目标:近似某个函数f^*

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

f(x)=f^{(3)}(f^{(2)}(f^{(1)}(x)))      (其中f^{(1)}是输入层,f^{(2)}是隐藏层,f^{(3)}是输出层)

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

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

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

1. 通过SVM的核技巧

2. 手动设计

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



6.1 实例:学习 XOR

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

目的:在X=\{[0,0]^T,[0,1]^T,[1,0]^T,[1,1]^T\} 的输入中获得正确的输出

步骤:

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

J(\theta)=\frac{1}{4}\sum_{x\in X}(f^*(x)-f(x;\theta))^2

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

f(x;\theta)=f(x;w,b)=x^Tw+b

3. 使用正规方程最小化J(\theta)

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

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

正规方程的结果\theta=(X^TX)^{-1}X^Ty        (X表示输入向量矩阵,y
为目标输出向量)

正规方程与SDG的对比

正规方程与SDG的对比

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

4. 解正规方程

得出w=0,b=\frac{1}{2}

5. 隐藏单元向量h

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

两种不同样式绘制的前馈网络的示例

输入层的输出与输出层的输入为h,因为隐藏层也是线性模型,因此使用模型h(\theta)=x^TW+c

因此可得最终的模型为:

f(x;W,c,w,b)=f^{(2)}f^{(1)}(x)

其中

h=f^{(1)}(x;W,c)=x^TW+c

y=f^{(2)}(h;w,b)=h^Tw+b

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

定义h=g(W^Tx+c)     (g为激活函数)

默认的推荐是使用由激活函数 g(z)=max\{0,z\}定义的 整流线性单元( rectified linear unit)或者称为 ReLU

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

即:h=max\{0,W^Tx+c\}

因此得到:

f(x;W,c,w,b)=w^Tmax\{0,W^Tx+c\}+b

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

令  W=\begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix}
\quadc=\begin{bmatrix} 0\\ -1 \end{bmatrix}
\quadw=\begin{bmatrix} 1 \\ -2 \end{bmatrix}
\quadb=0

解得:y=\begin{bmatrix} 0\\ 1\\ 1\\ 0 \end{bmatrix}
\quad

相关文章

网友评论

      本文标题:Day6 Chapter6.1

      本文链接:https://www.haomeiwen.com/subject/fcgtectx.html