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