Neural networks are commonly used for classification tasks, in fact from this [post][1] it seems like that's where they shine brightest.  

 When we want to classify using NNs, we just take the last layer to take values in [0,1]; typically by taking the last layer to be the *sigmoid* function $x \mapsto \frac{e^x}{e^x +1}$.  Is this theoretically justified?  (i.e., is there an analogue to the [universal approximation theorem][2] for this case)?

Ie.: Neural networks of the form
$$
\operatorname{Sigmoid} \circ A \circ \sigma \circ B(x);\qquad x \in \mathbb{R}^n,
$$
where $A,B$ are affine maps such that the composition $A\circ B$ is well-defined and such that $\sigma$ is an activation function and sigmoid function are applied component-wise on the vector $B(x)$.  

Note: $\operatorname{Sigmoid}$ may be taken to be $\sigma$... as is commonly done.


  [1]: https://ai.stackexchange.com/q/18576/2444
  [2]: https://en.wikipedia.org/wiki/Universal_approximation_theorem