Can anyone pinpoint the issue here why I can't seem to make the arrows only one directional (->) between the input layer and the hidden layer, rather than bi-directional:
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
\tikzstyle{neuron}=[circle,draw,minimum size=0.8cm,inner sep=1pt]
% \tikzstyle{input neuron}=[neuron, fill=green!50];
% \tikzstyle{output neuron}=[draw=none];
% \tikzstyle{hidden neuron}=[neuron, fill=blue!50];
\tikzstyle{input neuron}=[neuron];
\tikzstyle{output neuron}=[neuron];
\tikzstyle{hidden neuron}=[neuron];
\tikzstyle{annot} = [text width=4em, text centered]
% Draw the input layer nodes
%\foreach \name / \y in {1,...,3}
% This is the same as writing \foreach \name / \y in {1/1,2/2,3/3,4/4}
\node[input neuron, pin=left:$x_{1}$] (I-1) at (0,-1) {-1};
\node[input neuron, pin=left:$x_{2}$] (I-2) at (0,-2) {2};
\node[input neuron, pin=left:$x_{3}$] (I-3) at (0,-3) {1};
% Draw the hidden layer nodes
\foreach \name / \y in {1,...,1}
\path[yshift=0cm]
node[hidden neuron] (H-\name) at (\layersep,-2 cm) {$\theta$} ;
\draw (H-1) edge node[above]{$w$=1} (I-1);
\draw (H-1) edge node[above]{$w$=1} (I-2);
\draw (H-1) edge node[below]{$v$=2} (I-3);
% Draw the output layer node
\foreach \name / \y in {1,...,1}
\node[output neuron,pin={[pin edge={->}]right:Output (true value)}, right of=H-1] (O) {$O$};
% Connect every node in the input layer with every node in the
% hidden layer.
\foreach \source in {1,...,3}
\foreach \dest in {1,...,1}
\path (I-\source) edge (H-\dest) ;
% Connect every node in the hidden layer with the output layer
\foreach \source in {1,...,1}
\path (H-\source) edge (O);
% Annotate the layers
\node[annot,above of=H-1, node distance=1cm] (hl) {$S$};
\node[annot,left of=hl] {};
\node[annot,right of=hl] {Output layer};
\end{tikzpicture}


