📄 art_doc.txt
字号:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THE ART GALLERY
DOCUMENTATION
V 1.0
8/02/95
DEVELOPED BY:
Lars Liden
laliden@cns.bu.edu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
___________________________________________________________________________
0.0 TABLE OF CONTENTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0.0 TABLE OF CONTENTS
1.0 INTRODUCTION
1.1 Description of Files
1.1.1 UNIX Files
1.1.2 DOS Files
1.1.3 Windows Sample Simulator
1.2 Bug Reports
2.0 DESCRIPTION OF ART GALLERY NETWORKS
2.1 Network Overview
2.1.1 Network TYPES
2.1.2 Type ART Networks
2.1.3 Type ARTMAP Networks
2.1.4 Art "Component" Types
2.2 Network Input Data
2.2.1 Data "Style"
2.3 Network Activation
2.3.1 Initializing a Network
2.3.2 Accessing Network Structure Information
2.3.3 Training a Network
2.3.4 Testing a Network
2.3.5 Saving and Loading Networks
2.3.6 Freeing Network Space
2.4 Pattern Sets
2.4.1 Creating a Pattern Set
2.4.2 Data "Type"
2.4.3 Examining Pattern Set Parameters and Data
2.4.4 Saving and Loading Pattern Sets
2.4.5 Merging Pattern Sets
2.4.6 Freeing Pattern Set Space
2.5 Note on Error Checking and Variable Initialization
2.6 Compliment Coding and Network Stability
3.0 COMPILING THE ART GALLERY AS A DYNAMIC LINKED LIBRARY (DLL)
3.1 Using The ART Gallery in Visual Basic
4.0 SAMPLE SIMULATORS
4.1 Unix and Dos Text Simulator
4.2 Sample Window's ART Gallery Simulator
5.0 SAMPLE TRAINING AND TESTING FILES
5.1 Sample Networks for Training Set
5.2 Sample Data for Making a Pattern Set
6.0 CONSTANTS
7.0 SUMMARY OF ART GALLERY FUNCTIONS
8.0 DESCRIPTION OF ART GALLERY FUNCTIONS
9.0 REFERENCES
___________________________________________________________________________
1.0 INTRODUCTION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Art Gallery is a series of procedures inteded to be used within
other code for implementing many of the ART style neural networks.
Currently The Art Gallery supports C prodcedure calls on both the
Unix and Dos platforms, as well as compilation as a dynamic linked
library for use with Windows applications (such as Visual Basic).
Two sample simulators are also provided with the code. One running
a text version under Unix or Dos, the other, a Windows version with
a graphical user interface.
The data structures for both the Art networks and pattern sets are
designed so that the user does not need to access the structures
directly, but rather can call on other procedures to retrieve
needed information.
1.1 The following files should be included with The Art Gallery:
README.TXT - Information about compilation, files
/UNIX - Subdirectory with files for Unix platform
/DOS - Subdirectory with files for Dos platform
/WIN - Subdirectory with install files for Windows simulator
1.1.1 UNIX Files:
VER_1.0 - Version number, information about code changes
Art_Doc.txt - Help with the Art Library (this file)
Art_Gal.h - General Header Information
Art_Def.h - Constants, Network and Pattern Set Definitions
Art_Ext.c - External Art Library Procedures
Art_Ext.h - Header file for exteral procedures
Art_Int.c - Internal Art Library Procedures
Art_Int.h - Header file for internal Procedures
Makefile - Makefile for GCC
Art_Sim.c - A sample text simulator
train.pat - A sample training file
test.pat - A sample testing file
analog.dat - Sample data for MakeSet
binary.dat - Sample data for MakeSet
1.1.2 DOS Files:
Note: All files are compressed with PKZIP as 'dos_gal.zip':
VER_1.0 - Version number, information about code changes
Art_Doc.txt - Help with the Art Library (this file)
Art_Gal.h - General Header Information
Art_Def.h - Constants, Network and Pattern Set Definitions
Art_Ext.c - External Art Library Procedures
Art_Ext.h - Header file for exteral procedures
Art_Int.c - Internal Art Library Procedures
Art_Int.h - Header file for internal Procedures
Art_Sim.mak - Makefile for Borland C++
Art_Sim.cfg - Configuration file for Borland C++
Art_Gal.mak - Makefile for Borland C++;
Art_Gal.cfg - Configuration file for Borland C++
Art_DLL.c - DLL Code
Art_Gal.def - DLL Code
Art_Sim.c - A sample text simulator
train.pat - A sample training file
test.pat - A sample testing file
analog.dat - Sample data for MakeSet
binary.dat - Sample data for MakeSet
Default.bas - Sample of how to declare DLL in visual basic
1.1.3 Windows Sample Simulator:
Note: All files are compressed with PKZIP as 'win_gal.zip':
1.2 BUG REPORTS
All bug reports, comments and suggestions should be mailed
to: laliden@cns.bu.edu.
___________________________________________________________________________
2.0 DESCRIPTION OF ART GALLERY NETWORKS CODE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following descriptions are not intended for those not already
familiar with the ART family of networks. If you are new to this
type of neural network, it is strongly suggested that you read the
of the articles listed in the reference section (8.0) before using
this program.
2.1 Network Overview
The Art Gallery supports both supervised and unsupervised learning
paradigms.
Networks consist of sets of learned weights, as well as specifics
about the type of network being used. They are stored in a data
structure of type "netTYPE", and can be pointed to by a pointer of
type "netPTR" which are both defined in Art_Gal.h.
Network data can (and should) be accessed without reference to
parts of the data structure itself. Functions have been provided
for easy access to network information.
2.1.1 Network TYPES
Networks come in two different types, ART, for unsupervised learning,
and ARTMAP for supervised learning. Both ART and ARTMAP networks are
made up of Art 'components' which can take different forms including
ART1 and FUZZYART.
A network's type can be checked by using GetNetType.
2.1.2 Type ART Networks
An ART-type neural network is used for unsupervised learning. It
consists of one Art component, called ART, and takes a set of input
patterns.
The network learns to cluster the inputs into output categories which
can subsequently be examined with novel inputs patterns.
The Art component can either be of type ART1, for BINARY input
patterns or type FUZZYART for ANALOG input patterns.
2.1.3 Type ARTMAP Networks
An ARTMAP type network is used for supervised learning. It consists
of two Art components, an input Art network, called ARTA, and an
output Art network, called ARTB, and takes both input and output
patterns. The two components are connected by a Mapfield.
The input Art network, ARTA, clusters input patterns based on feedback
from the Mapfield. The ARTA component can be of type ART1, for BINARY
inputs, or FUZZYART, for ANALOG inputs.
The output Art network, ARTB, clusters desired output patterns and
sends category activations to the Mapfield. The ARTB component can be
of type ART1, for BINARY outputs, FUZZYART, for ANALOG outputs or of
type NONE.
When the output Art, ARTB, is of type NONE, the desired output values
sent directly to the Mapfield rather than being clustered by and ARTB
network.
Note that "inputs" to the ARTB network, are actually the "outputs"
patterns for the network.
2.1.4 Art "Component" Types:
Currently two types of Art components are supported, ART1, and
FUZZYART. ART1, learns to cluster BINARY input patterns, FUZZYART
learns to cluster either BINARY or ANALOG input patterns.
Additionally, the ARTB component of an ARTMAP-type network is allowed
to be of type NONE, if no ARTB component is desired.
A component's type can be check by using GetArtType.
2.2 Network Input Data
ART-type networks (using unsupervised learning) take only input
data, which is presented to the ART component of the network.
ARTMAP-type networks (using supervised learning) take both an
input and an output set of data. Input data is presented as input to
the ARTA-component. Output data is presented as input to the ARTB-
component.
2.2.1 Data "Style"
Each Art Component uses one of two data styles, NONE or COMPLIMENT.
When the data style is set to COMPLIMENT, Art input is compliment
coded before being presented to the network.
When of type NONE, compliment coding isn't used.
The input styles of network component can be check using GetArtStyle.
See section 2.6.
2.3 Network Activation
2.3.1 Initializing The Network
To create a new network, use the procedure, InitNet. It must be
passed a pointer to a structure of type "netTYPE". This structure has
been defined in Art_Def.h.
InitNet must also be passed the following information:
The type of network (either ART or ARTMAP)
When type-ART is used:
The type of ART component to use (ART1 or FUZZYART)
The style of inputs (NONE or COMPLIMENT)
The number of inputs to the ART component
When type-ARTMAP is used:
The type of ARTA component to use (ART1 or FUZZYART)
The style of inputs (NONE or COMPLIMENT)
The number of inputs to the ARTA component
The type of ARTB component (ART1, FUZZYART or NONE)
The style of inputs (NONE or COMPLIMENT)
The number of inputs to the ARTB component
(equal to the number of network outputs).
When the style COMPLIMENT is chosen for a component, the number of
inputs for that component must be twice the size of the input patterns
contained in the pattern file.
To initialize a network which has already been loaded, FreeNet must
be called first to erase the network.
2.3.2 Accessing Network Structure Information
To get information about a network which has already been created,
the following can be used:
To get the type of network, use GetNetType.
To get component types, use GetArtType.
To get component styles, use GetArtStyle.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -