当前位置:首页 > Web开发 > 正文

用例子梳理下: 实现一个逻辑与的神经网络: 那么: 所以有: 再来一个多层的

2024-03-31 Web开发

标签:

一、Non-linear Hypotheses

线性回归和逻辑回归在特征很多时,计算量会很大。
一个简单的三层神经网络模型:
\[a_i^{(j)} = \text{"activation" of unit $i$ in layer $j$}\]\[\Theta^{(j)} = \text{matrix of weights controlling function mapping from layer $j$ to layer $j+1$}\]

技术图片


此中:\[a_1^{(2)} = g(\Theta_{10}^{(1)}x_0 + \Theta_{11}^{(1)}x_1 + \Theta_{12}^{(1)}x_2 + \Theta_{13}^{(1)}x_3)\]\[a_2^{(2)} = g(\Theta_{20}^{(1)}x_0 + \Theta_{21}^{(1)}x_1 + \Theta_{22}^{(1)}x_2 + \Theta_{23}^{(1)}x_3)\]\[a_3^{(2)} = g(\Theta_{30}^{(1)}x_0 + \Theta_{31}^{(1)}x_1 + \Theta_{32}^{(1)}x_2 + \Theta_{33}^{(1)}x_3)\]\[h_\Theta(x) = a_1^{(3)} = g(\Theta_{10}^{(2)}a_0^{(2)} + \Theta_{11}^{(2)}a_1^{(2)} + \Theta_{12}^{(2)}a_2^{(2)} + \Theta_{13}^{(2)}a_3^{(2)})\]

二、vectorized implementation

将上面公式中函数\(g\)中的对象用\(z\)取代:
\[a_1^{(2)} = g(z_1^{(2)})\]\[a_2^{(2)} = g(z_2^{(2)})\]\[a_3^{(2)} = g(z_3^{(2)})\]
\(x=a^{(1)}\)
\[z^{(j)} = \Theta^{(j-1)}a^{(j-1)}\]
得到:
\[ \begin{aligned}z^{(j)} = \begin{bmatrix}z_1^{(j)} \\ z_2^{(j)} \\ \cdots \\z_n^{(j)}\end{bmatrix}\end{aligned} \]

这块的记号对照多,,用例子梳理下:
实现一个逻辑与的神经网络:

技术图片


那么:


所以有:

技术图片


再来一个多层的,实现XNOR成果(两输入都为0或都为1,输出才为1):

根基的神经元:

逻辑与

技术图片

逻辑或

技术图片

逻辑非

先结构一个暗示后半部分的神经元:
这样的:

技术图片


接着将前半部分组合起来:

技术图片

三、Multiclass Classification

技术图片

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32459.html