1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
\documentclass{standalone}
\usepackage{neuralnetwork}
\begin{document}
\begin{neuralnetwork}[height=2.5, layertitleheight=0, nodespacing=2.8cm, layerspacing=1.7cm]
\newcommand{\nodetextclear}[2]{}
\newcommand{\nodetextxnb}[2]{\ifnum0=#2 \else $x_#2$ \fi}
\newcommand{\logiclabel}[1]{\,{$\scriptstyle#1$}\,}
\newcommand{\nodetextY}[2]{$y$}
\newcommand{\linklabelsU}[4]{\logiclabel{+1}}
\newcommand{\linklabelsA}[4]{\ifnum0=#2 \logiclabel{+3} \else \logiclabel{-2} \fi}
\setdefaultnodetext{\nodetextclear}
% Input layer
\inputlayer[count=2, bias=false, text=\nodetextxnb]
% links to first hidden layer from input layer
\hiddenlayer[count=3, bias=false, exclude={1, 3}]
\link[from layer=0, to layer=1, from node=1, to node=2, label=\linklabelsA]
\link[from layer=0, to layer=1, from node=2, to node=2, label=\linklabelsA]
\hiddenlayer[count=2, bias=true, biaspos=center]
% links to second hidden layer from input and first hidden layer
\link[from layer=0, to layer=2, from node=1, to node=1, label=\linklabelsA]
\link[from layer=1, to layer=2, from node=2, to node=1, label=\linklabelsA]
\link[from layer=1, to layer=2, from node=2, to node=2, label=\linklabelsA]
\link[from layer=0, to layer=2, from node=2, to node=2, label=\linklabelsA]
\outputlayer[count=1, text=\nodetextY]
% links to output layer from second hidden layer
\link[from layer=2, to layer=3, from node=1, to node=1, label=\linklabelsA]
\link[from layer=2, to layer=3, from node=2, to node=1, label=\linklabelsA]
% links from bias node
\link[from layer=2, to layer=1, from node=0, to node=2, label=\linklabelsA]
\link[from layer=2, to layer=2, from node=0, to node=1, label=\linklabelsA]
\link[from layer=2, to layer=2, from node=0, to node=2, label=\linklabelsA]
\link[from layer=2, to layer=3, from node=0, to node=1, label=\linklabelsA]
\end{neuralnetwork}
\end{document}
|