Rule between Inputs and Outputs I have a set of 5 binary inputs and for each there are a set of 5 binary outputs.
I would like to know what technique one could use to find the rule between them..? I've used Machine Learning in then past where the output (Response) is a single 1, or 0 in this case a simple classifier does the trick. I have never done this however when we have multiple outputs..
I1  I2  I3  I4  I5  O1  O2  O3  O4  O5
1    1   0   0   1  0    0  1    1   0

etc etc....
For maybe 100 rows
Any help would be appreciated.
Paul.
 A: Suppose you have a n-inputs 1-output useful predictor that predicts $P(Y=1|X)$. Logistic regression or random forest for example.
One possibility to implement it for a p-output $Y=(Y_1,Y_2,...Y_p)$ is the following:


*

*Train predictor of $P(Y_1=1|X)$ 

*Train predictor of $P(Y_2=1|X,Y_1)$

*...

*Train predictor of $P(Y_p=1|X,Y_1,Y_2...Y_{p-1})$


Now you want to estimate $P(Y=(y_1,y_2...y_p)|X)$. Just use conditional probabilities:
$P(Y=(y_1,y_2...y_p)|X)=P(Y=y_1|X)P(Y_2=y_2|X,y_1)... P(Y_p=y_p|X,y_1,...,y_{p-1})$
This is just a possibility. The ordering is somehow arbitrary. Efficiency will obviously depend on the predictor you use. This could give better results than mere multinomial regression on all $2^p$ bins of $Y$, since a certain underlying independence of the correlation of the outputs with each other is assumed.
A: Specifically, for what you are asking, there's absolutely no need for ML.
There are only 2^5=32 different combinations  for the inputs.
Assuming that the system is memoryless, it is easy to go through all of the inputs and see the function for each output.
Basically, you will get a table having 32 rows and 5 columns (there are 5 outputs).
Cheers.
