******************************************************* * Short Description * * of the STATMOD Program Package * ******************************************************* (The following text is the introduction to the documentation accompanying the STATMOD package. The rest of the documentation consists of the ten program descriptions PRGSTME.DOC, PRGPROJE.DOC, PRGDCSPE.DOC, PRGNNTE.DOC, PRGPLRE.DOC, PRGCLSTE.DOC, PRGMDLHE.DOC, PRGPKXE.DOC, PRGQMYE.DOC, PRGQMXE.DOC. These files can be found in the STMDSC directory of the installed program.) The STATMOD package is a set of Pascal programs (Borland Pascal) used to generate illustrations for the book `Pattern Classification, a Unified View of Statistical and Neural Approaches' and developed by the author for the following purposes: study simple exemplary pattern classification tasks; to solve these pattern classification tasks using the mathematical approaches described in the book; and to produce easily understandable graphical representations providing a view into what happens in the different stages of the pattern classification procedures. *** Accessing the STATMOD Package Online The STATMOD package is assembled in three compressed files on the ftp server of Wiley's STM (Science Technical Medical) division. The main STATMOD module and all utilities needed to run it are contained in STATMOD1.ZIP. The auxiliary programs such as NNT and PLOTREK are contained in STATMOD2.ZIP. The documentation files are included in STATMOD3.ZIP. You cannot run the auxiliary programs without also downloading the main module's utilities. The compressed files total about 3.5 MB and the installed program is about 9 MB. The files can be accessed through either a standard ftp program or the ftp client of a Web browser using the http protocol. To gain ftp access, type the following at your ftp command prompt: ftp://ftp.wiley.com When asked for your name, log in as anonymous The files are located in the public\sci_tech_med directory.You should download the file you are now reading--the README.TXT file--to store the directions on how to install the program. Specifically, you should unzip the files using the -d parameter into C:\STATMOD. For instance: pkunzip statmod1.zip -d You can also access the files from an ftp client of a Web browser through the following address: http://www.wiley.com/sci-tech.html You will see a button for connecting to the ftp files. The documentation files in the STATMOD3.ZIP file are in Word 2.0 format. If you need further information about downloading the files, you can reach Wiley's tech support line at 212-850- 6194. *** Overview of STATMOD The goal of gaining directly interpretable views into measurement and decision spaces prevents work with real world pattern classification tasks, which normally reside in high- dimensional pattern spaces. Therefore, the whole STATMOD package is limited to the case of the 2-dimensional measurement space. This can be directly viewed on the screen with points marked as pattern samples, class regions as colored areas and class borders as contour lines. The restriction to the 2- dimensional measurement space also allows us to generate projective 3d-plots of arbitrary functions over the measurement space, such as class conditional probability density functions, a posteriori probability functions, class-membership functions, and functional representations of class label or number of alternatives. The core of the package is the statistical model of the pattern source. The name STATMOD derives from statistical model. The statistical model is an external ASCII data structure that can be easily changed by any text editor. The statistical model defines the number of classes, their names (labels), their a priori probabilities and their class-conditional probabilities. Since only one type of probability distribution function is implemented, the normal probability function provisions are made to allow more complex class-conditional distribution functions by introducing a two-stage hierarchy. Each class consists of a number (at least one) of subclasses. Every subclass is normally distributed. The sequence of measurement vectors generated by the pattern source can be directly taken from the random generator and processed or stored in files and read again from these files. This construction also allows us to include real-world data from any practical application, provided that this data is also two-dimensional or suitably projected in two dimensions. The package provides different techniques for classifier generation. Since the artificial data is basically Gaussian, the Bayes classifier making use of this knowledge establishes the reference. This kind of classifier can be computed directly from the statistical model or from statistical moments collected from sample sets. Essentially two types of least mean square classifiers are provided, based on polynomial regression and multilayer perceptron regression. For both types of classifiers several modifications are possible. The reference classifier based on the assumption_or knowledge_of Gaussian class-specific distributions is a quadratic classifier. The class boundaries turn out to be quadratic functions in measurement space. For comparison, the polynomial regression classifier within STATMOD also uses complete quadratic polynomials for defining the polynomial structure. The multilayer perceptron regression classifiers may have any number of hidden layers and hidden variables_within certain size limitations. The central program is STM and provides the statistical model, two-dimensional displays of the measurement space, the necessary tools for classifier adaptation (Gaussian reference classifier and polynomial regression classifier), and tools for measuring and visualizing classifier performance. The associated programs serve special purposes: recursive classifier adaptation for the multilayer perceptron as well as for the polynomial regression classifier (NNT), visualization of recursive classifier adaptation procedures over the epochs of learning (PLOTREK), visualization of distributions in decision space (DCSP), projective 3d-visualization of functions of the measurement space (PROJ), clustering following the vector quantization approach (CLUST), analysis and modelling of one-dimensional histograms as needed in the context of confidence mapping (MDLHST) and three further programs for generating special variants of improved polynomial classifiers (QMX, QMY, PKX). These programs have been incrementally developed and also improved over time. However, the author must admit not to have checked all of the possible branches. The system has proved to be a useful tool for producing visualizations of the mathematical processes occurring in pattern classification systems. These visualizations have been intensively used in courses on `Statistical Pattern Classification' which the author has taught at Darmstadt Technical University during recent years. The programs are written in Borland Pascal for DOS and can be started as full screen programs under Windows. The details of installation and use are described in the STATMOD description files to be found together with the package in (here the address of the STATMOD system within the Wiley server must be given). ** Environment: The programs are written in Borland Pascal for DOS and can be started as full screen programs under Windows. It is necessary to provide the BGI driver package and the Fontfiles .chr in one directory for which the path name must be set in the environment variable `BGIPFAD'. In addition, the RTM directory must be included in the system's path statement as indicated in the Paths section below. ** Units: The software package is written making intensive use of units. To each of the main programs belongs its own unit which can be easily identified from its name. ** Paths: The programs must have access to several different types of input and output data which may be distributed over different directories. In order to simplify access to these files, a special ASCII path name file pfad*.msk, which must be present in the same directory as the .exe file, is attached to each of the main programs. These path name files are chosen such that they are easily associated with their main programs and are additionally collected in the directory pfadmsk. The path name file can be edited while the program is running, however, it is recommended that the path name files be properly adjusted before the respective main program is first started. For that purpose any text editor may be used. The system is prepared for installation in C:\STATMOD. If the installation procedure is followed, no changes to the path name files will be necessary. *** General Outline The programs make use of the EGA graphic mode with 640350 pixels, 16 colors and 2 graphic pages. Page 0 is used as the text page showing the control buttons, input and output fields, error messages etc., and page 1 is used as graphic page showing function displays. The overall program structure provides of a number of menu button fields each with 10 positions. These buttons correspond to the respective function keys F1 .. F10 on the keyboard and can also be activated by a mouse click. Activating one of the buttons leads either to another display of menu buttons or starts a certain action. Each of the program starts with the display of its name. It is brought to its real begining_showing the top level menu field_either by the `Enter'-keystroke or by pushing the right mouse button. The program can be exited only from the graphic display on the top menu level by activating the last button (F10) with the inscription `IMGEXT' and pressing the `Esc'-key. Most of the programs have several possibilities to come to a display on the graphic screen. The `Esc'-key does work only on the top menu level. ** Commands, Messages and Names of Variables All commands, messages and menu button texts are in English or derived from English expressions. Those users interested in looking into the source code will notice that the naming of variables, functions and procedures is derived from a mixture of English and German stems. The menu button fields are defined at the beginning of each program source code as text constants, e.g., Const KeysMain: KeyTxt =(`Main', `->PLOT','->COOR','->STMD','->SMPL','->EMPI', `-> CLF','->PARA','-> EDI','-> DOS','IMGEXT'); The main program consists only of the menu modules. The functions and procedures called in these menu modules can be found in the respective units. ** External data structures: The package uses a number of external data structures for representing pattern vectors, discriminant vectors, statistical models, moment matrices, classifiers, classifier recipes, performance statistics, coordinate systems, multilayer networks, adaptation protocols etc., which are designed as ASCII files in order to be easily accessible and editable. These data structures are mostly self explaining as for example the data structure for a statistical model shown in the following: ” This statistical model represents the classical XOR-example with two classes A and B with a priori probabilities 0.5. Both classes A and B consist each of two subclasses A1 and A2, or B1 and B2 resp. Each of the subclasses is given as a normal distribution with a certain mean and a certain covariance matrix. Since the measurement space for STATMOD is only two-dimensional, it is convenient to determine the covariance matrix in terms of their two eigenvalues and the angle between the main eigenvector and the x-axis of the coordinate system. XOR example Class Prob SbClass Prob MeanX MeanY Alpha EigVal1 EigVal2 * ----------------------------------------------------------- A 0.5 1 0.5 0 0 0 0.01 0.01 2 0.5 1 1 0 0.01 0.01 B 0.5 1 0.5 1 0 0 0.01 0.01 2 0.5 0 1 0 0.01 0.01 The lines beginning with `*' are considered as commentary text by the input routine and not read into the program. Description of the program functions: For each program a description file is provided, describing the effect of activating the respective button of the menu button field.