⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 ARTMAP的C语言程序
💻
字号:
/******************************************************************************* * README v.1 (7/5/01) * * Description: *	Readme for artmap_c.zip *	See http://www.cns.bu.edu/~artmap for further details. * Authors: *	Suhas Chelian, Norbert Kopco ******************************************************************************//******************************************************************************* * Contents ******************************************************************************/The attached archive artmap_c.zip contains a sample implementation ofthe ARTMAP neural network, in many of its variations. The archivecontains the following files:artmap.cpp	- implementation of the ARTMAP networkinput.dat	- sample training set containing 1000 training		  points for the Circle-in-the-Square problem 		  (every row of this text file contains the input		  values for one training pattern)output.dat	- the file containing expected output classes for		  the training set (every row of this text file		  contains the class label for the corresponding		  input in the file input.dat)te_input.dat	- sample testing set containing 10000 testing		  points for the Circle-in-the-Square problem		  (format as in input.dat)te_output.dat	- file containing expected output classes for the		  testing set (format as in output.dat)Makefile	- useful for compiling and zipping this packageREADME		- this fileThe training and testing files (input.dat, output.dat, te_input.dat,te_output.dat) must be placed into the same directory as theexecutable code./******************************************************************************* * Compiling and Running ******************************************************************************/The code, written in the C language, can be compiled and run on almostany platform. To compile it under the Unix operating system use thefollowing command:	gcc artmap.cpp -o artmap -lmor, use the Makefile, by typing:	makeTo run it under under Unix, type:	artmap/******************************************************************************* * Configuration ******************************************************************************/To choose which ARTMAP system you would like, make EXACTLY one of thefollowing flags 1: FUZZY_ARTMAP, ARTMAP_IC, ART_EMAP, DIST_ARTMAP.From there, the system configuration is automatic.  Seehttp://www.cns.bu.edu/~artmap for the papers from which one cancompare the different versions of ARTMAP.Please note that dARTMAP must use the Choice-by-difference signalrule.  For now, all other ARTMAP variations also use theChoice-by-difference signal rule, but they were originallydesigned--and can be used--with the Weber signal rule.  If youwish, you can change to using the Weber law by toggling theDO_WEBER flag.  In addition, although MT- was not orignallyapplied to Fuzzy ARTMAP or ART-EMAP, it can still be used.  If youwish, you can change to MT+ (epsilon > 0), but then you lose theability to encode inconsistent case.  (Inconsistent cases arecases when the same input is mapped to different outputs.)  Similarly, although the Increased CAM Gradient was not originallyapplied to ART-EMAP and ARTMAP-IC, it can still be used.  If youwish, you can change to using the Simple CAM Gradient by togglingthe DO_TEST_SCG flag.In addition, note that each implementation differs slightly fromthe (Carpenter et al., 1998b) paper in that Theta is now definedto be Theta from the paper - M.  This changes the Increased CamGradient set { j | (2-alpha)M-Tj > 0 } to { j | M-Tj > 0 } (seeStep 2a in Training, and 2i in Testing); also Tu is now alpha*M,not M.  These changes effect the dynamic range of the matchfunction, T, but not the algorithms overall behavior.Before compilation of the code, the following parameters of the systemneed to be specified:M	Dimensionality of the input vectors in the training/testing	set (not including complement coding)  	Please note that input must be in the unit hypercube (all dimensions 	are in the [0,1] interval).  The algorithm will	not work properly if this is removed; for your convience, you can	uncomment the lines that force unit hypercubing of input.L	Number of output classes in the training/testing set (The	classes are labeled by integers 1 to L, but 0 to L-1 by the code.)EPOCHS	Number of training epochs (currently ignored)TRAIN_N	The training set size (number of patterns in input.dat)TEST_N  The testing set size (number of patterns in te_input.dat)alpha		Parameter in the Choice-by-difference signal ruleold_beta	Parameter in the Weber Law signal rulep		Power in the increased gradient CAM rule beta		Learning rate  epsilon		Match tracking parameter  rho_a_bar	ARTa baseline vigilance parameter  T_u		F0 -> F2 signal for uncommited nodesMAX_F2_SIZE	This constant defines the upper bound on the number of			coding units in the Layer F2 (F2_SIZE also equals			number of units in Layer F3.)- Loosely speaking, alpha does the following:  Large valueswill not recruit uncommited nodes as quickly.  This can also be achievedby making T_u small with the Choice-by-difference signal rule.- p determines the degree contrast enchancement in F2 for Simple CAMgradient testing.  Large p are equivalent to Winner-take all (choice behavior), and small p lead to a more distributed activity pattern.  Setting p < 1 is not recommended.- See the papers at http://www.cns.bu.edu/~artmap for further information on how the parameters effect performance.Common abbreviations you will run into include:CBD	Choice-by-differenceWTA	Winner-take-all (choice)ICG	Increased CAM gradientIC	Instance countingSCG	Simple CAM gradientLastly, the code has been written with goto's and minimal functionsfor 2 reasons: 1.) it is easier to follow the flow of control (ratherthan following the value of flags in nested loops), 2.) it is easierto trace values (rather than always trace a value when a function iscalled repeatedly in different contexts).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -