% User documentation for the EYE project.
%
% Begun 26 Feb 96
% Copyright Mary Soon Lee 1996
%------------------------------------------------------------------
\documentstyle[psfig]{article}

\title{EYE Documentation: Version 0.0}
\author{}

\begin{document} 
 
\maketitle 
 
\section{Introduction}

EYE is a tool to help people apply machine learning and statistical
techniques.  It enables people to use advanced techniques without
needing to master the underlying algorithms.  Instead EYE has a simple
interface where the user presents the raw data, and then applies EYE to
perform the desired analysis.  Options include:
\begin{itemize}
\item {\bf blackbox}: searches for a model that accurately explains the data.
\item{\bf optimize}: finds a set of inputs that will optimize a given
  criterion, for instance to maximize the sum of the outputs.
\item {\bf predict}: predicts future behavior from past data.
\end{itemize}
See Section~\ref{compendium} for a compendium of EYE options.

This document explains how to use EYE.  If you are in a hurry to begin,
you need only read section~\ref{example} and section~\ref{starting}.
Later sections describe the online help facility, additional user
interface tools, and the advanced interface to EYE.

To illustrate the use of EYE, we consider the example of a gardener
trying to grow prize-winning flowers.

\subsection{An Example: The Gardener}
\label{example}

Suppose a gardener with an interest in machine learning wants to grow
prize-winning flowers.  She's kept records of her past attempts: what
fertilizers she used, how much she watered the seedlings, the
temperature of the greenhouse, what height the flowers grew to, how
brightly-colored they were.

The gardener decides to use EYE to help her.  She has several new plant
regimens in mind, and wants EYE to predict how well each one will
perform.  She's also curious to see what regimen EYE itself will
recommend if she asks it to maximize the brightness of the flowers,
subject to the constraint that the flowers must be at least thirty
centimeters in height.

\section{Getting Started: How to Get EYE Running}
\label{starting}

This section provides all the information you need to start using EYE.

EYE can run under either Windows 95 or Windows NT on a PC.  To start it,
bring up an MS-DOS Command Prompt window, move to the directory where
you saved the EYE executable (by using the cd command), and type EYE.
This will bring up the EYE window with the initial welcome screen.

The simplest way to use EYE is via the GMBL menu\footnote{For the
curious, GMBL stands for General Memory Based Learning, the machine
learning approach that underpins the EYE code.} on the main menu bar.
Select the GMBL menu with the left mouse button, and then select the
first menu item, ``Run GMBL.''  This brings up the following dialog
box:

\centerline{\psfig{file=simpledialog.ps,height=3in}}

Suppose the gardener introduced in section~\ref{example} wants to see
how the flower-height depends on the various factors in the plant
regimen (the quantity of green-grow fertilizer, the number of
mineral-drops, the amount of water, and the temperature of the
greenhouse).  To find out, first type garden.mbl into the datafile slot
of the dialog box to tell EYE to use the gardening data.  Now select the
{\bf graph} option from the main listbox by clicking it with the left
mouse button.  The dialog box should now look like this:

\centerline{\psfig{file=simpledialog2.ps,height=3in}}

Press the RUN button.  The cursor changes to a black eye while EYE
analyzes the data, and then EYE displays four graphs, showing how the
flower-height varies with each of the four factors in turn, while the
other factors are held constant.  Notice that the bottom-right graph,
corresponding to the effect of temperature, is very close to a flat
line.  This shows that the flower-height is hardly affected by the
temperature---at least for the regimens the gardener has tried in the
past.

To run EYE again, select the ``Run GMBL'' option from the GMBL menu as
before.  The same dialog box will appear, with the datafile already
filled in as garden.mbl.  Perhaps this time the gardener, being an
intrepid soul, wants to see if EYE can find a model that explains the
data.  To follow in her footsteps, select the {\bf blackbox} option
from the listbox and then press the RUN button.

