home *** CD-ROM | disk | FTP | other *** search
/ PC Press 1997 July / Sezamfile97_1.iso / msdos / infoprog / neural2.faq < prev    next >
Text File  |  1997-06-15  |  103KB  |  2,017 lines

  1. Newsgroups: comp.ai.neural-nets,comp.answers,news.answers
  2. Path: Eunet.yu!EU.net!newsfeed.internetmci.com!news.msfc.nasa.gov!news.sgi.com!news.sprintlink.net!news-stk-200.sprintlink.net!news.sprintlink.net!news-chi-13.sprintlink.net!interpath!news.interpath.net!sas!newshost.unx.sas.com!hotellng.unx.sas.com!saswss
  3. From: saswss@unx.sas.com (Warren Sarle)
  4. Subject: comp.ai.neural-nets FAQ, Part 2 of 7: Learning
  5. Originator: saswss@hotellng.unx.sas.com
  6. Sender: news@unx.sas.com (Noter of Newsworthy Events)
  7. Message-ID: <nn2.posting_841287617@hotellng.unx.sas.com>
  8. Supersedes: <nn2.posting_838609217@hotellng.unx.sas.com>
  9. Approved: news-answers-request@MIT.EDU
  10. Date: Thu, 29 Aug 1996 03:00:19 GMT
  11. Expires: Thu, 3 Oct 1996 03:00:17 GMT
  12. X-Nntp-Posting-Host: hotellng.unx.sas.com
  13. Reply-To: saswss@unx.sas.com (Warren Sarle)
  14. Organization: SAS Institute Inc., Cary, NC, USA
  15. Keywords: frequently asked questions, answers
  16. Followup-To: comp.ai.neural-nets
  17. Lines: 1998
  18.  
  19. Archive-name: ai-faq/neural-nets/part2
  20. Last-modified: 1996-08-27
  21. URL: ftp://ftp.sas.com/pub/neural/FAQ2.html
  22. Maintainer: saswss@unx.sas.com (Warren S. Sarle)
  23.  
  24. This is part 2 (of 7) of a monthly posting to the Usenet newsgroup
  25. comp.ai.neural-nets. See the part 1 of this posting for full information
  26. what it is all about.
  27.  
  28. ========== Questions ========== 
  29. ********************************
  30.  
  31. Part 1: Introduction
  32. Part 2: Learning
  33.  
  34.    How many learning methods for NNs exist? Which?
  35.    What is backprop?
  36.    What are conjugate gradients, Levenberg-Marquardt, etc.?
  37.    How should categories be coded?
  38.    Why use a bias input?
  39.    Why use activation functions?
  40.    What is a softmax activation function?
  41.    What is the curse of dimensionality?
  42.    How do MLPs compare with RBFs?
  43.    What are OLS and subset regression?
  44.    Should I normalize/standardize/rescale the data?
  45.    Should I nonlinearly transform the data?
  46.    What is ART?
  47.    What is PNN?
  48.    What is GRNN?
  49.    What does unsupervised learning learn?
  50.    What about Genetic Algorithms and Evolutionary Computation?
  51.    What about Fuzzy Logic?
  52.  
  53. Part 3: Generalization
  54. Part 4: Books, data, etc.
  55. Part 5: Free software
  56. Part 6: Commercial software
  57. Part 7: Hardware
  58.  
  59. ------------------------------------------------------------------------
  60.  
  61. Subject: How many learning methods for NNs exist?
  62. =================================================
  63. Which?
  64. ======
  65.  
  66. There are many many learning methods for NNs by now. Nobody knows exactly
  67. how many. New ones (or at least variations of existing ones) are invented
  68. every week. Below is a collection of some of the most well known methods,
  69. not claiming to be complete.
  70.  
  71. The main categorization of these methods is the distinction between
  72. supervised and unsupervised learning: 
  73.  
  74.  o In supervised learning, there is a "teacher" who in the learning phase
  75.    "tells" the net how well it performs ("reinforcement learning") or what
  76.    the correct behavior would have been ("fully supervised learning"). 
  77.  o In unsupervised learning the net is autonomous: it just looks at the data
  78.    it is presented with, finds out about some of the properties of the data
  79.    set and learns to reflect these properties in its output. What exactly
  80.    these properties are, that the network can learn to recognise, depends on
  81.    the particular network model and learning method. Usually, the net learns
  82.    some compressed representation of the data. 
  83.  
  84. Many of these learning methods are closely connected with a certain (class
  85. of) network topology.
  86.  
  87. Now here is the list, just giving some names:
  88.  
  89. 1. UNSUPERVISED LEARNING (i.e. without a "teacher"):
  90.      1). Feedback Nets:
  91.         a). Additive Grossberg (AG)
  92.         b). Shunting Grossberg (SG)
  93.         c). Binary Adaptive Resonance Theory (ART1)
  94.         d). Analog Adaptive Resonance Theory (ART2, ART2a)
  95.         e). Discrete Hopfield (DH)
  96.         f). Continuous Hopfield (CH)
  97.         g). Discrete Bidirectional Associative Memory (BAM)
  98.         h). Temporal Associative Memory (TAM)
  99.         i). Adaptive Bidirectional Associative Memory (ABAM)
  100.         j). Kohonen Self-organizing Map/Topology-preserving map (SOM/TPM)
  101.         k). Competitive learning
  102.      2). Feedforward-only Nets:
  103.         a). Learning Matrix (LM)
  104.         b). Driver-Reinforcement Learning (DR)
  105.         c). Linear Associative Memory (LAM)
  106.         d). Optimal Linear Associative Memory (OLAM)
  107.         e). Sparse Distributed Associative Memory (SDM)
  108.         f). Fuzzy Associative Memory (FAM)
  109.         g). Counterprogation (CPN)
  110.  
  111. 2. SUPERVISED LEARNING (i.e. with a "teacher"):
  112.      1). Feedback Nets:
  113.         a). Brain-State-in-a-Box (BSB)
  114.         b). Fuzzy Congitive Map (FCM)
  115.         c). Boltzmann Machine (BM)
  116.         d). Mean Field Annealing (MFT)
  117.         e). Recurrent Cascade Correlation (RCC)
  118.         f). Backpropagation through time (BPTT)
  119.         g). Real-time recurrent learning (RTRL)
  120.         h). Recurrent Extended Kalman Filter (EKF)
  121.      2). Feedforward-only Nets:
  122.         a). Perceptron
  123.         b). Adaline, Madaline
  124.         c). Backpropagation (BP)
  125.         d). Cauchy Machine (CM)
  126.         e). Adaptive Heuristic Critic (AHC)
  127.         f). Time Delay Neural Network (TDNN)
  128.         g). Associative Reward Penalty (ARP)
  129.         h). Avalanche Matched Filter (AMF)
  130.         i). Backpercolation (Perc)
  131.         j). Artmap
  132.         k). Adaptive Logic Network (ALN)
  133.         l). Cascade Correlation (CasCor)
  134.         m). Extended Kalman Filter(EKF)
  135.         n). Learning Vector Quantization (LVQ)
  136.         o). Probabilistic Neural Network (PNN)
  137.         p). General Regression Neural Network (GRNN) 
  138.  
  139. ------------------------------------------------------------------------
  140.  
  141. Subject: What is backprop? 
  142. ===========================
  143.  
  144. Backprop is short for backpropagation of error. The term backpropagation
  145. causes much confusion. Strictly speaking, backpropagation refers to the
  146. method for computing the error gradient for a feedforward network, a
  147. straightforward but elegant application of the chain rule of elementary
  148. calculus (Werbos 1994). By extension, backpropagation or backprop refers
  149. to a training method that uses backpropagation to compute the gradient. By
  150. further extension, a backprop network is a feedforward network trained by
  151. backpropagation. 
  152.  
  153. Standard backprop is a euphemism for the generalized delta rule, the
  154. training algorithm that was popularized by Rumelhart, Hinton, and Williams
  155. in chapter 8 of Rumelhart and McClelland (1986), which remains the most
  156. widely used supervised training method for neural nets. The generalized
  157. delta rule (including momentum) is called the heavy ball method in the
  158. numerical analysis literature (Poljak 1964; Bertsekas 1995, 78-79). 
  159.  
  160. Standard backprop can be used for on-line training (in which the weights are
  161. updated after processing each case) but it does not converge. To obtain
  162. convergence, the learning rate must be slowly reduced. This methodology is
  163. called stochastic approximation. 
  164.  
  165. For batch processing, there is no reason to suffer through the slow
  166. convergence and the tedious tuning of learning rates and momenta of standard
  167. backprop. Much of the NN research literature is devoted to attempts to speed
  168. up backprop. Most of these methods are inconsequential; two that are
  169. effective are Quickprop (Fahlman 1989) and RPROP (Riedmiller and Braun
  170. 1993). But conventional methods for nonlinear optimization are usually
  171. faster and more reliable than any of the "props". See "What are conjugate
  172. gradients, Levenberg-Marquardt, etc.?". 
  173.  
  174. More on-line info on backprop:
  175.  
  176.    Donald Tveter's Backpropagator's Review at 
  177.    http://www.mcs.com/~drt/bprefs.html. 
  178.  
  179. References on backprop: 
  180.  
  181.    Bertsekas, D. P. (1995), Nonlinear Programming, Belmont, MA: Athena
  182.    Scientific, ISBN 1-886529-14-0. 
  183.  
  184.    Poljak, B.T. (1964), "Some methods of speeding up the convergence of
  185.    iteration methods," Z. Vycisl. Mat. i Mat. Fiz., 4, 1-17. 
  186.  
  187.    Rumelhart, D.E., Hinton, G.E., and Williams, R.J. (1986), "Learning
  188.    internal representations by error propagation", in Rumelhart, D.E. and
  189.    McClelland, J. L., eds. (1986), Parallel Distributed Processing:
  190.    Explorations in the Microstructure of Cognition, Volume 1, 318-362,
  191.    Cambridge, MA: The MIT Press. 
  192.  
  193.    Werbos, P.J. (1994), The Roots of Backpropagation, NY: John Wiley &
  194.    Sons. 
  195.  
  196. References on stochastic approximation: 
  197.  
  198.    Robbins, H. & Monro, S. (1951), "A Stochastic Approximation Method",
  199.    Annals of Mathematical Statistics, 22, 400-407. 
  200.  
  201.    Kiefer, J. & Wolfowitz, J. (1952), "Stochastic Estimation of the Maximum
  202.    of a Regression Function," Annals of Mathematical Statistics, 23,
  203.    462-466. 
  204.  
  205.    Kushner, H. & Clark, D. (1978), Stochastic Approximation Methods for
  206.    Constrained and Unconstrained Systems, Springer-Verlag. 
  207.  
  208.    White, H. (1989), "Some Asymptotic Results for Learning in Single Hidden
  209.    Layer Feedforward Network Models", J. of the American Statistical Assoc.,
  210.    84, 1008-1013. 
  211.  
  212. References on better props: 
  213.  
  214.    Fahlman, S.E. (1989), "Faster-Learning Variations on Back-Propagation: An
  215.    Empirical Study", in Touretzky, D., Hinton, G, and Sejnowski, T., eds., 
  216.    Proceedings of the 1988 Connectionist Models Summer School, Morgan
  217.    Kaufmann, 38-51. 
  218.  
  219.    Riedmiller, M. and Braun, H. (1993), "A Direct Adaptive Method for Faster
  220.    Backpropagation Learning: The RPROP Algorithm", Proceedings of the IEEE
  221.    International Conference on Neural Networks 1993, San Francisco: IEEE. 
  222.  
  223. ------------------------------------------------------------------------
  224.  
  225. Subject: What are conjugate gradients,
  226. ======================================
  227. Levenberg-Marquardt, etc.? 
  228. ===========================
  229.  
  230. Training a neural network is, in most cases, an exercise in numerical
  231. optimization of a usually nonlinear function. Methods of nonlinear
  232. optimization have been studied for hundreds of years, and there is a huge
  233. literature on the subject in fields such as numerical analysis, operations
  234. research, and statistical computing, e.g., Bertsekas (1995), Gill, Murray,
  235. and Wright (1981). Masters (1995) has a good elementary discussion of
  236. conjugate gradient and Levenberg-Marquardt algorithms in the context of NNs.
  237.  
  238. There is no single best method for nonlinear optimization. You need to
  239. choose a method based on the characteristics of the problem to be solved.
  240. For functions with continuous second derivatives (which would include
  241. feedforward nets with the most popular differentiable activation functions
  242. and error functions), three general types of algorithms have been found to
  243. be effective for most practical purposes: 
  244.  
  245.  o For a small number of weights, stabilized Newton and Gauss-Newton
  246.    algorithms, including various Levenberg-Marquardt and trust-region
  247.    algorithms, are efficient. 
  248.  o For a moderate number of weights, various quasi-Newton algorithms are
  249.    efficient. 
  250.  o For a large number of weights, various conjugate-gradient algorithms are
  251.    efficient. 
  252.  
  253. For functions that are not continuously differentiable, the Nelder-Mead
  254. simplex algorithm is useful. 
  255.  
  256. All of the above methods find local optima. For global optimization, there
  257. are also a variety of approaches. You can simply run any of the local
  258. optimization methods from numerous random starting points. Or you can try
  259. more complicated methods designed for global optimization such as simulated
  260. annealing or genetic algorithms (see Reeves 1993 and "What about Genetic
  261. Algorithms and Evolutionary Computation?"). 
  262.  
  263. For a survey of optimization software, see More\' and Wright (1993). For
  264. more on-line information on numerical optimization see: 
  265.  
  266.  o The kangaroos, a nontechnical description of various optimization
  267.    methods, at ftp://ftp.sas.com/pub/neural/kangaroos. 
  268.  o The Netlib repository, http://www.netlib.org/, containing freely
  269.    available software, documents, and databases of interest to the numerical
  270.    and scientific computing community. 
  271.  o John Gregory's nonlinear programming FAQ at 
  272.    http://www.skypoint.com/subscribers/ashbury/nonlinear-programming-faq.html.
  273.  o Arnold Neumaier's page on global optimization at 
  274.    http://solon.cma.univie.ac.at/~neum/glopt.html. 
  275.  o 'Simon Streltsovs page on global optimization at http://cad.bu.edu/go. 
  276.  
  277. References: 
  278.  
  279.    Bertsekas, D. P. (1995), Nonlinear Programming, Belmont, MA: Athena
  280.    Scientific, ISBN 1-886529-14-0. 
  281.  
  282.    Gill, P.E., Murray, W. and Wright, M.H. (1981) Practical Optimization,
  283.    Academic Press: London. 
  284.  
  285.    Levenberg, K. (1944) "A method for the solution of certain problems in
  286.    least squares," Quart. Appl. Math., 2, 164-168. 
  287.  
  288.    Marquardt, D. (1963) "An algorithm for least-squares estimation of
  289.    nonlinear parameters," SIAM J. Appl. Math., 11, 431-441. 
  290.  
  291.    Masters, T. (1995) Advanced Algorithms for Neural Networks: A C++
  292.    Sourcebook, NY: John Wiley and Sons, ISBN 0-471-10588-0 
  293.  
  294.    More\', J.J. (1977) "The Levenberg-Marquardt algorithm: implementation
  295.    and theory," in Watson, G.A., ed., _Numerical Analysis_, Lecture Notes in
  296.    Mathematics 630, Springer-Verlag, Heidelberg, 105-116. 
  297.  
  298.    More\', J.J. and Wright, S.J. (1993), Optimization Software Guide,
  299.    Philadelphia: SIAM, ISBN 0-89871-322-6. 
  300.  
  301.    Reeves, C.R., ed. (1993) Modern Heuristic Techniques for Combinatorial
  302.    Problems, NY: Wiley. 
  303.  
  304.    Rinnooy Kan, A.H.G., and Timmer, G.T., (1989) Global Optimization: A
  305.    Survey, International Series of Numerical Mathematics, vol. 87, Basel:
  306.    Birkhauser Verlag. 
  307.  
  308. ------------------------------------------------------------------------
  309.  
  310. Subject: How should categories be coded? 
  311. =========================================
  312.  
  313. First, consider unordered categories. If you want to classify cases into one
  314. of C categories (i.e. you have a categorical target variable), use 1-of-C
  315. coding. That means that you code C binary (0/1) target variables
  316. corresponding to the C categories. Statisticians call these "dummy"
  317. variables. Each dummy variable is given the value zero except for the one
  318. corresponding to the correct category, which is given the value one. Then
  319. use a softmax output activation function (see "What is a softmax activation
  320. function?") so that the net, if properly trained, will produce valid
  321. posterior probability estimates. If the categories are Red, Green, and Blue,
  322. then the data would look like this: 
  323.  
  324.    Category  Dummy variables
  325.    --------  ---------------
  326.     Red        1   0   0
  327.     Green      0   1   0
  328.     Blue       0   0   1
  329.  
  330. When there are only two categories, it is simpler to use just one dummy
  331. variable with a logistic output activation function; this is equivalent to
  332. using softmax with two dummy variables. 
  333.  
  334. The common practice of using target values of .1 and .9 instead of 0 and 1
  335. prevents the outputs of the network from being directly interpretable as
  336. posterior probabilities. 
  337.  
  338. Another common practice is to use a logistic activation function for each
  339. output. Thus, the outputs are not constrained to sum to one, so they are not
  340. valid posterior probability estimates. The usual justification advanced for
  341. this procedure is that if a test case is not similar to any of the training
  342. cases, all of the outputs will be small, indicating that the case cannot be
  343. classified reliably. This claim is incorrect, since a test case that is not
  344. similar to any of the training cases will require the net to extrapolate,
  345. and extrapolation is thoroughly unreliable; such a test case may produce all
  346. small outputs, all large outputs, or any combination of large and small
  347. outputs. If you want a classification method that detects novel cases for
  348. which the classification may not be reliable, you need a method based on
  349. probability density estimation. For example, see "What is PNN?". 
  350.  
  351. It is very important not to use a single variable for an unordered
  352. categorical target. Suppose you used a single variable with values 1, 2, and
  353. 3 for red, green, and blue, and the training data with two inputs looked
  354. like this: 
  355.  
  356.       |    1    1
  357.       |   1   1
  358.       |       1   1
  359.       |     1   1
  360.       | 
  361.       |      X
  362.       | 
  363.       |    3   3           2   2
  364.       |     3     3      2
  365.       |  3   3            2    2
  366.       |     3   3       2    2
  367.       | 
  368.       +----------------------------
  369.  
  370. Consider a test point located at the X. The correct output would be that X
  371. has about a 50-50 chance of being a 1 or a 3. But if you train with a single
  372. target variable with values of 1, 2, and 3, the output for X will be the
  373. average of 1 and 3, so the net will say that X is definitely a 2! 
  374.  
  375. For an input with categorical values, you can use 1-of-(C-1) coding if the
  376. network has a bias unit. This is just like 1-of-C coding, except that you
  377. omit one of the dummy variables (doesn't much matter which one). Using all C
  378. of the dummy variables creates a linear dependency on the bias unit, which
  379. is not advisable unless you are using weight decay or Bayesian estimation or
  380. some such thing that requires all C weights to be treated on an equal basis.
  381. 1-of-(C-1) coding looks like this: 
  382.  
  383.    Category  Dummy variables
  384.    --------  ---------------
  385.     Red        1   0
  386.     Green      0   1
  387.     Blue       0   0
  388.  
  389. Another possible coding is called "effects" coding or "deviations from
  390. means" coding in statistics. It is like 1-of-(C-1) coding, except that when
  391. a case belongs to the category for the omitted dummy variable, all of the
  392. dummy variables are set to -1, like this: 
  393.  
  394.    Category  Dummy variables
  395.    --------  ---------------
  396.     Red        1   0
  397.     Green      0   1
  398.     Blue      -1  -1
  399.  
  400. As long as a bias unit is used, any network with effects coding can be
  401. transformed into an equivalent network with 1-of-(C-1) coding by a linear
  402. transformation of the weights. So the only advantage of effects coding is
  403. that the dummy variables require no standardizing (see "Should I
  404. normalize/standardize/rescale the data?"). 
  405.  
  406. If you are using weight decay, you want to make sure that shrinking the
  407. weights toward zero biases ('bias' in the statistical sense) the net in a
  408. sensible, usually smooth, way. If you use 1 of C-1 coding for an input,
  409. weight decay biases the output for the C-1 categories towards the output for
  410. the 1 omitted category, which is probably not what you want, although there
  411. might be special cases where it would make sense. If you use 1 of C coding
  412. for an input, weight decay biases the output for all C categories roughly
  413. towards the mean output for all the categories, which is smoother and
  414. usually a reasonable thing to do. 
  415.  
  416. Now consider ordered categories. For inputs, some people recommend a
  417. "thermometer code" like this: 
  418.  
  419.    Category  Dummy variables
  420.    --------  ---------------
  421.     Red        1   1   1
  422.     Green      0   1   1
  423.     Blue       0   0   1
  424.  
  425. However, thermometer coding is equivalent to 1-of-C coding, in that for any
  426. network using 1-of-C coding, there exists a network with thermometer coding
  427. that produces identical outputs; the weights in the thermometer-coded
  428. network are just the differences of successive weights in the 1-of-C-coded
  429. network. To get a genuinely ordinal representation, you must constrain the
  430. weights connecting the dummy variables to the hidden units to be nonnegative
  431. (except for the first dummy variable). 
  432.  
  433. It is often effective to represent an ordinal input as a single variable
  434. like this: 
  435.  
  436.    Category  Input
  437.    --------  -----
  438.     Red        1
  439.     Green      2
  440.     Blue       3
  441.  
  442. Although this representation involves only a single quantitative input,
  443. given enough hidden units, the net is capable of computing nonlinear
  444. transformations of that input that will produce results equivalent to any of
  445. the dummy coding schemes. But using a single quantitative input makes it
  446. easier for the net to use the order of the categories to generalize when
  447. that is appropriate. 
  448.  
  449. B-splines provide a way of coding ordinal inputs into fewer than C variables
  450. while retaining information about the order of the categories. See Brown and
  451. Harris (1994) or Gifi (1990, 365-370). 
  452.  
  453. Target variables with ordered categories require thermometer coding. The
  454. outputs are thus cumulative probabilities, so to obtain the posterior
  455. probability of any category except the first, you must take the difference
  456. between successive outputs. It is often useful to use a proportional-odds
  457. model, which ensures that these differences are positive. For more details
  458. on ordered categorical targets, see McCullagh and Nelder (1989, chapter 5). 
  459.  
  460. References: 
  461.  
  462.    Brown, M., and Harris, C. (1994), Neurofuzzy Adaptive Modelling and
  463.    Control, NY: Prentice Hall. 
  464.  
  465.    Gifi, A. (1990), Nonlinear Multivariate Analysis, NY: John Wiley & Sons,
  466.    ISBN 0-471-92620-5. 
  467.  
  468.    McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2nd
  469.    ed., London: Chapman & Hall. 
  470.  
  471. ------------------------------------------------------------------------
  472.  
  473. Subject: Why use a bias input? 
  474. ===============================
  475.  
  476. Consider a multilayer perceptron with any of the usual sigmoid activation
  477. functions. Choose any hidden unit or output unit. Let's say there are N
  478. inputs to that unit, which define an N-dimensional space. The given unit
  479. draws a hyperplane through that space, producing an "on" output on one side
  480. and an "off" output on the other. (With sigmoid units the plane will not be
  481. sharp -- there will be some gray area of intermediate values near the
  482. separating plane -- but ignore this for now.) 
  483.  
  484. The weights determine where this hyperplane lies in the input space. Without
  485. a bias input, this separating hyperplane is constrained to pass through the
  486. origin of the space defined by the inputs. For some problems that's OK, but
  487. in many problems the hyperplane would be much more useful somewhere else. If
  488. you have many units in a layer, they share the same input space and without
  489. bias would ALL be constrained to pass through the origin. 
  490.  
  491. The "universal approximation" property of multilayer perceptrons with most
  492. commonly-used hidden-layer activation functions does not hold if you omit
  493. the bias units. But Hornik (1993) shows that a sufficient condition for the
  494. universal approximation property without biases is that no derivative of the
  495. activation function vanishes at the origin, which implies that with the
  496. usual sigmoid activation functions, a fixed nonzero bias can be used. 
  497.  
  498. Reference: 
  499.  
  500.    Hornik, K. (1993), "Some new results on neural network approximation,"
  501.    Neural Networks, 6, 1069-1072. 
  502.  
  503. ------------------------------------------------------------------------
  504.  
  505. Subject: Why use activation functions? 
  506. =======================================
  507.  
  508. Activation functions for the hidden units are needed to introduce
  509. nonlinearity into the network. Without nonlinearity, hidden units would not
  510. make nets more powerful than just plain perceptrons (which do not have any
  511. hidden units, just input and output units). The reason is that a composition
  512. of linear functions is again a linear function. However, it is the
  513. nonlinearity (i.e, the capability to represent nonlinear functions) that
  514. makes multilayer networks so powerful. Almost any nonlinear function does
  515. the job, although for backpropagation learning it must be differentiable and
  516. it helps if the function is bounded; the sigmoidal functions such as
  517. logistic and tanh and the Gaussian function are the most common choices. 
  518.  
  519. For the output units, you should choose an activation function suited to the
  520. distribution of the target values. Bounded activation functions such as the
  521. logistic are particularly useful when the target values have a bounded
  522. range. But if the target values have no known bounded range, it is better to
  523. use an unbounded activation function, most often the identity function
  524. (which amounts to no activation function). There are certain natural
  525. associations between output activation functions and various noise
  526. distributions which have been studied by statisticians in the context of
  527. generalized linear models. The output activation function is the inverse of
  528. what statisticians call the "link function". See: 
  529.  
  530.    McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2nd
  531.    ed., London: Chapman & Hall. 
  532.  
  533.    Jordan, M.I. (1995), "Why the logistic function? A tutorial discussion on
  534.    probabilities and neural networks", 
  535.    ftp://psyche.mit.edu/pub/jordan/uai.ps.Z. 
  536.  
  537. For more information on activation functions, see Donald Tveter's 
  538. Backpropagator's Review. 
  539.  
  540. ------------------------------------------------------------------------
  541.  
  542. Subject: What is a softmax activation function? 
  543. ================================================
  544.  
  545. The purpose of the softmax activation function is to make the sum of the
  546. outputs equal to one, so that the outputs are interpretable as posterior
  547. probabilities. Let the net input to each output unit be q_i, i=1,...,c where
  548. c is the number of categories. Then the softmax output p_i is: 
  549.  
  550.            exp(q_i)
  551.    p_i = ------------
  552.           c
  553.          sum exp(q_j)
  554.          j=1
  555.  
  556. Unless you are using weight decay or Bayesian estimation or some such thing
  557. that requires the weights to be treated on an equal basis, you can choose
  558. any one of the output units and leave it completely unconnected--just set
  559. the net input to 0. Connecting all of the output units will just give you
  560. redundant weights and will slow down training. To see this, add an arbitrary
  561. constant z to each net input and you get: 
  562.  
  563.            exp(q_i+z)       exp(q_i) exp(z)       exp(q_i)    
  564.    p_i = ------------   = ------------------- = ------------   
  565.           c                c                     c            
  566.          sum exp(q_j+z)   sum exp(q_j) exp(z)   sum exp(q_j)  
  567.          j=1              j=1                   j=1
  568.  
  569. so nothing changes. Hence you can always pick one of the output units, and
  570. add an appropriate constant to each net input to produce any desired net
  571. input for the selected output unit, which you can choose to be zero or
  572. whatever is convenient. You can use the same trick to make sure that none of
  573. the exponentials overflows. 
  574.  
  575. Statisticians usually call softmax a "multiple logistic" function. It
  576. reduces to the simple logistic function when there are only two categories.
  577. Suppose you choose to set q_2 to 0. Then 
  578.  
  579.            exp(q_1)         exp(q_1)              1
  580.    p_1 = ------------ = ----------------- = -------------
  581.           c             exp(q_1) + exp(0)   1 + exp(-q_1)
  582.          sum exp(q_j)
  583.          j=1
  584.  
  585. and p_2, of course, is 1-p_1. 
  586.  
  587. The softmax function derives naturally from log-linear models and leads to
  588. convenient interpretations of the weights in terms of odds ratios. You
  589. could, however, use a variety of other nonnegative functions on the real
  590. line in place of the exp function. Or you could constrain the net inputs to
  591. the output units to be nonnegative, and just divide by the sum--that's
  592. called the Bradley-Terry-Luce model. 
  593.  
  594. References: 
  595.  
  596.    Bridle, J.S. (1990a). Probabilistic Interpretation of Feedforward
  597.    Classification Network Outputs, with Relationships to Statistical Pattern
  598.    Recognition. In: F.Fogleman Soulie and J.Herault (eds.), Neurocomputing:
  599.    Algorithms, Architectures and Applications, Berlin: Springer-Verlag, pp.
  600.    227-236. 
  601.  
  602.    Bridle, J.S. (1990b). Training Stochastic Model Recognition Algorithms as
  603.    Networks can lead to Maximum Mutual Information Estimation of Parameters.
  604.    In: D.S.Touretzky (ed.), Advances in Neural Information Processing
  605.    Systems 2, San Mateo: Morgan Kaufmann, pp. 211-217. 
  606.  
  607.    McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2nd
  608.    ed., London: Chapman & Hall. See Chapter 5. 
  609.  
  610. ------------------------------------------------------------------------
  611.  
  612. Subject: What is the curse of dimensionality? 
  613. ==============================================
  614.  
  615. This answer was provided by Janne Sinkkonen: 
  616.  
  617.    Curse of dimensionality (Bellman 1961) refers to the exponential
  618.    growth of hypervolume as a function of dimensionality. What has this
  619.    to do with the NNs? 
  620.  
  621.    Well, NNs are mappings from an input space to an output space. Thus,
  622.    loosely speaking, an NN needs to "monitor" or cover or represent
  623.    every part of its input space in order to know how the space should
  624.    be mapped. Covering the input space takes resources, and the amount
  625.    of resources needed is proportional to the hypervolume of the input
  626.    space. This notion seems to hold generally, but formalizing
  627.    "resources" and "every part of the input space" would take us so deep
  628.    that we could eventually surface to a different world on the other
  629.    side of the deepness. :) 
  630.  
  631.    Here is an example. Think of an unsupervised competitive one-layer
  632.    network that models data scattered uniformly over a unit hypercube.
  633.    The network tries to share its units (resources) more or less equally
  634.    over the hypercube (input space). One could argue that the average
  635.    distance from a random point of the space to the nearest network unit
  636.    measures the goodness of the representation: the shorter the
  637.    distance, the better is the represention of the data in the cube. By
  638.    simulations or by thinking it can be shown that the total number of
  639.    units required to keep the average distance constant increases
  640.    exponentially with the dimensionality of the cube. 
  641.  
  642.    Curse of dimensionality causes networks with lots of irrelevant
  643.    inputs to be behave relatively badly. The dimension of the input
  644.    space is high, and the network uses almost all its resources to
  645.    represent irrelevant portions of the space. 
  646.  
  647. References: 
  648.  
  649.    Bellman, R. (1961), Adaptive Control Processes: A Guided Tour, Princeton
  650.    University Press. 
  651.  
  652.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  653.    Oxford University Press, section 1.4. 
  654.  
  655.    Scott, D.W. (1992), Multivariate Density Estimation, NY: Wiley. 
  656.  
  657. ------------------------------------------------------------------------
  658.  
  659. Subject: How do MLPs compare with RBFs? 
  660. ========================================
  661.  
  662. Notation:
  663.  
  664.       a_j     is the altitude of the jth hidden unit
  665.       b_j     is the bias of the jth hidden unit
  666.       f       is the fan-in of the jth hidden unit 
  667.       h_j     is the activation of the jth hidden unit 
  668.       s       is a common width shared by all hidden units in the layer
  669.       s_j     is the width of the jth hidden unit
  670.       w_ij    is the weight connecting the ith input to
  671.                 the jth hidden unit
  672.       w_i     is the common weight for the ith input shared by
  673.                 all hidden units in the layer
  674.       x_i     is the ith input
  675.  
  676. The inputs to each hidden or output unit must be combined with the weights
  677. to yield a single value called the net input. There does not seem to be a
  678. standard term for the function that combines the inputs and weights; I will
  679. use the term "combination function". 
  680.  
  681. A multilayer perceptron (MLP) has one or more hidden layers for which the
  682. combination function is the inner product of the inputs and weights, plus a
  683. bias. The activation function is usually a logistic or tanh function.
  684. Hence the formula for the activation is typically: 
  685.  
  686. h_j = tanh( b_j + sum[w_ij*x_i] )
  687.  
  688. The MLP architecture is the most popular one in practical applications. Each
  689. layer uses a linear combination function. The inputs are fully connected to
  690. the first hidden layer, each hidden layer is fully connected to the next,
  691. and the last hidden layer is fully connected to the outputs. You can also
  692. have "skip-layer" connections; direct connections from inputs to outputs are
  693. especially useful. 
  694.  
  695. Consider the multidimensional space of inputs to a given hidden unit. Since
  696. an MLP uses linear combination functions, the set of all points in the space
  697. having a given value of the activation function is a hyperplane. The
  698. hyperplanes corresponding to different activation levels are parallel to
  699. each other (the hyperplanes for different units are not parallel in
  700. general). These parallel hyperplanes are the isoactivation contours of the
  701. hidden unit. 
  702.  
  703. Radial basis function (RBF) networks usually have only one hidden layer for
  704. which the combination function is based on the Euclidean distance between
  705. the input vector and the weight vector. RBF networks do not have anything
  706. that's exactly the same as the bias term in an MLP. But some types of RBFs
  707. have a "width" associated with each hidden unit or with the the entire
  708. hidden layer; instead of adding it in the combination function like a bias,
  709. you divide the Euclidean distance by the width. 
  710.  
  711. To see the similarity between RBF networks and MLPs, it is convenient to
  712. treat the combination function as the square of distance/width. Then the
  713. familiar exp or softmax activation functions produce members of the
  714. popular class of Gaussian RBF networks. It can also be useful to add another
  715. term to the combination function that determines what I will call the
  716. "altitude" of the unit. I have not seen altitudes used in the NN literature;
  717. if you know of a reference, please tell me (saswss@unx.sas.com). 
  718.  
  719. The output activation function in RBF networks is usually the identity. The
  720. identity output activation function is a computational convenience in
  721. training (see Hybrid training and the curse of dimensionality) but it is
  722. possible and often desirable to use other output activation functions just
  723. as you would in an MLP. 
  724.  
  725. There are many types of radial basis functions. Gaussian RBFs seem to be the
  726. most popular by far in the NN literature. In the statistical literature,
  727. thin plate splines are also used (Green and Silverman 1994). This FAQ will
  728. concentrate on Gaussian RBFs. 
  729.  
  730. There are two distinct types of Gaussian RBF architectures. The first type
  731. uses the exp activation function, so the activation of the unit is a
  732. Gaussian "bump" as a function of the inputs. There seems to be no specific
  733. term for this type of Gaussian RBF network; I will use the term "ordinary
  734. RBF", or ORBF, network. 
  735.  
  736. The second type of Gaussian RBF architecture uses the softmax activation
  737. function, so the activations of all the hidden units are normalized to sum
  738. to one. This type of network is often called a "normalized RBF", or NRBF,
  739. network. In a NRBF network, the output units should not have a bias, since
  740. the constant bias term would be linearly dependent on the constant sum of
  741. the hidden units. 
  742.  
  743. While the distinction between these two types of Gaussian RBF architectures
  744. is sometimes mentioned in the NN literature, its importance has rarely been
  745. appreciated except by Tao (1993) and Werntges (1993). 
  746.  
  747. There are several subtypes of both ORBF and NRBF architectures. Descriptions
  748. and formulas are as follows: 
  749.  
  750. ORBFUN 
  751.    Ordinary radial basis function (RBF) network with unequal widths
  752.    h_j = exp(f*log(a_j) - s_j^-2 * [(w_ij-x_i)^2] )
  753. ORBFEQ 
  754.    Ordinary radial basis function (RBF) network with equal widths
  755.    h_j = exp( - s^-2 * [(w_ij-x_i)^2] )
  756. NRBFUN 
  757.    Normalized RBF network with unequal widths and heights
  758.    h_j = softmax(f*log(a_j) - s_j^-2 *
  759.    [(w_ij-x_i)^2] )
  760. NRBFEV 
  761.    Normalized RBF network with equal volumes
  762.    h_j = softmax( f*log(b_j) - s_j^-2 *
  763.    [(w_ij-x_i)^2] )
  764. NRBFEH 
  765.    Normalized RBF network with equal heights (and unequal widths)
  766.    h_j = softmax( - s_j^-2 * [(w_ij-x_i)^2] )
  767. NRBFEW 
  768.    Normalized RBF network with equal widths (and unequal heights)
  769.    h_j = softmax( f*log(a_j) - s^-2 *
  770.    [(w_ij-x_i)^2] )
  771. NRBFEQ 
  772.    Normalized RBF network with equal widths and heights
  773.    h_j = softmax( - s^-2 * [(w_ij-x_i)^2] )
  774.  
  775. To illustrate various architectures, an example with two inputs and one
  776. output will be used so that the results can be shown graphically. The
  777. function being learned resembles a landscape with a Gaussian hill and a
  778. logistic plateau as shown in ftp://ftp.sas.com/pub/neural/hillplat.gif.
  779. There are 441 training cases on a regular 21-by-21 grid. The table below
  780. shows the root mean square error (RMSE) for a test data set. The test set
  781. has 1681 cases on a regular 41-by-41 grid over the same domain as the
  782. training set. If you are reading the HTML version of this document via a web
  783. browser, click on any number in the table to see a surface plot of the
  784. corresponding network output (each plot is a gif file, approximately 9K). 
  785.  
  786. The MLP networks in the table have one hidden layer with a tanh activation
  787. function. All of the networks use an identity activation function for the
  788. outputs. 
  789.  
  790.           Hill and Plateau Data: RMSE for the Test Set
  791.  
  792. HUs  MLP   ORBFEQ  ORBFUN  NRBFEQ  NRBFEW  NRBFEV  NRBFEH  NRBFUN
  793.                                                            
  794.  2  0.218   0.247   0.247   0.230   0.230   0.230   0.230   0.230
  795.  3  0.192   0.244   0.143   0.218   0.218   0.036   0.012   0.001
  796.  4  0.174   0.216   0.096   0.193   0.193   0.036   0.007
  797.  5  0.160   0.188   0.083   0.086   0.051   0.003
  798.  6  0.123   0.142   0.058   0.053   0.030
  799.  7  0.107   0.123   0.051   0.025   0.019
  800.  8  0.093   0.105   0.043   0.020   0.008
  801.  9  0.084   0.085   0.038   0.017
  802. 10  0.077   0.082   0.033   0.016
  803. 12  0.059   0.074   0.024   0.005
  804. 15  0.042   0.060   0.019
  805. 20  0.023   0.046   0.010
  806. 30  0.019   0.024
  807. 40  0.016   0.022
  808. 50  0.010   0.014
  809.  
  810. The ORBF architectures use radial combination functions and the exp
  811. activation function. Only two of the radial combination functions are useful
  812. with ORBF architectures. For radial combination functions including an
  813. altitude, the altitude would be redundant with the hidden-to-output weights.
  814.  
  815. Radial combination functions are based on the Euclidean distance between the
  816. vector of inputs to the unit and the vector of corresponding weights. Thus,
  817. the isoactivation contours for ORBF networks are concentric hyperspheres. A
  818. variety of activation functions can be used with the radial combination
  819. function, but the exp activation function, yielding a Gaussian surface, is
  820. the most useful. Radial networks typically have only one hidden layer, but
  821. it can be useful to include a linear layer for dimensionality reduction or
  822. oblique rotation before the RBF layer. 
  823.  
  824. The output of an ORBF network consists of a number of superimposed bumps,
  825. hence the output is quite bumpy unless many hidden units are used. Thus an
  826. ORBF network with only a few hidden units is incapable of fitting a wide
  827. variety of simple, smooth functions, and should rarely be used. 
  828.  
  829. The NRBF architectures also use radial combination functions but the
  830. activation function is softmax, which forces the sum of the activations for
  831. the hidden layer to equal one. Thus, each output unit computes a weighted
  832. average of the hidden-to-output weights, and the output values must lie
  833. within the range of the hidden-to-output weights. Thus, if the
  834. hidden-to-output weights are within as reasonable range (such as the range
  835. of the target values), you can be sure that the outputs will be within that
  836. same range for all possible inputs, even when the net is extrapolating. 
  837.  
  838. Radial combination functions incorporating altitudes are useful with NRBF
  839. architectures. The NRBF architectures combine some of the virtues of both
  840. the RBF and MLP architectures, as explained below. However, the
  841. isoactivation contours are considerably more complicated than for ORBF
  842. architectures. 
  843.  
  844. Consider the case of an NRBF network with only two hidden units. If the
  845. hidden units have equal widths, the isoactivation contours are parallel
  846. hyperplanes; in fact, this network is equivalent to an MLP with one logistic
  847. hidden unit. If the hidden units have unequal widths, the isoactivation
  848. contours are concentric hyperspheres; such a network is almost equivalent to
  849. an ORBF network with one Gaussian hidden unit. 
  850.  
  851. If there are more than two hidden units in an NRBF network, the
  852. isoactivation contours have no such simple characterization. If the RBF
  853. widths are very small, the isoactivation contours are approximately
  854. piecewise linear for RBF units with equal widths, and approximately
  855. piecewise spherical for RBF units with unequal widths. The larger the
  856. widths, the smoother the isoactivation contours where the pices join. 
  857.  
  858. The NRBFEQ architecture is a smoothed variant of the learning vector
  859. quantization (Kohonen 1988, Ripley 1996) and counterpropagation
  860. (Hecht-Nielsen 1990), architectures. In LVQ and counterprop, the hidden
  861. units are often called codebook vectors. LVQ amounts to nearest-neighbor
  862. classification on the codebook vectors, while counterprop is
  863. nearest-neighbor regression on the codebook vectors. The NRBFEQ architecture
  864. uses not just the single nearest neighbor, but a weighted average of near
  865. neighbors. As the width of the NRBFEQ functions approaches zero, the weights
  866. approach one for the nearest neighbor and zero for all other codebook
  867. vectors. LVQ and counterprop use ad hoc algorithms of uncertain reliability,
  868. but standard numerical optimization algorithms (not to mention backprop) can
  869. be applied with the NRBFEQ architecture. 
  870.  
  871. In a NRBFEQ architecture, if each observation is taken as an RBF center, and
  872. if the weights are taken to be the target values, the outputs are simply
  873. weighted averages of the target values, and the network is identical to the
  874. well-known Nadaraya-Watson kernel regression estimator, which has been
  875. reinvented at least twice in the neural net literature (see "What is
  876. GRNN?"). A similar NRBFEQ network used for classification is equivalent to
  877. kernel discriminant analysis (see "What is PNN?"). 
  878.  
  879. Kernels with variable widths are also used for regression in the statistical
  880. literature. Such kernel estimators correspond to the the NRBFEV
  881. architecture, in which the kernel functions have equal volumes but different
  882. altitudes. In the neural net literature, variable-width kernels appear
  883. always to be of the NRBFEH variety, with equal altitudes but unequal
  884. volumes. The analogy with kernel regression would make the NRBFEV
  885. architecture the obvious choice, but which of the two architectures works
  886. better in practice is an open question. 
  887.  
  888. Hybrid training and the curse of dimensionality
  889. +++++++++++++++++++++++++++++++++++++++++++++++
  890.  
  891. A comparison of the various architectures must separate training issues from
  892. architectural issues to avoid common sources of confusion. RBF networks are
  893. often trained by hybrid methods, in which the hidden weights (centers) are
  894. first obtained by unsupervised learning, after which the output weights are
  895. obtained by supervised learning. Unsupervised methods for choosing the
  896. centers include: 
  897.  
  898. 1. Distribute the centers in a regular grid over the input space. 
  899. 2. Choose a random subset of the training cases to serve as centers. 
  900. 3. Cluster the training cases based on the input variables, and use the mean
  901.    of each cluster as a center. 
  902.  
  903. Various heuristic methods are also available for choosing the RBF widths.
  904. Once the centers and widths are fixed, the output weights can be learned
  905. very efficiently, since the computation reduces to a linear or generalized
  906. linear model. The hybrid training approach can thus be much faster than the
  907. nonlinear optimization that would be required for supervised training of all
  908. of the weights in the network. 
  909.  
  910. Hybrid training is not often applied to MLPs because no effective methods
  911. are known for unsupervised training of the hidden units (except when there
  912. is only one input). 
  913.  
  914. Hybrid training will usually require more hidden units than supervised
  915. training. Since supervised training optimizes the locations of the centers,
  916. while hybrid training does not, supervised training will provide a better
  917. approximation to the function to be learned for a given number of hidden
  918. units. Thus, the better fit provided by supervised training will often let
  919. you use fewer hidden units for a given accuracy of approximation than you
  920. would need with hybrid training. And if the hidden-to-output weights are
  921. learned by linear least-squares, the fact that hybrid training requires more
  922. hidden units implies that hybrid training will also require more training
  923. cases for the same accuracy of generalization (Tarassenko and Roberts 1994).
  924.  
  925. The number of hidden units required by hybrid methods becomes an
  926. increasingly serious problem as the number of inputs increases. In fact, the
  927. required number of hidden units tends to increase exponentially with the
  928. number of inputs. This drawback of hybrid methods is discussed by Minsky and
  929. Papert (1969). For example, with method (1) for RBF networks, you would need
  930. at least five elements in the grid along each dimension to detect a moderate
  931. degree of nonlinearity; so if you have Nx inputs, you would need at least 
  932. 5^Nx hidden units. For methods (2) and (3), the number of hidden units
  933. increases exponentially with the effective dimensionality of the input
  934. distribution. If the inputs are linearly related, the effective
  935. dimensionality is the number of nonnegligible (a deliberately vague term)
  936. eigenvalues of the covariance matrix, so the inputs must be highly
  937. correlated if the effective dimensionality is to be much less than the
  938. number of inputs. 
  939.  
  940. The exponential increase in the number of hidden units required for hybrid
  941. learning is one aspect of the curse of dimensionality. The number of
  942. training cases required also increases exponentially in general. No neural
  943. network architecture--in fact no method of learning or statistical
  944. estimation--can escape the curse of dimensionality in general, hence there
  945. is no practical method of learning general functions in more than a few
  946. dimensions. 
  947.  
  948. Fortunately, in many practical applications of neural networks with a large
  949. number of inputs, most of those inputs are additive, redundant, or
  950. irrelevant, and some architectures can take advantage of these properties to
  951. yield useful results. But escape from the curse of dimensionality requires
  952. fully supervised training as well as special types of data. Supervised
  953. training for RBF networks can be done by "backprop" (see "What is
  954. backprop?") or other optimization methods (see "What are conjugate
  955. gradients, Levenberg-Marquardt, etc.?"), or by subset regression "What are
  956. OLS and subset regression?"). 
  957.  
  958. Additive inputs
  959. +++++++++++++++
  960.  
  961. An additive model is one in which the output is a sum of linear or nonlinear
  962. transformations of the inputs. If an additive model is appropriate, the
  963. number of weights increases linearly with the number of inputs, so high
  964. dimensionality is not a curse. Various methods of training additive models
  965. are available in the statistical literature (e.g. Hastie and Tibshirani
  966. 1990). You can also create a feedforward neural network, called a 
  967. generalized additive network (GAN), to fit additive models (Sarle 1994).
  968. Additive models have been proposed in the neural net literature under the
  969. name "topologically distributed encoding" (Geiger 1990). 
  970.  
  971. Projection pursuit regression (PPR) provides both universal approximation
  972. and the ability to avoid the curse of dimensionality for certain common
  973. types of target functions (Friedman and Stuetzle 1981). Like MLPs, PPR
  974. computes the output as a sum of nonlinear transformations of linear
  975. combinations of the inputs. Each term in the sum is analogous to a hidden
  976. unit in an MLP. But unlike MLPs, PPR allows general, smooth nonlinear
  977. transformations rather than a specific nonlinear activation function, and
  978. allows a different transformation for each term. The nonlinear
  979. transformations in PPR are usually estimated by nonparametric regression,
  980. but you can set up a projection pursuit network (PPN), in which each
  981. nonlinear transformation is performed by a subnetwork. If a PPN provides an
  982. adequate fit with few terms, then the curse of dimensionality can be
  983. avoided, and the results may even be interpretable. 
  984.  
  985. If the target function can be accurately approximated by projection pursuit,
  986. then it can also be accurately approximated by an MLP with a single hidden
  987. layer. The disadvantage of the MLP is that there is little hope of
  988. interpretability. An MLP with two or more hidden layers can provide a
  989. parsimonious fit to a wider variety of target functions than can projection
  990. pursuit, but no simple characterization of these functions is known. 
  991.  
  992. Redundant inputs
  993. ++++++++++++++++
  994.  
  995. With proper training, all of the RBF architectures listed above, as well as
  996. MLPs, can process redundant inputs effectively. When there are redundant
  997. inputs, the training cases lie close to some (possibly nonlinear) subspace.
  998. If the same degree of redundancy applies to the test cases, the network need
  999. produce accurate outputs only near the subspace occupied by the data. Adding
  1000. redundant inputs has little effect on the effective dimensionality of the
  1001. data; hence the curse of dimensionality does not apply, and even hybrid
  1002. methods (2) and (3) can be used. However, if the test cases do not follow
  1003. the same pattern of redundancy as the training cases, generalization will
  1004. require extrapolation and will rarely work well. 
  1005.  
  1006. Irrelevant inputs
  1007. +++++++++++++++++
  1008.  
  1009. MLP architectures are good at ignoring irrelevant inputs. MLPs can also
  1010. select linear subspaces of reduced dimensionality. Since the first hidden
  1011. layer forms linear combinations of the inputs, it confines the networks
  1012. attention to the linear subspace spanned by the weight vectors. Hence,
  1013. adding irrelevant inputs to the training data does not increase the number
  1014. of hidden units required, although it increases the amount of training data
  1015. required. 
  1016.  
  1017. ORBF architectures are not good at ignoring irrelevant inputs. The number of
  1018. hidden units required grows exponentially with the number of inputs,
  1019. regardless of how many inputs are relevant. This exponential growth is
  1020. related to the fact that RBFs and ERBFs have local receptive fields, meaning
  1021. that changing the hidden-to-output weights of a given unit will affect the
  1022. output of the network only in a neighborhood of the center of the hidden
  1023. unit, where the size of the neighborhood is determined by the width of the
  1024. hidden unit. (Of course, if the width of the unit is learned, the receptive
  1025. field could grow to cover the entire training set.) 
  1026.  
  1027. Local receptive fields are often an advantage compared to the distributed
  1028. architecture of MLPs, since local units can adapt to local patterns in the
  1029. data without having unwanted side effects in other regions. In a distributed
  1030. architecture such as an MLP, adapting the network to fit a local pattern in
  1031. the data can cause spurious side effects in other parts of the input space. 
  1032.  
  1033. However, ORBF architectures often must be used with relatively small
  1034. neighborhoods, so that several hidden units are required to cover the range
  1035. of an input. When there are many nonredundant inputs, the hidden units must
  1036. cover the entire input space, and the number of units required is
  1037. essentially the same as in the hybrid case (1) where the centers are in a
  1038. regular grid; hence the exponential growth in the number of hidden units
  1039. with the number of inputs, regardless of whether the inputs are relevant. 
  1040.  
  1041. You can enable an ORBF architecture to ignore irrelevant inputs by using an
  1042. extra, linear hidden layer before the radial hidden layer. This type of
  1043. network is sometimes called an elliptical basis function network. If the
  1044. number of units in the linear hidden layer equals the number of inputs, the
  1045. linear hidden layer performs an oblique rotation of the input space that can
  1046. suppress irrelevant directions and differentally weight relevant directions
  1047. according to their importance. If you think that the presence of irrelevant
  1048. inputs is highly likely, you can force a reduction of dimensionality by
  1049. using fewer units in the linear hidden layer than the number of inputs. 
  1050.  
  1051. Note that the linear and radial hidden layers must be connected in series,
  1052. not in parallel, to ignore irrelevant inputs. In some applications it is
  1053. useful to have linear and radial hidden layers connected in parallel, but in
  1054. such cases the radial hidden layer will be sensitive to all inputs. 
  1055.  
  1056. For even greater flexibility (at the cost of more weights to be learned),
  1057. you can have a separate linear hidden layer for each RBF unit, allowing a
  1058. different oblique rotation for each RBF unit. 
  1059.  
  1060. NRBF architectures with equal widths (NRBFEW and NRBFEQ) combine the
  1061. advantage of local receptive fields with the ability to ignore irrelevant
  1062. inputs. The receptive field of one hidden unit extends from the center in
  1063. all directions until it encounters the receptive field of another hidden
  1064. unit. It is convenient to think of a "boundary" between the two receptive
  1065. fields, defined as the hyperplane where the two units have equal
  1066. activations, even though the effect of each unit will extend somewhat beyond
  1067. the boundary. The location of the boundary depends on the heights of the
  1068. hidden units. If the two units have equal heights, the boundary lies midway
  1069. between the two centers. If the units have unequal heights, the boundary is
  1070. farther from the higher unit. 
  1071.  
  1072. If a hidden unit is surrounded by other hidden units, its receptive field is
  1073. indeed local, curtailed by the field boundaries with other units. But if a
  1074. hidden unit is not completely surrounded, its receptive field can extend
  1075. infinitely in certain directions. If there are irrelevant inputs, or more
  1076. generally, irrelevant directions that are linear combinations of the inputs,
  1077. the centers need only be distributed in a subspace orthogonal to the
  1078. irrelevant directions. In this case, the hidden units can have local
  1079. receptive fields in relevant directions but infinite receptive fields in
  1080. irrelevant directions. 
  1081.  
  1082. For NRBF architectures allowing unequal widths (NRBFUN, NRBFEV, and NRBFEH),
  1083. the boundaries between receptive fields are generally hyperspheres rather
  1084. than hyperplanes. In order to ignore irrelevant inputs, such networks must
  1085. be trained to have equal widths. Hence, if you think there is a strong
  1086. possibility that some of the inputs are irrelevant, it is usually better to
  1087. use an architecture with equal widths. 
  1088.  
  1089. References:
  1090. There are few good references on RBF networks. Bishop (1995) gives one of
  1091. the better surveys, but also see Tao (1993) for the importance of
  1092. normalization. 
  1093.  
  1094.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  1095.    Oxford University Press. 
  1096.  
  1097.    Friedman, J.H. and Stuetzle, W. (1981), "Projection pursuit regression,"
  1098.    J. of the American Statistical Association, 76, 817-823. 
  1099.  
  1100.    Geiger, H. (1990), "Storing and Processing Information in Connectionist
  1101.    Systems," in Eckmiller, R., ed., Advanced Neural Computers, 271-277,
  1102.    Amsterdam: North-Holland. 
  1103.  
  1104.    Green, P.J. and Silverman, B.W. (1994), Nonparametric Regression and
  1105.    Generalized Linear Models: A roughness penalty approach,, London:
  1106.    Chapman & Hall. 
  1107.  
  1108.    Hastie, T.J. and Tibshirani, R.J. (1990) Generalized Additive Models,
  1109.    London: Chapman & Hall. 
  1110.  
  1111.    Hecht-Nielsen, R. (1990), Neurocomputing, Reading, MA: Addison-Wesley. 
  1112.  
  1113.    Kohonen, T (1988), "Learning Vector Quantization," Neural Networks, 1
  1114.    (suppl 1), 303. 
  1115.  
  1116.    Minsky, M.L. and Papert, S.A. (1969), Perceptrons, Cambridge, MA: MIT
  1117.    Press. 
  1118.  
  1119.    Ripley, B.D. (1996), Pattern Recognition and Neural Networks,
  1120.    Cambridge: Cambridge University Press. 
  1121.  
  1122.    Sarle, W.S. (1994), "Neural Networks and Statistical Models," in SAS
  1123.    Institute Inc., Proceedings of the Nineteenth Annual SAS Users Group
  1124.    International Conference, Cary, NC: SAS Institute Inc., pp 1538-1550, 
  1125.    ftp://ftp.sas.com/pub/neural/neural1.ps. 
  1126.  
  1127.    Tao, K.M. (1993), "A closer look at the radial basis function (RBF)
  1128.    networks," Conference Record of The Twenty-Seventh Asilomar
  1129.    Conference on Signals, Systems and Computers (Singh, A., ed.), vol 1,
  1130.    401-405, Los Alamitos, CA: IEEE Comput. Soc. Press. 
  1131.  
  1132.    Tarassenko, L. and Roberts, S. (1994), "Supervised and unsupervised
  1133.    learning in radial basis function classifiers," IEE Proceedings-- Vis.
  1134.    Image Signal Processing, 141, 210-216. 
  1135.  
  1136.    Werntges, H.W. (1993), "Partitions of unity improve neural function
  1137.    approximation," Proceedings of the IEEE International Conference on
  1138.    Neural Networks, San Francisco, CA, vol 2, 914-918. 
  1139.  
  1140. ------------------------------------------------------------------------
  1141.  
  1142. Subject: What are OLS and subset regression? 
  1143. =============================================
  1144.  
  1145. If you are statistician, "OLS" means "ordinary least squares" (as opposed to
  1146. weighted or generalized least squares), which is what the NN literature
  1147. often calls "LMS" (least mean squares). 
  1148.  
  1149. If you are a neural networker, "OLS" means "orthogonal least squares", which
  1150. is an algorithm for forward stepwise regression proposed by Chen et al.
  1151. (1991) for training RBF networks. 
  1152.  
  1153. OLS is a variety of supervised training. But whereas backprop and other
  1154. commonly-used supervised methods are forms of continuous optimization, OLS
  1155. is a form of combinatorial optimization. Rather than treating the RBF
  1156. centers as continuous values to be adjusted to reduce the training error,
  1157. OLS starts with a large set of candidate centers and selects a subset that
  1158. usually provides good training error. For small training sets, the
  1159. candidates can include all of the training cases. For large training sets,
  1160. it is more efficient to use a random subset of the training cases or to do a
  1161. cluster analysis and use the cluster means as candidates. 
  1162.  
  1163. Each center corresponds to a predictor variable in a linear regression
  1164. model. The values of these predictor variables are computed from the RBF
  1165. applied to each center. There are numerous methods for selecting a subset of
  1166. predictor variables in regression (Myers 1986; Miller 1990). The ones most
  1167. often used are: 
  1168.  
  1169.  o Forward selection begins with no centers in the network. At each step the
  1170.    center is added that most decreases the error function. 
  1171.  o Backward elimination begins with all candidate centers in the network. At
  1172.    each step the center is removed that least increases the error function. 
  1173.  o Stepwise selection begins like forward selection with no centers in the
  1174.    network. At each step, a center is added or removed. If there are any
  1175.    centers in the network, the one that contributes least to reducing the
  1176.    error criterion is subjected to a statistical test (usually based on the
  1177.    F statistic) to see if it is worth retaining in the network; if the
  1178.    center fails the test, it is removed. If no centers are removed, then the
  1179.    centers that are not currently in the network are examined; the one that
  1180.    would contribute most to reducing the error criterion is subjected to a
  1181.    statistical test to see if it is worth adding to the network; if the
  1182.    center passes the test, it is added. When all centers in the network pass
  1183.    the test for staying in the network, and all other centers fail the test
  1184.    for being added to the network, the stepwise method terminates. 
  1185.  o Leaps and bounds (Furnival and Wilson 1974) is an algorithm for
  1186.    determining the subset of centers that minimizes the error function; this
  1187.    optimal subset can be found without examining all possible subsets, but
  1188.    the algorithm is practical only up to 30 to 50 candidate centers. 
  1189.  
  1190. OLS is a particular algorithm for forward selection using modified
  1191. Gram-Schmidt (MGS) orthogonalization. While MGS is not a bad algorithm, it
  1192. is not the best algorithm for linear least-squares (Lawson and Hanson 1974).
  1193. For ill-conditioned data, Householder and Givens methods are generally
  1194. preferred, while for large, well-conditioned data sets, methods based on the
  1195. normal equations require about one-third as many floating point operations
  1196. and much less disk I/O than OLS. Normal equation methods based on sweeping
  1197. (Goodnight 1979) or Gaussian elimination (Furnival and Wilson 1974) are
  1198. especially simple to program. 
  1199.  
  1200. While the theory of linear models is the most thoroughly developed area of
  1201. statistical inference, subset selection invalidates most of the standard
  1202. theory (Miller 1990; Roecker 1991; Derksen and Keselman 1992; Freedman, Pee,
  1203. and Midthune 1992). 
  1204.  
  1205. Subset selection methods usually do not generalize as well as regularization
  1206. methods in linear models (Frank and Friedman 1993). Orr (1995) has proposed
  1207. combining regularization with subset selection for RBF training (see also
  1208. Orr 1996). 
  1209.  
  1210. References: 
  1211.  
  1212.    Chen, S., Cowan, C.F.N., and Grant, P.M. (1991), "Orthogonal least
  1213.    squares learning for radial basis function networks," IEEE Transactions
  1214.    on Neural Networks, 2, 302-309. 
  1215.  
  1216.    Derksen, S. and Keselman, H. J. (1992) "Backward, forward and stepwise
  1217.    automated subset selection algorithms: Frequency of obtaining authentic
  1218.    and noise variables," British Journal of Mathematical and Statistical
  1219.    Psychology, 45, 265-282, 
  1220.  
  1221.    Frank, I.E. and Friedman, J.H. (1993) "A statistical view of some
  1222.    chemometrics regression tools," Technometrics, 35, 109-148. 
  1223.  
  1224.    Freedman, L.S. , Pee, D. and Midthune, D.N. (1992) "The problem of
  1225.    underestimating the residual error variance in forward stepwise
  1226.    regression", The Statistician, 41, 405-412. 
  1227.  
  1228.    Furnival, G.M. and Wilson, R.W. (1974), "Regression by Leaps and Bounds,"
  1229.    Technometrics, 16, 499-511. 
  1230.  
  1231.    Goodnight, J.H. (1979), "A Tutorial on the SWEEP Operator," The American
  1232.    Statistician, 33, 149-158. 
  1233.  
  1234.    Lawson, C. L. and Hanson, R. J. (1974), Solving Least Squares Problems,
  1235.    Englewood Cliffs, NJ: Prentice-Hall, Inc. (2nd edition: 1995,
  1236.    Philadelphia: SIAM) 
  1237.  
  1238.    Miller, A.J. (1990), Subset Selection in Regression, Chapman & Hall. 
  1239.  
  1240.    Myers, R.H. (1986), Classical and Modern Regression with Applications,
  1241.    Boston: Duxbury Press. 
  1242.  
  1243.    Orr, M.J.L. (1995), "Regularisation in the selection of radial basis
  1244.    function centres," Neural Computation, 7, 606-623. 
  1245.  
  1246.    Orr, M.J.L. (1996), "Introduction to radial basis function networks,"
  1247.    http://www.cns.ed.ac.uk/people/mark/intro.ps or
  1248.    http://www.cns.ed.ac.uk/people/mark/intro/intro.html . 
  1249.  
  1250.    Roecker, E.B. (1991) "Prediction error and its estimation for
  1251.    subset-selected models," Technometrics, 33, 459-468. 
  1252.  
  1253. ------------------------------------------------------------------------
  1254.  
  1255. Subject: Should I normalize/standardize/rescale the
  1256. ===================================================
  1257. data? 
  1258. ======
  1259.  
  1260. First, some definitions. "Rescaling" a vector means to add or subtract a
  1261. constant and then multiply or divide by a constant, as you would do to
  1262. change the units of measurement of the data, for example, to convert a
  1263. temperature from Celsius to Fahrenheit. 
  1264.  
  1265. "Normalizing" a vector most often means dividing by a norm of the vector,
  1266. for example, to make the Euclidean length of the vector equal to one. In the
  1267. NN literature, "normalizing" also often refers to rescaling by the minimum
  1268. and range of the vector, to make all the elements lie between 0 and 1. 
  1269.  
  1270. "Standardizing" a vector most often means subtracting a measure of location
  1271. and dividing by a measure of scale. For example, if the vector contains
  1272. random values with a Gaussian distribution, you might subtract the mean and
  1273. divide by the standard deviation, thereby obtaining a "standard normal"
  1274. random variable with mean 0 and standard deviation 1. 
  1275.  
  1276. However, all of the above terms are used more or less interchangeably
  1277. depending on the customs within various fields. Since the FAQ maintainer is
  1278. a statistician, he is going to use the term "standardize" because that is
  1279. what he is accustomed to. 
  1280.  
  1281. Now the question is, should you do any of these things to your data? The
  1282. answer is, it depends. 
  1283.  
  1284. There is a common misconception that the inputs to a multilayer perceptron
  1285. must be in the interval [0,1]. There is in fact no such requirement,
  1286. although there often are benefits to standardizing the inputs as discussed
  1287. below. 
  1288.  
  1289. If your output activation function has a range of [0,1], then obviously you
  1290. must ensure that the target values lie within that range. But it is
  1291. generally better to choose an output activation function suited to the
  1292. distribution of the targets than to force your data to conform to the output
  1293. activation function. See "Why use activation functions?" 
  1294.  
  1295. When using an output activation with a range of [0,1], some people prefer to
  1296. rescale the targets to a range of [.1,.9]. I suspect that the popularity of
  1297. this gimmick is due to the slowness of standard backprop. But using a target
  1298. range of [.1,.9] for a classification task gives you incorrect posterior
  1299. probability estimates, and it is quite unnecessary if you use an efficient
  1300. training algorithm (see "What are conjugate gradients, Levenberg-Marquardt,
  1301. etc.?") 
  1302.  
  1303. Now for some of the gory details: note that the training data form a matrix.
  1304. Let's set up this matrix so that each case forms a row, and the inputs and
  1305. target variables form columns. You could conceivably standardize the rows or
  1306. the columns or both or various other things, and these different ways of
  1307. choosing vectors to standardize will have quite different effects on
  1308. training. 
  1309.  
  1310. Standardizing either input or target variables tends to make the training
  1311. process better behaved by improving the numerical condition of the
  1312. optimization problem and ensuring that various default values involved in
  1313. initialization and termination are appropriate. Standardizing targets can
  1314. also affect the objective function. 
  1315.  
  1316. Standardization of cases should be approached with caution because it
  1317. discards information. If that information is irrelevant, then standardizing
  1318. cases can be quite helpful. If that information is important, then
  1319. standardizing cases can be disastrous. 
  1320.  
  1321. Subquestion: Should I standardize the input variables (column
  1322. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1323. vectors)?
  1324. +++++++++
  1325.  
  1326. That depends primarily on how the network combines input variables to
  1327. compute the net input to the next (hidden or output) layer. If the input
  1328. variables are combined via a distance function (such as Euclidean distance)
  1329. in an RBF network, standardizing inputs can be crucial. The contribution of
  1330. an input will depend heavily on its variability relative to other inputs. If
  1331. one input has a range of 0 to 1, while another input has a range of 0 to
  1332. 1,000,000, then the contribution of the first input to the distance will be
  1333. swamped by the second input. So it is essential to rescale the inputs so
  1334. that their variability reflects their importance, or at least is not in
  1335. inverse relation to their importance. For lack of better prior information,
  1336. it is common to standardize each input to the same range or the same
  1337. standard deviation. If you know that some inputs are more important than
  1338. others, it may help to scale the inputs such that the more important ones
  1339. have larger variances and/or ranges. 
  1340.  
  1341. If the input variables are combined linearly, as in an MLP, then it is
  1342. rarely strictly necessary to standardize the inputs, at least in theory. The
  1343. reason is that any rescaling of an input vector can be effectively undone by
  1344. changing the corresponding weights and biases, leaving you with the exact
  1345. same outputs as you had before. However, there are a variety of practical
  1346. reasons why standardizing the inputs can make training faster and reduce the
  1347. chances of getting stuck in local optima. 
  1348.  
  1349. The main emphasis in the NN literature on initial values has been on the
  1350. avoidance of saturation, hence the desire to use small random values. How
  1351. small these random values should be depends on the scale of the inputs as
  1352. well as the number of inputs and their correlations. Standardizing inputs
  1353. removes the problem of scale dependence of the initial weights. 
  1354.  
  1355. But standardizing input variables can have far more important effects on
  1356. initialization of the weights than simply avoiding saturation. Assume we
  1357. have an MLP with one hidden layer applied to a classification problem and
  1358. are therefore interested in the hyperplanes defined by each hidden unit.
  1359. Each hyperplane is the locus of points where the net-input to the hidden
  1360. unit is zero and is thus the classification boundary generated by that
  1361. hidden unit considered in isolation. The connection weights from the inputs
  1362. to a hidden unit determine the orientation of the hyperplane. The bias
  1363. determines the distance of the hyperplane from the origin. If the bias terms
  1364. are all small random numbers, then all the hyperplanes will pass close to
  1365. the origin. Hence, if the data are not centered at the origin, the
  1366. hyperplane may fail to pass through the data cloud. If all the inputs have a
  1367. small coefficient of variation, it is quite possible that all the initial
  1368. hyperplanes will miss the data entirely. With such a poor initialization,
  1369. local minima are very likely to occur. It is therefore important to center
  1370. the inputs to get good random initializations. 
  1371.  
  1372. Standardizing input variables also has different effects on different
  1373. training algorithms for MLPs. For example: 
  1374.  
  1375.  o Steepest descent is very sensitive to scaling. The more ill-conditioned
  1376.    the Hessian is, the slower the convergence. Hence, scaling is an
  1377.    important consideration for gradient descent methods such as standard
  1378.    backprop. 
  1379.  o Quasi-Newton and conjugate gradient methods begin with a steepest descent
  1380.    step and therefore are scale sensitive. However, they accumulate
  1381.    second-order information as training proceeds and hence are less scale
  1382.    sensitive than pure gradient descent. 
  1383.  o Newton-Raphson and Gauss-Newton, if implemented correctly, are
  1384.    theoretically invariant under scale changes as long as none of the
  1385.    scaling is so extreme as to produce underflow or overflow. 
  1386.  o Levenberg-Marquardt is scale invariant as long as no ridging is required.
  1387.    There are several different ways to implement ridging; some are scale
  1388.    invariant and some are not. Performance under bad scaling will depend on
  1389.    details of the implementation. 
  1390.  
  1391. Subquestion: Should I standardize the target variables (column
  1392. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1393. vectors)?
  1394. +++++++++
  1395.  
  1396. Standardizing target variables is typically more a convenience for getting
  1397. good initial weights than a necessity. However, if you have two or more
  1398. target variables and your error function is scale-sensitive like the usual
  1399. least (mean) squares error function, then the variability of each target
  1400. relative to the others can effect how well the net learns that target. If
  1401. one target has a range of 0 to 1, while another target has a range of 0 to
  1402. 1,000,000, the net will expend most of its effort learning the second target
  1403. to the possible exclusion of the first. So it is essential to rescale the
  1404. targets so that their variability reflects their importance, or at least is
  1405. not in inverse relation to their importance. If the targets are of equal
  1406. importance, they should typically be standardized to the same range or the
  1407. same standard deviation. 
  1408.  
  1409. The scaling of the targets does not affect their importance in training if
  1410. you use maximum likelihood estimation and estimate a separate scale
  1411. parameter (such as a standard deviation) for each target variable. In this
  1412. case, the importance of each target is inversely related to its estimated
  1413. scale parameter. In other words, noisier targets will be given less
  1414. importance. 
  1415.  
  1416. Subquestion: Should I standardize the input cases (row vectors)?
  1417. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1418.  
  1419. Whereas standardizing variables is usually beneficial, the effect of
  1420. standardizing cases (row vectors) depends on the particular data. Cases are
  1421. typically standardized only across the input variables, since including the
  1422. target variable(s) in the standardization would make prediction impossible. 
  1423.  
  1424. There are some kinds of networks, such as simple Kohonen nets, where it is
  1425. necessary to standardize the input cases to a common Euclidean length; this
  1426. is a side effect of the use of the inner product as a similarity measure. If
  1427. the network is modified to operate on Euclidean distances instead of inner
  1428. products, it is no longer necessary to standardize the input cases. 
  1429.  
  1430. Standardization of cases should be approached with caution because it
  1431. discards information. If that information is irrelevant, then standardizing
  1432. cases can be quite helpful. If that information is important, then
  1433. standardizing cases can be disastrous. Issues regarding the standardization
  1434. of cases must be carefully evaluated in every application. There are no
  1435. rules of thumb that apply to all applications. 
  1436.  
  1437. You may want to standardize each case if there is extraneous variability
  1438. between cases. Consider the common situation in which each input variable
  1439. represents a pixel in an image. If the images vary in exposure, and exposure
  1440. is irrelevant to the target values, then it would usually help to subtract
  1441. the mean of each case to equate the exposures of different cases. If the
  1442. images vary in contrast, and contrast is irrelevant to the target values,
  1443. then it would usually help to divide each case by its standard deviation to
  1444. equate the contrasts of different cases. Given sufficient data, a NN could
  1445. learn to ignore exposure and contrast. However, training will be easier and
  1446. generalization better if you can remove the extraneous exposure and contrast
  1447. information before training the network. 
  1448.  
  1449. As another example, suppose you want to classify plant specimens according
  1450. to species but the specimens are at different stages of growth. You have
  1451. measurements such as stem length, leaf length, and leaf width. However, the
  1452. over-all size of the specimen is determined by age or growing conditions,
  1453. not by species. Given sufficient data, a NN could learn to ignore the size
  1454. of the specimens and classify them by shape instead. However, training will
  1455. be easier and generalization better if you can remove the extraneous size
  1456. information before training the network. Size in the plant example
  1457. corresponds to exposure in the image example. 
  1458.  
  1459. If the input data are measured on an interval scale, you can control for
  1460. size by subtracting a measure of the over-all size of each case from each
  1461. datum. For example, if no other direct measure of size is available, you
  1462. could subtract the mean of each row of the input matrix, producing a
  1463. row-centered input matrix. 
  1464.  
  1465. If the data are measured on a ratio scale, you can control for size by
  1466. dividing each datum by a measure of over-all size. It is common to divide by
  1467. the sum or by the arithmetic mean. For positive ratio data, however, the
  1468. geometric mean is often a more natural measure of size than the arithmetic
  1469. mean. It may also be more meaningful to analyze the logarithms of positive
  1470. ratio-scaled data, in which case you can subtract the arithmetic mean after
  1471. taking logarithms. You must also consider the dimensions of measurement. For
  1472. example, if you have measures of both length and weight, you may need to
  1473. cube the measures of length or take the cube root of the weights. 
  1474.  
  1475. In NN aplications with ratio-level data, it is common to divide by the
  1476. Euclidean length of each row. If the data are positive, dividing by the
  1477. Euclidean length has properties similar to dividing by the sum or arithmetic
  1478. mean, since the former projects the data points onto the surface of a
  1479. hypersphere while the latter projects the points onto a hyperplane. If the
  1480. dimensionality is not too high, the resulting configurations of points on
  1481. the hypersphere and hyperplane are usually quite similar. If the data
  1482. contain negative values, then the hypersphere and hyperplane can diverge
  1483. widely. 
  1484.  
  1485. ------------------------------------------------------------------------
  1486.  
  1487. Subject: Should I nonlinearly transform the data? 
  1488. ==================================================
  1489.  
  1490. Most importantly, nonlinear transformations of the targets are important
  1491. with noisy data, via their effect on the error function. Many commonly used
  1492. error functions are functions solely of the difference abs(target-output).
  1493. Nonlinear transformations (unlike linear transformations) change the
  1494. relative sizes of these differences. With most error functions, the net will
  1495. expend more effort, so to speak, trying to learn target values for which
  1496. abs(target-output) is large. 
  1497.  
  1498. For example, suppose you are trying to predict the price of a stock. If the
  1499. price of the stock is 10 (in whatever currency unit) and the output of the
  1500. net is 5 or 15, yielding a difference of 5, that is a huge error. If the
  1501. price of the stock is 1000 and the output of the net is 995 or 1005,
  1502. yielding the same difference of 5, that is a tiny error. You don't want the
  1503. net to treat those two differences as equally important. By taking
  1504. logarithms, you are effectively measuring errors in terms of ratios rather
  1505. than differences, since a difference between two logs corresponds to the
  1506. ratio of the original values. This has approximately the same effect as
  1507. looking at percentage differences, abs(target-output)/target or
  1508. abs(target-output)/output, rather than simple differences. 
  1509.  
  1510. Less importantly, smooth functions are usually easier to learn than rough
  1511. functions. Generalization is also usually better for smooth functions. So
  1512. nonlinear transformations (of either inputs or targets) that make the
  1513. input-output function smoother are usually beneficial. For classification
  1514. problems, you want the class boundaries to be smooth. When there are only a
  1515. few inputs, it is often possible to transform the data to a linear
  1516. relationship, in which case you can use a linear model instead of a more
  1517. complex neural net, and many things (such as estimating generalization error
  1518. and error bars) will become much simpler. A variety of NN architectures (RBF
  1519. networks, B-spline networks, etc.) amount to using many nonlinear
  1520. transformations, possibly involving multiple variables simultaneously, to
  1521. try to make the input-output function approximately linear (Ripley 1996,
  1522. chapter 4). There are particular applications, such as signal and image
  1523. processing, in which very elaborate transformations are useful (Masters
  1524. 1994). 
  1525.  
  1526. It is usually advisable to choose an error function appropriate for the
  1527. distribution of noise in your target variables (McCullagh and Nelder 1989).
  1528. But if your software does not provide a sufficient variety of error
  1529. functions, then you may need to transform the target so that the noise
  1530. distribution conforms to whatever error function you are using. For example,
  1531. if you have to use least-(mean-)squares training, you will get the best
  1532. results if the noise distribution is approximately Gaussian with constant
  1533. variance, since least-(mean-)squares is maximum likelihood in that case.
  1534. Heavy-tailed distributions (those in which extreme values occur more often
  1535. than in a Gaussian distribution, often as indicated by high kurtosis) are
  1536. especially of concern, due to the loss of statistical efficiency of
  1537. least-(mean-)square estimates (Huber 1981). Note that what is important is
  1538. the distribution of the noise, not the distribution of the target values. 
  1539.  
  1540. The distribution of inputs may suggest transformations, but this is by far
  1541. the least important consideration among those listed here. If an input is
  1542. strongly skewed, a logarithmic, square root, or other power (between -1 and
  1543. 1) transformation may be with trying. If an input has high kurtosis but low
  1544. skewness, a tanh transform can reduce the influence of extreme values: 
  1545.  
  1546.            input - mean
  1547.    tanh( c ------------ )
  1548.            stand. dev.
  1549.  
  1550. where c is a constant that controls how far the extreme values are brought
  1551. in towards the mean. 
  1552.  
  1553. References: 
  1554.  
  1555.    Atkinson, A.C. (1985) Plots, Transformations and Regression, Oxford:
  1556.    Clarendon Press. 
  1557.  
  1558.    Carrol, R.J. and Ruppert, D. (1988) Transformation and Weighting in
  1559.    Regression, London: Chapman and Hall. 
  1560.  
  1561.    Huber, P.J. (1981), Robust Statistics, NY: Wiley. 
  1562.  
  1563.    McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2nd
  1564.    ed., London: Chapman and Hall. 
  1565.  
  1566.    Masters, T. (1994), Signal and Image Processing with Neural Networks: A
  1567.    C++ Sourcebook, NY: Wiley.
  1568.  
  1569.    Ripley, B.D. (1996), Pattern Recognition and Neural Networks,
  1570.    Cambridge: Cambridge University Press. 
  1571.  
  1572. ------------------------------------------------------------------------
  1573.  
  1574. Subject: What is ART?
  1575. =====================
  1576.  
  1577. ART stands for "Adaptive Resonance Theory", invented by Stephen Grossberg in
  1578. 1976. ART encompasses a wide variety of neural networks based explicitly on
  1579. neurophysiology. ART networks are defined algorithmically in terms of
  1580. detailed differential equations intended as plausible models of biological
  1581. neurons. In practice, ART networks are implemented using analytical
  1582. solutions or approximations to these differential equations. 
  1583.  
  1584. ART comes in several flavors, both supervised and unsupervised. As discussed
  1585. by Moore (1988), the unsupervised ARTs are basically similar to many
  1586. iterative clustering algorithms in which each case is processed by: 
  1587.  
  1588. 1. finding the "nearest" cluster seed (AKA prototype or template) to that
  1589.    case 
  1590. 2. updating that cluster seed to be "closer" to the case 
  1591.  
  1592. where "nearest" and "closer" can be defined in hundreds of different ways.
  1593. In ART, the framework is modified slightly by introducing the concept of
  1594. "resonance" so that each case is processed by: 
  1595.  
  1596. 1. finding the "nearest" cluster seed that "resonates" with the case 
  1597. 2. updating that cluster seed to be "closer" to the case 
  1598.  
  1599. "Resonance" is just a matter of being within a certain threshold of a second
  1600. similarity measure. A crucial feature of ART is that if no seed resonates
  1601. with the case, a new cluster is created as in Hartigan's (1975) leader
  1602. algorithm. This feature is said to solve the stability/plasticity dilemma. 
  1603.  
  1604. ART has its own jargon. For example, data are called an arbitrary sequence
  1605. of input patterns. The current training case is stored in short term memory
  1606. and cluster seeds are long term memory. A cluster is a maximally compressed
  1607. pattern recognition code. The two stages of finding the nearest seed to the
  1608. input are performed by an Attentional Subsystem and an Orienting Subsystem,
  1609. the latter of which performs hypothesis testing, which simply refers to the
  1610. comparison with the vigilance threshhold, not to hypothesis testing in the
  1611. statistical sense. Stable learning means that the algorithm converges. So
  1612. the oft-repeated claim that ART algorithms are "capable of rapid stable
  1613. learning of recognition codes in response to arbitrary sequences of input
  1614. patterns" merely means that ART algorithms are clustering algorithms that
  1615. converge; it does not mean, as one might naively assume, that the clusters
  1616. are insensitive to the sequence in which the training patterns are
  1617. presented--quite the opposite is true. 
  1618.  
  1619. There are various supervised ART algorithms that are named with the suffix
  1620. "MAP", as in Fuzzy ARTMAP. These algorithms cluster both the inputs and
  1621. targets and associate the two sets of clusters. The effect is somewhat
  1622. similar to counterpropagation. The main disadvantage of the ARTMAP
  1623. algorithms is that they have no mechanism to avoid overfitting and hence
  1624. should not be used with noisy data. 
  1625.  
  1626. For more information, see the ART FAQ at http://www.wi.leidenuniv.nl/art/
  1627. and the "ART Headquarters" at Boston University, http://cns-web.bu.edu/. For
  1628. a different view of ART, see Sarle, W.S. (1995), "Why Statisticians Should
  1629. Not FART," ftp://ftp.sas.com/pub/neural/fart.doc. 
  1630.  
  1631. References: 
  1632.  
  1633.    Carpenter, G.A., Grossberg, S. (1996), "Learning, Categorization, Rule
  1634.    Formation, and Prediction by Fuzzy Neural Networks," in Chen, C.H., ed.
  1635.    (1996) Fuzzy Logic and Neural Network Handbook, NY: McGraw-Hill, pp.
  1636.    1.3-1.45. 
  1637.  
  1638.    Hartigan, J.A. (1975), Clustering Algorithms, NY: Wiley. 
  1639.  
  1640.    Kasuba, T. (1993), "Simplified Fuzzy ARTMAP," AI Expert, 8, 18-25. 
  1641.  
  1642.    Moore, B. (1988), "ART 1 and Pattern Clustering," in Touretzky, D.,
  1643.    Hinton, G. and Sejnowski, T., eds., Proceedings of the 1988
  1644.    Connectionist Models Summer School, 174-185, San Mateo, CA: Morgan
  1645.    Kaufmann. 
  1646.  
  1647. ------------------------------------------------------------------------
  1648.  
  1649. Subject: What is PNN?
  1650. =====================
  1651.  
  1652. PNN or "Probabilistic Neural Network" is Donald Specht's term for kernel
  1653. discriminant analysis. You can think of it as a normalized RBF network in
  1654. which there is a hidden unit centered at every training case. These RBF
  1655. units are called "kernels" and are usually probability density functions
  1656. such as the Gaussian. The hidden-to-output weights are usually 1 or 0; for
  1657. each hidden unit, a weight of 1 is used for the connection going to the
  1658. output that the case belongs to, while all other connections are given
  1659. weights of 0. Alternatively, you can adjust these weights for the prior
  1660. probabilities of each class. So the only weights that need to be learned are
  1661. the widths of the RBF units. These widths (often a single width is used) are
  1662. called "smoothing parameters" or "bandwidths" and are usually chosen by
  1663. cross-validation or by more esoteric methods that are not well-known in the
  1664. neural net literature; gradient descent is not used. 
  1665.  
  1666. Specht's claim that a PNN trains 100,000 times faster than backprop is at
  1667. best misleading. While they are not iterative in the same sense as backprop,
  1668. kernel methods require that you estimate the kernel bandwidth, and this
  1669. requires accessing the data many times. Furthermore, computing a single
  1670. output value with kernel methods requires either accessing the entire
  1671. training data or clever programming, and either way is much slower than
  1672. computing an output with a feedforward net. And there are a variety of
  1673. methods for training feedforward nets that are much faster than standard
  1674. backprop. So depending on what you are doing and how you do it, PNN may be
  1675. either faster or slower than a feedforward net. 
  1676.  
  1677. PNN is a universal approximator for smooth class-conditional densities, so
  1678. it should be able to solve any smooth classification problem given enough
  1679. data. The main drawback of PNN is that, like kernel methods in general, it
  1680. suffers badly from the curse of dimensionality. PNN cannot ignore irrelevant
  1681. inputs without major modifications to the basic algorithm. So PNN is not
  1682. likely to be the top choice if you have more than 5 or 6 nonredundant
  1683. inputs. 
  1684.  
  1685. But if all your inputs are relevant, PNN has the very useful ability to tell
  1686. you whether a test case is similar (i.e. has a high density) to any of the
  1687. training data; if not, you are extrapolating and should view the output
  1688. classification with skepticism. This ability is of limited use when you have
  1689. irrelevant inputs, since the similarity is measured with respect to all of
  1690. the inputs, not just the relevant ones. 
  1691.  
  1692. References: 
  1693.  
  1694.    Hand, D.J. (1982) Kernel Discriminant Analysis, Research Studies Press. 
  1695.  
  1696.    McLachlan, G.J. (1992) Discriminant Analysis and Statistical Pattern
  1697.    Recognition, Wiley. 
  1698.  
  1699.    Masters, T. (1995) Advanced Algorithms for Neural Networks: A C++
  1700.    Sourcebook, NY: John Wiley and Sons, ISBN 0-471-10588-0 
  1701.  
  1702.    Michie, D., Spiegelhalter, D.J. and Taylor, C.C. (1994) Machine
  1703.    Learning, Neural and Statistical Classification, Ellis Horwood. 
  1704.  
  1705.    Scott, D.W. (1992) Multivariate Density Estimation, Wiley. 
  1706.  
  1707.    Specht, D.F. (1990) "Probabilistic neural networks," Neural Networks, 3,
  1708.    110-118. 
  1709.  
  1710. ------------------------------------------------------------------------
  1711.  
  1712. Subject: What is GRNN?
  1713. ======================
  1714.  
  1715. GRNN or "General Regression Neural Network" is Donald Specht's term for
  1716. Nadaraya-Watson kernel regression, also reinvented in the NN literature by
  1717. Schi\oler and Hartmann. You can think of it as a normalized RBF network in
  1718. which there is a hidden unit centered at every training case. These RBF
  1719. units are called "kernels" and are usually probability density functions
  1720. such as the Gaussian. The hidden-to-output weights are just the target
  1721. values, so the output is simply a weighted average of the target values of
  1722. training cases close to the given input case. The only weights that need to
  1723. be learned are the widths of the RBF units. These widths (often a single
  1724. width is used) are called "smoothing parameters" or "bandwidths" and are
  1725. usually chosen by cross-validation or by more esoteric methods that are not
  1726. well-known in the neural net literature; gradient descent is not used. 
  1727.  
  1728. GRN is a universal approximator for smooth functions, so it should be able
  1729. to solve any smooth function-approximation problem given enough data. The
  1730. main drawback of GRNN is that, like kernel methods in general, it suffers
  1731. badly from the curse of dimensionality. GRNN cannot ignore irrelevant inputs
  1732. without major modifications to the basic algorithm. So GRNN is not likely to
  1733. be the top choice if you have more than 5 or 6 nonredundant inputs. 
  1734.  
  1735. References: 
  1736.  
  1737.    Caudill, M. (1993), "GRNN and Bear It," AI Expert, Vol. 8, No. 5 (May),
  1738.    28-33. 
  1739.  
  1740.    Haerdle, W. (1990), Applied Nonparametric Regression, Cambridge Univ.
  1741.    Press. 
  1742.  
  1743.    Masters, T. (1995) Advanced Algorithms for Neural Networks: A C++
  1744.    Sourcebook, NY: John Wiley and Sons, ISBN 0-471-10588-0 
  1745.  
  1746.    Nadaraya, E.A. (1964) "On estimating regression", Theory Probab. Applic.
  1747.    10, 186-90. 
  1748.  
  1749.    Schi\oler, H. and Hartmann, U. (1992) "Mapping Neural Network Derived
  1750.    from the Parzen Window Estimator", Neural Networks, 5, 903-909. 
  1751.  
  1752.    Specht, D.F. (1968) "A practical technique for estimating general
  1753.    regression surfaces," Lockheed report LMSC 6-79-68-6, Defense Technical
  1754.    Information Center AD-672505. 
  1755.  
  1756.    Specht, D.F. (1991) "A Generalized Regression Neural Network", IEEE
  1757.    Transactions on Neural Networks, 2, Nov. 1991, 568-576. 
  1758.  
  1759.    Watson, G.S. (1964) "Smooth regression analysis", Sankhy{\=a}, Series A,
  1760.    26, 359-72. 
  1761.  
  1762. ------------------------------------------------------------------------
  1763.  
  1764. Subject: What does unsupervised learning learn? 
  1765. ================================================
  1766.  
  1767. Unsupervised learning allegedly involves no target values. In fact, for most
  1768. varieties of unsupervised learning, the targets are the same as the inputs
  1769. (Sarle 1994). In other words, unsupervised learning usually performs the
  1770. same task as an auto-associative network, compressing the information from
  1771. the inputs (Deco and Obradovic 1996). Unsupervised learning is very useful
  1772. for data visualization (Ripley 1996), although the NN literature generally
  1773. ignores this application. 
  1774.  
  1775. Unsupervised competitive learning is used in a wide variety of fields under
  1776. a wide variety of names, the most common of which is "cluster analysis". The
  1777. main form of competitive learning in the NN literature is adaptive vector
  1778. quantization (AVQ, also called a Kohonen network), of which Kosko (1992)
  1779. provides a good description. In AVQ, each of the competitive hidden units
  1780. corresponds to a cluster center, and the error function is the sum of
  1781. squared distances between each training case and the nearest center. Often,
  1782. each training case is normalized to a Euclidean length of one, which allows
  1783. distances to be simplified to inner products. The more general error
  1784. function based on distances is the same error function used in k-means
  1785. clustering, one of the most common classes of cluster analysis (MacQueen
  1786. 1967; Anderberg 1973; Balakrishnan, Cooper, Jacob, and Lewis 1994). The
  1787. k-means model is a special case of the normal mixture model (McLachlan and
  1788. Basford 1988), which has also been found to be very useful in neural
  1789. networking (e.g., Bishop 1995). 
  1790.  
  1791. Hebbian learning is the other most most common variety of unsupervised
  1792. learning (Hertz, Krogh, and Palmer 1991). Hebbian learning minimizes the
  1793. same error function as an auto-associative network with a linear hidden
  1794. layer, trained by least squares, and is therefore a form of dimensionality
  1795. reduction. This error function is equivalent to the sum of squared distances
  1796. between each training case and a linear subspace of the input space (with
  1797. distances measured perpendicularly), and is minimized by the leading
  1798. principal components (Pearson 1901; Hotelling 1933; Rao 1964; Joliffe 1986;
  1799. Jackson 1991). There are variations of Hebbian learning that explicitly
  1800. produce the principal components (Hertz, Krogh, and Palmer 1991; Karhunen
  1801. 1994; Deco and Obradovic 1996). 
  1802.  
  1803. Perhaps the most novel form of unsupervised learning in the NN literature is
  1804. Kohonen's self-organizing (feature) map (SOM, Kohonen 1995). SOMs combine
  1805. competitive learning with dimensionality reduction by smoothing the clusters
  1806. with respect to an a priori grid (Kohonen 1995; Mulier and Cherkassky 1995).
  1807. But the original SOM algorithm does not optimize an "energy" function
  1808. (Kohonen 1995, pp. 126, 237) and so is not simply an information-compression
  1809. method like most other unsupervised learning networks. Convergence of
  1810. Kohonen's SOM algorithm is allegedly demonstrated by Yin and Allinson
  1811. (1995), but their "proof" assumes the neighborhood size becomes zero, in
  1812. which case the algorithm reduces to AVQ and no longer has topological
  1813. ordering properties (Kohonen 1995, p. 111). 
  1814.  
  1815. References: 
  1816.  
  1817.    Anderberg, M.R. (1973), Cluster Analysis for Applications, New York:
  1818.    Academic Press, Inc. 
  1819.  
  1820.    Balakrishnan, P.V., Cooper, M.C., Jacob, V.S., and Lewis, P.A. (1994) "A
  1821.    study of the classification capabilities of neural networks using
  1822.    unsupervised learning: A comparison with k-means clustering",
  1823.    Psychometrika, 59, 509-525. 
  1824.  
  1825.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  1826.    Oxford University Press. 
  1827.  
  1828.    Deco, G. and Obradovic, D. (1996), An Information-Theoretic Approach to
  1829.    Neural Computing, NY: Springer-Verlag. 
  1830.  
  1831.    Hertz, J., Krogh, A., and Palmer, R. (1991). Introduction to the Theory of
  1832.    Neural Computation. Addison-Wesley: Redwood City, California. 
  1833.  
  1834.    Hotelling, H. (1933), "Analysis of a Complex of Statistical Variables
  1835.    into Principal Components," Journal of Educational Psychology, 24,
  1836.    417-441, 498-520. 
  1837.  
  1838.    Jackson, J.E. (1991), A User's Guide to Principal Components, NY: Wiley.
  1839.  
  1840.    Jolliffe, I.T. (1986), Principal Component Analysis, Springer-Verlag. 
  1841.  
  1842.    Karhunen, J. (1994), "Stability of Oja's PCA subspace rule," Neural
  1843.    Computation, 6, 739-747. 
  1844.  
  1845.    Kohonen, T. (1995), Self-Organizing Maps, Berlin: Springer-Verlag. 
  1846.  
  1847.    Kosko, B.(1992), Neural Networks and Fuzzy Systems, Englewood Cliffs,
  1848.    N.J.: Prentice-Hall. 
  1849.  
  1850.    McLachlan, G.J. and Basford, K.E. (1988), Mixture Models, NY: Marcel
  1851.    Dekker, Inc. 
  1852.  
  1853.    MacQueen, J.B. (1967), "Some Methods for Classification and Analysis of
  1854.    Multivariate Observations,"Proceedings of the Fifth Berkeley Symposium on
  1855.    Mathematical Statistics and Probability, 1, 281-297. 
  1856.  
  1857.    Mulier, F. and Cherkassky, V. (1995), "Self-Organization as an Iterative
  1858.    Kernel Smoothing Process," Neural Computation, 7, 1165-1177. 
  1859.  
  1860.    Pearson, K. (1901) "On Lines and Planes of Closest Fit to Systems of
  1861.    Points in Space," Phil. Mag., 2(6), 559-572. 
  1862.  
  1863.    Rao, C.R. (1964), "The Use and Interpretation of Principal Component
  1864.    Analysis in Applied Research," Sankya A, 26, 329-358. 
  1865.  
  1866.    Ripley, B.D. (1996) Pattern Recognition and Neural Networks, Cambridge:
  1867.    Cambridge University Press. 
  1868.  
  1869.    Sarle, W.S. (1994), "Neural Networks and Statistical Models," in SAS
  1870.    Institute Inc., Proceedings of the Nineteenth Annual SAS Users Group
  1871.    International Conference, Cary, NC: SAS Institute Inc., pp 1538-1550, 
  1872.    ftp://ftp.sas.com/pub/neural/neural1.ps. 
  1873.  
  1874.    Yin, H. and Allinson, N.M. (1995), "On the Distribution and Convergence
  1875.    of Feature Space in Self-Organizing Maps," Neural Computation, 7,
  1876.    1178-1187. 
  1877.  
  1878. ------------------------------------------------------------------------
  1879.  
  1880. Subject: What about Genetic Algorithms?
  1881. =======================================
  1882.  
  1883. There are a number of definitions of GA (Genetic Algorithm). A possible one
  1884. is
  1885.  
  1886.   A GA is an optimization program
  1887.   that starts with
  1888.   a population of encoded procedures,       (Creation of Life :-> )
  1889.   mutates them stochastically,              (Get cancer or so :-> )
  1890.   and uses a selection process              (Darwinism)
  1891.   to prefer the mutants with high fitness
  1892.   and perhaps a recombination process       (Make babies :-> )
  1893.   to combine properties of (preferably) the succesful mutants.
  1894.  
  1895. Genetic Algorithms are just a special case of the more general idea of
  1896. ``evolutionary computation''. There is a newsgroup that is dedicated to the
  1897. field of evolutionary computation called comp.ai.genetic. It has a detailed
  1898. FAQ posting which, for instance, explains the terms "Genetic Algorithm",
  1899. "Evolutionary Programming", "Evolution Strategy", "Classifier System", and
  1900. "Genetic Programming". That FAQ also contains lots of pointers to relevant
  1901. literature, software, other sources of information, et cetera et cetera.
  1902. Please see the comp.ai.genetic FAQ for further information. 
  1903.  
  1904. ------------------------------------------------------------------------
  1905.  
  1906. Subject: What about Fuzzy Logic?
  1907. ================================
  1908.  
  1909. Fuzzy Logic is an area of research based on the work of L.A. Zadeh. It is a
  1910. departure from classical two-valued sets and logic, that uses "soft"
  1911. linguistic (e.g. large, hot, tall) system variables and a continuous range
  1912. of truth values in the interval [0,1], rather than strict binary (True or
  1913. False) decisions and assignments.
  1914.  
  1915. Fuzzy logic is used where a system is difficult to model exactly (but an
  1916. inexact model is available), is controlled by a human operator or expert, or
  1917. where ambiguity or vagueness is common. A typical fuzzy system consists of a
  1918. rule base, membership functions, and an inference procedure.
  1919.  
  1920. Most Fuzzy Logic discussion takes place in the newsgroup comp.ai.fuzzy
  1921. (where there is a fuzzy logic FAQ) but there is also some work (and
  1922. discussion) about combining fuzzy logic with neural network approaches in
  1923. comp.ai.neural-nets.
  1924.  
  1925. Early work combining neural nets and fuzzy methods used competitive networks
  1926. to generate rules for fuzzy systems (Kosko 1992). This approach is
  1927. essentially the same thing as bidirectional counterpropagation
  1928. (Hecht-Nielsen 1990) and suffers from the same deficiencies. More recent
  1929. work (Brown and Harris 1994) has been based on the realization that a fuzzy
  1930. system is a nonlinear mapping from an input space to an output space that
  1931. can be parameterized in various ways and therefore can be adapted to data
  1932. using the usual neural training methods (see "What is backprop?") or
  1933. conventional numerical optimization algorithms (see "What are conjugate
  1934. gradients, Levenberg-Marquardt, etc.?"). 
  1935.  
  1936. A neural net can incorporate fuzziness in various ways: 
  1937.  
  1938.  o The inputs can be fuzzy. Any garden-variety backprop net is fuzzy in this
  1939.    sense, and it seems rather silly to call a net "fuzzy" solely on this
  1940.    basis, although Fuzzy ART (Carpenter and Grossberg 1996) has no other
  1941.    fuzzy characteristics. 
  1942.  o The outputs can be fuzzy. Again, any garden-variety backprop net is fuzzy
  1943.    in this sense. But competitive learning nets ordinarily produce crisp
  1944.    outputs, so for competitive learning methods, having fuzzy output is a
  1945.    meaningful distinction. For example, fuzzy c-means clustering (Bezdek
  1946.    1981) is meaningfully different from (crisp) k-means. Fuzzy ART does not
  1947.    have fuzzy outputs. 
  1948.  o The net can be interpretable as an adaptive fuzzy system. For example,
  1949.    Gaussian RBF nets and B-spline regression models (Dierckx 1995) are fuzzy
  1950.    systems with adaptive weights (Brown and Harris 1994) and can
  1951.    legitimately be called neurofuzzy systems. 
  1952.  o The net can be a conventional NN architecture that operates on fuzzy
  1953.    numbers instead of real numbers (Lippe, Feuring and Mischke 1995). 
  1954.  o Fuzzy constraints can provide external knowledge (Lampinen and Selonen
  1955.    1996). 
  1956.  
  1957. More information on neurofuzzy systems is available online: 
  1958.  
  1959.  o The Fuzzy Logic and Neurofuzzy Resources page of the Image, Speech and
  1960.    Intelligent Systems (ISIS) research group at the University of
  1961.    Southampton, Southampton, Hampshire, UK: 
  1962.    http://www-isis.ecs.soton.ac.uk/research/nfinfo/fuzzy.html. 
  1963.  o The Neuro-Fuzzy Systems Research Group's web page at Tampere University
  1964.    of Technology, Tampere, Finland: http://www.cs.tut.fi/~tpo/group.html and
  1965.    http://dmiwww.cs.tut.fi/nfs/Welcome_uk.html 
  1966.  o Marcello Chiaberge's Neuro-Fuzzy page at 
  1967.    http://polimage.polito.it/~marcello. 
  1968.  
  1969. References: 
  1970.  
  1971.    Bezdek, J.C. (1981), Pattern Recognition with Fuzzy Objective Function
  1972.    Algorithms, New York: Plenum Press. 
  1973.  
  1974.    Bezdek, J.C. & Pal, S.K., eds. (1992), Fuzzy Models for Pattern
  1975.    Recognition, New York: IEEE Press. 
  1976.  
  1977.    Brown, M., and Harris, C. (1994), Neurofuzzy Adaptive Modelling and
  1978.    Control, NY: Prentice Hall. 
  1979.  
  1980.    Carpenter, G.A. and Grossberg, S. (1996), "Learning, Categorization, Rule
  1981.    Formation, and Prediction by Fuzzy Neural Networks," in Chen, C.H.
  1982.    (1996), pp. 1.3-1.45. 
  1983.  
  1984.    Chen, C.H., ed. (1996) Fuzzy Logic and Neural Network Handbook, NY:
  1985.    McGraw-Hill, ISBN 0-07-011189-8. 
  1986.  
  1987.    Dierckx, P. (1995), Curve and Surface Fitting with Splines, Oxford:
  1988.    Clarendon Press. 
  1989.  
  1990.    Hecht-Nielsen, R. (1990), Neurocomputing, Reading, MA: Addison-Wesley. 
  1991.  
  1992.    Klir, G.J. and Folger, T.A.(1988), Fuzzy Sets, Uncertainty, and
  1993.    Information, Englewood Cliffs, N.J.: Prentice-Hall. 
  1994.  
  1995.    Kosko, B.(1992), Neural Networks and Fuzzy Systems, Englewood Cliffs,
  1996.    N.J.: Prentice-Hall. 
  1997.  
  1998.    Lampinen, J and Selonen, A. (1996), "Using Background Knowledge for
  1999.    Regularization of Multilayer Perceptron Learning", Submitted to
  2000.    International Conference on Artificial Neural Networks, ICANN'96, Bochum,
  2001.    Germany. 
  2002.  
  2003.    Lippe, W.-M., Feuring, Th. and Mischke, L. (1995), "Supervised learning
  2004.    in fuzzy neural networks," Institutsbericht Angewandte Mathematik und
  2005.    Informatik, WWU Muenster, I-12, 
  2006.    http://wwwmath.uni-muenster.de/~feuring/WWW_literatur/bericht12_95.ps.gz 
  2007.  
  2008. ------------------------------------------------------------------------
  2009.  
  2010. Next part is part 3 (of 7). Previous part is part 1. 
  2011.  
  2012. -- 
  2013.  
  2014. Warren S. Sarle       SAS Institute Inc.   The opinions expressed here
  2015. saswss@unx.sas.com    SAS Campus Drive     are mine and not necessarily
  2016. (919) 677-8000        Cary, NC 27513, USA  those of SAS Institute.
  2017.