Why does the machine learning algorithm need to learn a set of functions in the case of missing data?
@The Pointer the $2^n$ came from the question: How many function do we need to have if each of the $n$ inputs can be missing?
example: $f_1(\text{missing}, x_2, x_3, \dots, x_n)$ for $x_1$ missing
$f_2(x_1, x_2, \text{missing}, x_4, \text{missing}, \dots, x_n)$ for $x_3$ and $x_5$ missing.
So this problem is a combinatorial one and the event for each $x_i$ is Missing or Not.
Each function corresponds 1-by-1 with a possible set $(x_1, \text{missing}, x_2, \dots, x_n)$. So how many sets can you form $2^n$. Why?
This formula comes back to like tree developing. First variable $x_1$ missing or not (2 possbile events). Now after that, for EACH of these events 2 possbile events for $x_2$ so in total 2 \times 2 (2 for $x_1$ , 2 for $x_2$ for each $x_1$'s event) and etc., $2 \times 2 \times 2 \times \dots$ $n$ times = $2^n$.