The black eye appears, showing that EYE is at work, and results start
scrolling down the screen.  EYE is busy searching for a good model for
the data.  The {\bf blackbox} option performs this search without any
prompting from the user.  It tries out function approximators such as
nearest neighbor, kernel regression, and attribute subsets---autonomously
tuning their parameters and deciding which model to test next.

After a few seconds, the black eye disappears, and the text stops
scrolling.  You can now examine EYE's report on the {\bf blackbox}
search.  The overall evaluation should be visible at the bottom of the
scrollable window.  It should look something like this\footnote{Because
EYE uses random numbers to make decisions such as which data should be
used in the testset, the precise results will vary from one run to the
next.}:

\begin{verbatim}
4.  Evaluation.

        Now, if we simply predicted the global average, 
        the mean-abs testset error would be 5.67.

        The best thing we've found so far in the
        searches reduces that by 94%.
\end{verbatim}

This tells us that EYE has found a model for the data whose average
prediction error is only six percent of that for the global average
model.

You have now learned almost all that you need to know to start
applying EYE to your own data.  To run EYE, select ``Run GMBL,'' type
in the datafile, select the option you want, and press the RUN button.
There is only one more thing you need to know: how to get EYE to use
your own data.

\subsection{Datafiles}

EYE expects datafiles to be arranged with one datapoint per line in
the file.  Each datapoint consists of a sequence of floating point
numbers, specifying the values of each of the variables for that
datapoint.  If you wish to include comments in your datafiles, you can
do so by starting each line of comment with the ``\%'' character.
For instance, here is part of the garden.mbl datafile:
\begin{verbatim}
% GreenG MinDrop Water Temp  Height   Brightness
    2      2      2     15   11.9      2
    2      2      2     20   12.1      2
    2      2      2     25   11.5      2
    2      2      4     15   27.9      2
\end{verbatim}
By default, EYE assumes that the rightmost column of numbers
represents the output value, and that all the other variables are
inputs.  To find out how to specify other formats, see section
~\ref{advanced} (in brief: you need to select the advanced option from
the ``Run GMBL'' dialog box, and then edit the format slot in the
advanced dialog box).

You are now ready to try out EYE on your own data.  In doing so, you
may spot unfamiliar terms appearing on the screen, such as {\bf
gmstring} or {\bf AutoRSM}.  The following section describes how to
get online help that will explain cryptic terms like these.  Later
sections describe such things as how to switch to the previous screen,
how to halt EYE mid way through a computation, and how to use the
advanced interface to gain additional control.

\section{Getting Help}
\label{help}

The simplest way to use EYE's online help is via the Help menu on the
main menu bar.  To see the range of topics for which help is provided,
select ``Introductory Help'' from the Help menu.  This brings up a
list of the available help topics.  To get help on any of these, just
click on the corresponding word with the left mouse button.

Whenever you see underlined words, such as those on the introductory
help screen, you can click them with the left mouse button to get more
information.  Sometimes clicking a word that isn't underlined will
still produce help.  (EYE's output would look rather messy if it always
underlined every word for which help was available.)

Help is also available from the Help buttons on several of the dialog
boxes.

The next section describes additional user interface features---from
how to use the File menu, to how to change the colors used to display
EYE's output.  Section~\ref{advanced} describes more advanced features
of the interface, and section~\ref{compendium} is a compendium of all
the EYE options.

\section{A Medley of Other GUI Features}

Section~\ref{starting} explained a simple way to run EYE, and
section~\ref{help} described how to use the online help.  This
section discusses other useful features of the interface.  

%The eye cursor.
%The blackbox image.

\subsection{The File Menu}
\subsection{Halting EYE}
\subsection{Where Did the Last Screen Go?}
\subsection{Colors and Fonts}

\section{An Advanced Interface to EYE}
\label{advanced}
\subsection{Edit}
% Say how to edit the data format, and how to name variables
\subsection{Inspect}
\subsection{A Note on Data Formats}
\label{dataformat}

\section{A Compendium of EYE Functions} 
\label{compendium}

\section{Schenley Park Research, Inc.}

\end{document}

