\HeaderA{mrnet}{Maximum Relevance Minimum Redundancy}{mrnet}
\keyword{misc}{mrnet}
\begin{Description}\relax
\code{mrnet} takes the mutual information matrix as input in order to infer the network using 
the maximum relevance/minimum redundancy feature selection method - see details.
\end{Description}
\begin{Usage}
\begin{verbatim}mrnet( mim )\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{mim}] A square matrix whose i,j th element is the mutual information 
between variables \eqn{Xi}{} and \eqn{Xj}{} - see \code{\LinkA{build.mim}{build.mim}}.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Consider a supervised learning task, where the output is denoted by \eqn{Y}{}
and \eqn{\mathcal{V}}{} is the set of input variables. The method ranks the set 
\eqn{\mathcal{V}}{} of inputs according to a score that is the difference between 
the mutual information with the output variable \eqn{Y}{} (maximum relevance) 
and the average mutual information with the previously ranked variables
(minimum redundancy).
The greedy search starts by selecting the variable \eqn{X_i}{} having the highest
mutual information with the target \eqn{Y}{}. The second selected variable \eqn{X_j}{} 
will be the one that maximizes \eqn{I(X_j;Y)-I(X_j;X_i)}{}. 
In the following steps, given a set \eqn{\mathcal{S}}{} of selected variables, the criterion 
updates \eqn{\mathcal{S}}{} by choosing the variable \eqn{X_k}{} that maximizes 
\eqn{ I(X_k;Y) - \frac{1}{|\mathcal{S}|}\sum_{X_i \in \mathcal{S}} I(X_k;X_i)}{}\\
The MRNET approach consists in repeating this selection procedure for 
each target variable by putting \eqn{Y=X_i}{} and 
\eqn{\mathcal{V}=\mathcal{X}\backslash\lbrace X_i\rbrace}{},
i=1,...,n where \eqn{\mathcal{X}}{} is the set of outcomes of all variables.
The weight of each pair \eqn{X_i,X_j}{} will be the maximum score between the one 
computed when \eqn{X_i}{} is the output and the one computed when \eqn{X_j}{} is 
the output.
\end{Details}
\begin{Value}
\code{mrnet} returns a matrix which is the weighted adjacency matrix of the network.
In order to display the network, load the package Rgraphviz and use the following command: \\
plot( as( returned.matrix ,"graphNEL") )
\end{Value}
\begin{Author}\relax
Patrick E. Meyer, Frederic Lafitte, Gianluca Bontempi
\end{Author}
\begin{References}\relax
Patrick E. Meyer, Kevin Kontos, Frederic Lafitte, and Gianluca Bontempi. 
Information-theoretic inference of large transcriptional regulatory
networks. EURASIP Journal on Bioinformatics and Systems Biology,
2007.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{build.mim}{build.mim}},   \code{\LinkA{clr}{clr}},   \code{\LinkA{aracne}{aracne}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
data(syn.data)
mim <- build.mim(discretize(syn.data))
net <- mrnet(mim)
\end{ExampleCode}
\end{Examples}

