home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / ai-faq / neural-nets / part1 next >
Encoding:
Internet Message Format  |  2003-01-01  |  107.7 KB

  1. From: saswss@unx.sas.com (Warren Sarle)
  2. Newsgroups: comp.ai.neural-nets,comp.answers,news.answers
  3. Subject: comp.ai.neural-nets FAQ, Part 1 of 7: Introduction
  4. Supersedes: <nn1.posting_1027961390@hotellng.unx.sas.com>
  5. Followup-To: comp.ai.neural-nets
  6. Date: 30 Dec 2002 20:49:21 GMT
  7. Organization: SAS Institute Inc., Cary, NC, USA
  8. Lines: 2268
  9. Approved: news-answers-request@MIT.EDU
  10. Expires: 3 Feb 2003 20:49:20 GMT
  11. Message-ID: <nn1.posting_1041281360@hotellng.unx.sas.com>
  12. Reply-To: saswss@unx.sas.com (Warren Sarle)
  13. NNTP-Posting-Host: hotellng.unx.sas.com
  14. X-Trace: license1.unx.sas.com 1041281361 4884 10.28.2.188 (30 Dec 2002 20:49:21 GMT)
  15. X-Complaints-To: usenet@unx.sas.com
  16. NNTP-Posting-Date: 30 Dec 2002 20:49:21 GMT
  17. Keywords: frequently asked questions, answers
  18. Originator: saswss@hotellng.unx.sas.com
  19. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!newsfeed.stanford.edu!newsfeed.berkeley.edu!news-hog.berkeley.edu!ucberkeley!newshub.sdsu.edu!news-xfer.cox.net!news.lightlink.com!vienna7.his.com!attws1!ip.att.net!lamb.sas.com!newshost!hotellng.unx.sas.com!saswss
  20. Xref: senator-bedfellow.mit.edu comp.ai.neural-nets:64336 comp.answers:52354 news.answers:243493
  21.  
  22. Archive-name: ai-faq/neural-nets/part1
  23. Last-modified: 2002-05-17
  24. URL: ftp://ftp.sas.com/pub/neural/FAQ.html
  25. Maintainer: saswss@unx.sas.com (Warren S. Sarle)
  26.  
  27. Copyright 1997, 1998, 1999, 2000, 2001, 2002 by Warren S. Sarle, Cary, NC,
  28. USA. 
  29.  
  30.   ---------------------------------------------------------------
  31.     Additions, corrections, or improvements are always welcome.
  32.     Anybody who is willing to contribute any information,
  33.     please email me; if it is relevant, I will incorporate it.
  34.  
  35.     The monthly posting departs around the 28th of every month.
  36.   ---------------------------------------------------------------
  37.  
  38. This is the first of seven parts of a monthly posting to the Usenet
  39. newsgroup comp.ai.neural-nets (as well as comp.answers and news.answers,
  40. where it should be findable at any time). Its purpose is to provide basic
  41. information for individuals who are new to the field of neural networks or
  42. who are just beginning to read this group. It will help to avoid lengthy
  43. discussion of questions that often arise for beginners. 
  44.  
  45.    SO, PLEASE, SEARCH THIS POSTING FIRST IF YOU HAVE A QUESTION
  46.                            and
  47.    DON'T POST ANSWERS TO FAQs: POINT THE ASKER TO THIS POSTING
  48.  
  49. The latest version of the FAQ is available as a hypertext document, readable
  50. by any WWW (World Wide Web) browser such as Netscape, under the URL: 
  51. ftp://ftp.sas.com/pub/neural/FAQ.html.
  52.  
  53. If you are reading the version of the FAQ posted in comp.ai.neural-nets, be
  54. sure to view it with a monospace font such as Courier. If you view it with a
  55. proportional font, tables and formulas will be mangled. Some newsreaders or
  56. WWW news services garble plain text. If you have trouble viewing plain text,
  57. try the HTML version described above. 
  58.  
  59. All seven parts of the FAQ can be downloaded from either of the following
  60. URLS:
  61.  
  62.    ftp://ftp.sas.com/pub/neural/FAQ.html.zip
  63.    ftp://ftp.sas.com/pub/neural/FAQ.txt.zip
  64.  
  65. These postings are archived in the periodic posting archive on host
  66. rtfm.mit.edu (and on some other hosts as well). Look in the anonymous ftp
  67. directory "/pub/usenet/news.answers/ai-faq/neural-nets" under the file names
  68. "part1", "part2", ... "part7". If you do not have anonymous ftp access, you
  69. can access the archives by mail server as well. Send an E-mail message to
  70. mail-server@rtfm.mit.edu with "help" and "index" in the body on separate
  71. lines for more information. 
  72.  
  73. For those of you who read this FAQ anywhere other than in Usenet: To read
  74. comp.ai.neural-nets (or post articles to it) you need Usenet News access.
  75. Try the commands, 'xrn', 'rn', 'nn', or 'trn' on your Unix machine, 'news'
  76. on your VMS machine, or ask a local guru. WWW browsers are often set up for
  77. Usenet access, too--try the URL news:comp.ai.neural-nets. 
  78.  
  79. The FAQ posting departs to comp.ai.neural-nets around the 28th of every
  80. month. It is also sent to the groups comp.answers and news.answers where it
  81. should be available at any time (ask your news manager). The FAQ posting,
  82. like any other posting, may a take a few days to find its way over Usenet to
  83. your site. Such delays are especially common outside of North America. 
  84.  
  85. All changes to the FAQ from the previous month are shown in another monthly
  86. posting having the subject `changes to "comp.ai.neural-nets FAQ" -- monthly
  87. posting', which immediately follows the FAQ posting. The `changes' post
  88. contains the full text of all changes and can also be found at
  89. ftp://ftp.sas.com/pub/neural/changes.txt . There is also a weekly post with
  90. the subject "comp.ai.neural-nets FAQ: weekly reminder" that briefly
  91. describes any major changes to the FAQ. 
  92.  
  93. This FAQ is not meant to discuss any topic exhaustively. It is neither a
  94. tutorial nor a textbook, but should be viewed as a supplement to the many
  95. excellent books and online resources described in Part 4: Books, data, etc..
  96.  
  97. Disclaimer: 
  98.  
  99.    This posting is provided 'as is'. No warranty whatsoever is expressed or
  100.    implied, in particular, no warranty that the information contained herein
  101.    is correct or useful in any way, although both are intended. 
  102.  
  103. To find the answer of question "x", search for the string "Subject: x"
  104.  
  105. ========== Questions ========== 
  106. ********************************
  107.  
  108. Part 1: Introduction
  109.  
  110.    What is this newsgroup for? How shall it be used?
  111.    Where is comp.ai.neural-nets archived?
  112.    What if my question is not answered in the FAQ?
  113.    May I copy this FAQ?
  114.    What is a neural network (NN)?
  115.    Where can I find a simple introduction to NNs?
  116.    Are there any online books about NNs?
  117.    What can you do with an NN and what not?
  118.    Who is concerned with NNs?
  119.    How many kinds of NNs exist?
  120.    How many kinds of Kohonen networks exist? (And what is k-means?)
  121.       VQ: Vector Quantization and k-means
  122.       SOM: Self-Organizing Map
  123.       LVQ: Learning Vector Quantization
  124.       Other Kohonen networks and references
  125.    How are layers counted?
  126.    What are cases and variables?
  127.    What are the population, sample, training set, design set, validation
  128.    set, and test set?
  129.    How are NNs related to statistical methods?
  130.  
  131. Part 2: Learning
  132.  
  133.    What are combination, activation, error, and objective functions?
  134.    What are batch, incremental, on-line, off-line, deterministic,
  135.    stochastic, adaptive, instantaneous, pattern, epoch, constructive, and
  136.    sequential learning?
  137.    What is backprop?
  138.    What learning rate should be used for backprop?
  139.    What are conjugate gradients, Levenberg-Marquardt, etc.?
  140.    How does ill-conditioning affect NN training?
  141.    How should categories be encoded?
  142.    Why not code binary inputs as 0 and 1?
  143.    Why use a bias/threshold?
  144.    Why use activation functions?
  145.    How to avoid overflow in the logistic function?
  146.    What is a softmax activation function?
  147.    What is the curse of dimensionality?
  148.    How do MLPs compare with RBFs?
  149.    What are OLS and subset/stepwise regression?
  150.    Should I normalize/standardize/rescale the data?
  151.    Should I nonlinearly transform the data?
  152.    How to measure importance of inputs?
  153.    What is ART?
  154.    What is PNN?
  155.    What is GRNN?
  156.    What does unsupervised learning learn?
  157.    Help! My NN won't learn! What should I do?
  158.  
  159. Part 3: Generalization
  160.  
  161.    How is generalization possible?
  162.    How does noise affect generalization?
  163.    What is overfitting and how can I avoid it?
  164.    What is jitter? (Training with noise)
  165.    What is early stopping?
  166.    What is weight decay?
  167.    What is Bayesian learning?
  168.    How to combine networks?
  169.    How many hidden layers should I use?
  170.    How many hidden units should I use?
  171.    How can generalization error be estimated?
  172.    What are cross-validation and bootstrapping?
  173.    How to compute prediction and confidence intervals (error bars)?
  174.  
  175. Part 4: Books, data, etc.
  176.  
  177.    Books and articles about Neural Networks?
  178.    Journals and magazines about Neural Networks?
  179.    Conferences and Workshops on Neural Networks?
  180.    Neural Network Associations?
  181.    Mailing lists, BBS, CD-ROM?
  182.    How to benchmark learning methods?
  183.    Databases for experimentation with NNs?
  184.  
  185. Part 5: Free software
  186.  
  187.    Source code on the web?
  188.    Freeware and shareware packages for NN simulation?
  189.  
  190. Part 6: Commercial software
  191.  
  192.    Commercial software packages for NN simulation?
  193.  
  194. Part 7: Hardware and miscellaneous
  195.  
  196.    Neural Network hardware?
  197.    What are some applications of NNs?
  198.       General
  199.       Agriculture
  200.       Chemistry
  201.       Face recognition
  202.       Finance and economics
  203.       Games, sports, gambling
  204.       Industry
  205.       Materials science
  206.       Medicine
  207.       Music
  208.       Robotics
  209.       Weather forecasting
  210.       Weird
  211.    What to do with missing/incomplete data?
  212.    How to forecast time series (temporal sequences)?
  213.    How to learn an inverse of a function?
  214.    How to get invariant recognition of images under translation, rotation,
  215.    etc.?
  216.    How to recognize handwritten characters?
  217.    What about pulsed or spiking NNs?
  218.    What about Genetic Algorithms and Evolutionary Computation?
  219.    What about Fuzzy Logic?
  220.    Unanswered FAQs
  221.    Other NN links?
  222.  
  223. ------------------------------------------------------------------------
  224.  
  225. Subject: What is this newsgroup for? How shall it be
  226. ====================================================
  227. used?
  228. =====
  229.  
  230. The newsgroup comp.ai.neural-nets is intended as a forum for people who want
  231. to use or explore the capabilities of Artificial Neural Networks or
  232. Neural-Network-like structures.
  233.  
  234. Posts should be in plain-text format, not postscript, html, rtf, TEX, MIME,
  235. or any word-processor format. 
  236.  
  237. Do not use vcards or other excessively long signatures. 
  238.  
  239. Please do not post homework or take-home exam questions. Please do not post
  240. a long source-code listing and ask readers to debug it. And note that chain
  241. letters and other get-rich-quick pyramid schemes are illegal in the USA; for
  242. example, see http://www.usps.gov/websites/depart/inspect/chainlet.htm
  243.  
  244. There should be the following types of articles in this newsgroup:
  245.  
  246. 1. Requests
  247. +++++++++++
  248.  
  249.    Requests are articles of the form "I am looking for X", where X
  250.    is something public like a book, an article, a piece of software. The
  251.    most important about such a request is to be as specific as possible!
  252.  
  253.    If multiple different answers can be expected, the person making the
  254.    request should prepare to make a summary of the answers he/she got and
  255.    announce to do so with a phrase like "Please reply by email,
  256.    I'll summarize to the group" at the end of the posting.
  257.  
  258.    The Subject line of the posting should then be something like 
  259.    "Request: X" 
  260.  
  261. 2. Questions
  262. ++++++++++++
  263.  
  264.    As opposed to requests, questions ask for a larger piece of information
  265.    or a more or less detailed explanation of something. To avoid lots of
  266.    redundant traffic it is important that the poster provides with the
  267.    question all information s/he already has about the subject asked and
  268.    state the actual question as precise and narrow as possible. The poster
  269.    should prepare to make a summary of the answers s/he got and announce to
  270.    do so with a phrase like "Please reply by email, I'll
  271.    summarize to the group" at the end of the posting.
  272.  
  273.    The Subject line of the posting should be something like "Question:
  274.    this-and-that" or have the form of a question (i.e., end with a
  275.    question mark) 
  276.  
  277.    Students: please do not ask comp.ai.neural-net readers to do your
  278.    homework or take-home exams for you. 
  279.  
  280. 3. Answers
  281. ++++++++++
  282.  
  283.    These are reactions to questions or requests. If an answer is too
  284.    specific to be of general interest, or if a summary was announced with
  285.    the question or request, the answer should be e-mailed to the poster, not
  286.    posted to the newsgroup. 
  287.  
  288.    Most news-reader software automatically provides a subject line beginning
  289.    with "Re:" followed by the subject of the article which is being
  290.    followed-up. Note that sometimes longer threads of discussion evolve from
  291.    an answer to a question or request. In this case posters should change
  292.    the subject line suitably as soon as the topic goes too far away from the
  293.    one announced in the original subject line. You can still carry along the
  294.    old subject in parentheses in the form "Re: new subject (was:
  295.    old subject)" 
  296.  
  297. 4. Summaries
  298. ++++++++++++
  299.  
  300.    In all cases of requests or questions the answers for which can be
  301.    assumed to be of some general interest, the poster of the request or
  302.    question shall summarize the answers he/she received. Such a summary
  303.    should be announced in the original posting of the question or request
  304.    with a phrase like "Please answer by email, I'll
  305.    summarize"
  306.  
  307.    In such a case, people who answer to a question should NOT post their
  308.    answer to the newsgroup but instead mail them to the poster of the
  309.    question who collects and reviews them. After about 5 to 20 days after
  310.    the original posting, its poster should make the summary of answers and
  311.    post it to the newsgroup.
  312.  
  313.    Some care should be invested into a summary: 
  314.     o simple concatenation of all the answers is not enough: instead,
  315.       redundancies, irrelevancies, verbosities, and errors should be
  316.       filtered out (as well as possible) 
  317.     o the answers should be separated clearly 
  318.     o the contributors of the individual answers should be identifiable
  319.       (unless they requested to remain anonymous [yes, that happens]) 
  320.     o the summary should start with the "quintessence" of the answers, as
  321.       seen by the original poster 
  322.     o A summary should, when posted, clearly be indicated to be one by
  323.       giving it a Subject line starting with "SUMMARY:" 
  324.    Note that a good summary is pure gold for the rest of the newsgroup
  325.    community, so summary work will be most appreciated by all of us. Good
  326.    summaries are more valuable than any moderator ! :-) 
  327.  
  328. 5. Announcements
  329. ++++++++++++++++
  330.  
  331.    Some articles never need any public reaction. These are called
  332.    announcements (for instance for a workshop, conference or the
  333.    availability of some technical report or software system).
  334.  
  335.    Announcements should be clearly indicated to be such by giving them a
  336.    subject line of the form "Announcement: this-and-that" 
  337.  
  338. 6. Reports
  339. ++++++++++
  340.  
  341.    Sometimes people spontaneously want to report something to the newsgroup.
  342.    This might be special experiences with some software, results of own
  343.    experiments or conceptual work, or especially interesting information
  344.    from somewhere else.
  345.  
  346.    Reports should be clearly indicated to be such by giving them a subject
  347.    line of the form "Report: this-and-that" 
  348.  
  349. 7. Discussions
  350. ++++++++++++++
  351.  
  352.    An especially valuable possibility of Usenet is of course that of
  353.    discussing a certain topic with hundreds of potential participants. All
  354.    traffic in the newsgroup that can not be subsumed under one of the above
  355.    categories should belong to a discussion.
  356.  
  357.    If somebody explicitly wants to start a discussion, he/she can do so by
  358.    giving the posting a subject line of the form "Discussion:
  359.    this-and-that"
  360.  
  361.    It is quite difficult to keep a discussion from drifting into chaos, but,
  362.    unfortunately, as many many other newsgroups show there seems to be no
  363.    secure way to avoid this. On the other hand, comp.ai.neural-nets has not
  364.    had many problems with this effect in the past, so let's just go and
  365.    hope... 
  366.  
  367. 8. Jobs Ads
  368. +++++++++++
  369.  
  370.    Advertisements for jobs requiring expertise in artificial neural networks
  371.    are appropriate in comp.ai.neural-nets. Job ads should be clearly
  372.    indicated to be such by giving them a subject line of the form "Job:
  373.    this-and-that". It is also useful to include the
  374.    country-state-city abbreviations that are conventional in
  375.    misc.jobs.offered, such as: "Job: US-NY-NYC Neural network
  376.    engineer". If an employer has more than one job opening, all such
  377.    openings should be listed in a single post, not multiple posts. Job ads
  378.    should not be reposted more than once per month. 
  379.  
  380. ------------------------------------------------------------------------
  381.  
  382. Subject: Where is comp.ai.neural-nets archived? 
  383. ================================================
  384.  
  385. The following archives are available for comp.ai.neural-nets: 
  386.  
  387.  o http://groups.google.com, formerly Deja News. Does not work very well
  388.    yet. 
  389.  o 94-09-14 through 97-08-16 
  390.    ftp://ftp.cs.cmu.edu/user/ai/pubs/news/comp.ai.neural-nets 
  391.  
  392. For more information on newsgroup archives, see 
  393. http://starbase.neosoft.com/~claird/news.lists/newsgroup_archives.html 
  394. or http://www.pitt.edu/~grouprev/Usenet/Archive-List/newsgroup_archives.html
  395.  
  396. ------------------------------------------------------------------------
  397.  
  398. Subject: What if my question is not answered in the FAQ?
  399. ========================================================
  400.  
  401. If your question is not answered in the FAQ, you can try a web search. The
  402. following search engines are especially useful:
  403. http://www.google.com/
  404. http://search.yahoo.com/
  405. http://www.altavista.com/
  406. http://citeseer.nj.nec.com/cs
  407.  
  408. Another excellent web site on NNs is Donald Tveter's Backpropagator's Review
  409. at http://www.dontveter.com/bpr/bpr.html or 
  410. http://gannoo.uce.ac.uk/bpr/bpr.html. 
  411.  
  412. For feedforward NNs, the best reference book is: 
  413.  
  414.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  415.    Oxford University Press. 
  416.  
  417. If the answer isn't in Bishop, then for more theoretical questions try: 
  418.  
  419.    Ripley, B.D. (1996) Pattern Recognition and Neural Networks, Cambridge:
  420.    Cambridge University Press. 
  421.  
  422. For more practical questions about MLP training, try: 
  423.  
  424.    Masters, T. (1993). Practical Neural Network Recipes in C++, San Diego:
  425.    Academic Press. 
  426.  
  427.    Reed, R.D., and Marks, R.J, II (1999), Neural Smithing: Supervised
  428.    Learning in Feedforward Artificial Neural Networks, Cambridge, MA: The
  429.    MIT Press.
  430.  
  431. There are many more excellent books and web sites listed in the Neural
  432. Network FAQ, Part 4: Books, data, etc. 
  433.  
  434. ------------------------------------------------------------------------
  435.  
  436. Subject: May I copy this FAQ?
  437. =============================
  438.  
  439. The intent in providing a FAQ is to make the information freely available to
  440. whoever needs it. You may copy all or part of the FAQ, but please be sure to
  441. include a reference to the URL of the master copy,
  442. ftp://ftp.sas.com/pub/neural/FAQ.html, and do not sell copies of the FAQ. If
  443. you want to include information from the FAQ in your own web site, it is
  444. better to include links to the master copy rather than to copy text from the
  445. FAQ to your web pages, because various answers in the FAQ are updated at
  446. unpredictable times. To cite the FAQ in an academic-style bibliography, use
  447. something along the lines of: 
  448.  
  449.    Sarle, W.S., ed. (1997), Neural Network FAQ, part 1 of 7: Introduction,
  450.    periodic posting to the Usenet newsgroup comp.ai.neural-nets, URL:
  451.    ftp://ftp.sas.com/pub/neural/FAQ.html 
  452.  
  453. ------------------------------------------------------------------------
  454.  
  455. Subject: What is a neural network (NN)?
  456. =======================================
  457.  
  458.    The question 'What is a neural network?' is ill-posed.
  459.             
  460.             
  461.             
  462.             
  463.             
  464.              - Pinkus
  465.    (1999) 
  466.  
  467. First of all, when we are talking about a neural network, we should more
  468. properly say "artificial neural network" (ANN), because that is what we mean
  469. most of the time in comp.ai.neural-nets. Biological neural networks are much
  470. more complicated than the mathematical models we use for ANNs. But it is
  471. customary to be lazy and drop the "A" or the "artificial". 
  472.  
  473. There is no universally accepted definition of an NN. But perhaps most
  474. people in the field would agree that an NN is a network of many simple
  475. processors ("units"), each possibly having a small amount of local memory.
  476. The units are connected by communication channels ("connections") which
  477. usually carry numeric (as opposed to symbolic) data, encoded by any of
  478. various means. The units operate only on their local data and on the inputs
  479. they receive via the connections. The restriction to local operations is
  480. often relaxed during training. 
  481.  
  482. Some NNs are models of biological neural networks and some are not, but
  483. historically, much of the inspiration for the field of NNs came from the
  484. desire to produce artificial systems capable of sophisticated, perhaps
  485. "intelligent", computations similar to those that the human brain routinely
  486. performs, and thereby possibly to enhance our understanding of the human
  487. brain. 
  488.  
  489. Most NNs have some sort of "training" rule whereby the weights of
  490. connections are adjusted on the basis of data. In other words, NNs "learn"
  491. from examples, as children learn to distinguish dogs from cats based on
  492. examples of dogs and cats. If trained carefully, NNs may exhibit some
  493. capability for generalization beyond the training data, that is, to produce
  494. approximately correct results for new cases that were not used for training.
  495.  
  496. NNs normally have great potential for parallelism, since the computations of
  497. the components are largely independent of each other. Some people regard
  498. massive parallelism and high connectivity to be defining characteristics of
  499. NNs, but such requirements rule out various simple models, such as simple
  500. linear regression (a minimal feedforward net with only two units plus bias),
  501. which are usefully regarded as special cases of NNs. 
  502.  
  503. Here is a sampling of definitions from the books on the FAQ maintainer's
  504. shelf. None will please everyone. Perhaps for that reason many NN textbooks
  505. do not explicitly define neural networks. 
  506.  
  507. According to the DARPA Neural Network Study (1988, AFCEA International
  508. Press, p. 60): 
  509.  
  510.    ... a neural network is a system composed of many simple processing
  511.    elements operating in parallel whose function is determined by
  512.    network structure, connection strengths, and the processing performed
  513.    at computing elements or nodes. 
  514.  
  515. According to Haykin (1994), p. 2: 
  516.  
  517.    A neural network is a massively parallel distributed processor that
  518.    has a natural propensity for storing experiential knowledge and
  519.    making it available for use. It resembles the brain in two respects: 
  520.  
  521.    1. Knowledge is acquired by the network through a learning process. 
  522.    2. Interneuron connection strengths known as synaptic weights are
  523.       used to store the knowledge. 
  524.  
  525. According to Nigrin (1993), p. 11: 
  526.  
  527.    A neural network is a circuit composed of a very large number of
  528.    simple processing elements that are neurally based. Each element
  529.    operates only on local information. Furthermore each element operates
  530.    asynchronously; thus there is no overall system clock. 
  531.  
  532. According to Zurada (1992), p. xv: 
  533.  
  534.    Artificial neural systems, or neural networks, are physical cellular
  535.    systems which can acquire, store, and utilize experiential knowledge.
  536.  
  537. References: 
  538.  
  539.    Pinkus, A. (1999), "Approximation theory of the MLP model in neural
  540.    networks," Acta Numerica, 8, 143-196. 
  541.  
  542.    Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY:
  543.    Macmillan. 
  544.  
  545.    Nigrin, A. (1993), Neural Networks for Pattern Recognition, Cambridge,
  546.    MA: The MIT Press. 
  547.  
  548.    Zurada, J.M. (1992), Introduction To Artificial Neural Systems, Boston:
  549.    PWS Publishing Company. 
  550.  
  551. ------------------------------------------------------------------------
  552.  
  553. Subject: Where can I find a simple introduction to NNs?
  554. =======================================================
  555.  
  556. Several excellent introductory books on NNs are listed in part 4 of the FAQ
  557. under "Books and articles about Neural Networks?" If you want a book with
  558. minimal math, see "The best introductory book for business executives." 
  559.  
  560. Dr. Leslie Smith has a brief on-line introduction to NNs with examples and
  561. diagrams at http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html. 
  562.  
  563. If you are a Java enthusiast, see Jochen Fr÷hlich's diploma at 
  564. http://rfhs8012.fh-regensburg.de/~saj39122/jfroehl/diplom/e-index.html
  565.  
  566. For a more detailed introduction, see Donald Tveter's excellent
  567. Backpropagator's Review at http://www.dontveter.com/bpr/bpr.html or 
  568. http://gannoo.uce.ac.uk/bpr/bpr.html, which contains both answers to
  569. additional FAQs and an annotated neural net bibliography emphasizing on-line
  570. articles. 
  571.  
  572. StatSoft Inc. has an on-line Electronic Statistics Textbook, at 
  573. http://www.statsoft.com/textbook/stathome.html that includes a chapter on
  574. neural nets as well as many statistical topics relevant to neural nets. 
  575.  
  576. ------------------------------------------------------------------------
  577.  
  578. Subject: Are there any online books about NNs?
  579. ==============================================
  580.  
  581. Kevin Gurney has on-line a preliminary draft of his book, An Introduction to
  582. Neural Networks, at 
  583. http://www.shef.ac.uk/psychology/gurney/notes/index.html The book is now in
  584. print and is one of the better general-purpose introductory textbooks on
  585. NNs. Here is the table of contents from the on-line version: 
  586.  
  587. 1. Computers and Symbols versus Nets and Neurons 
  588. 2. TLUs and vectors - simple learning rules 
  589. 3. The delta rule 
  590. 4. Multilayer nets and backpropagation 
  591. 5. Associative memories - the Hopfield net 
  592. 6. Hopfield nets (contd.) 
  593. 7. Kohonen nets 
  594. 8. Alternative node types 
  595. 9. Cubic nodes (contd.) and Reward Penalty training 
  596. 10. Drawing things together - some perspectives 
  597.  
  598. Another on-line book by Ben Kr÷se and Patrick van der Smagt, also called An
  599. Introduction to Neural Networks, can be found at 
  600. ftp://ftp.wins.uva.nl/pub/computer-systems/aut-sys/reports/neuro-intro/neuro-intro.ps.gz
  601. or http://www.robotic.dlr.de/Smagt/books/neuro-intro.ps.gz. or 
  602. http://www.supelec-rennes.fr/acth/net/neuro-intro.ps.gz 
  603. Here is the table of contents: 
  604.  
  605. 1. Introduction 
  606. 2. Fundamantals 
  607. 3. Perceptron and Adaline 
  608. 4. Back-Propagation 
  609. 5. Recurrent Networks 
  610. 6. Self-Organising Networks 
  611. 7. Reinforcement Learning 
  612. 8. Robot Control 
  613. 9. Vision 
  614. 10. General Purpose Hardware 
  615. 11. Dedicated Neuro-Hardware 
  616.  
  617. ------------------------------------------------------------------------
  618.  
  619. Subject: What can you do with an NN and what not?
  620. =================================================
  621.  
  622. In principle, NNs can compute any computable function, i.e., they can do
  623. everything a normal digital computer can do (Valiant, 1988; Siegelmann and
  624. Sontag, 1999; Orponen, 2000; Sima and Orponen, 2001), or perhaps even more,
  625. under some assumptions of doubtful practicality (see Siegelmann, 1998, but
  626. also Hadley, 1999). 
  627.  
  628. Practical applications of NNs most often employ supervised learning. For
  629. supervised learning, you must provide training data that includes both the
  630. input and the desired result (the target value). After successful training,
  631. you can present input data alone to the NN (that is, input data without the
  632. desired result), and the NN will compute an output value that approximates
  633. the desired result. However, for training to be successful, you may need
  634. lots of training data and lots of computer time to do the training. In many
  635. applications, such as image and text processing, you will have to do a lot
  636. of work to select appropriate input data and to code the data as numeric
  637. values. 
  638.  
  639. In practice, NNs are especially useful for classification and function
  640. approximation/mapping problems which are tolerant of some imprecision, which
  641. have lots of training data available, but to which hard and fast rules (such
  642. as those that might be used in an expert system) cannot easily be applied.
  643. Almost any finite-dimensional vector function on a compact set can be
  644. approximated to arbitrary precision by feedforward NNs (which are the type
  645. most often used in practical applications) if you have enough data and
  646. enough computing resources. 
  647.  
  648. To be somewhat more precise, feedforward networks with a single hidden layer
  649. and trained by least-squares are statistically consistent estimators of
  650. arbitrary square-integrable regression functions under certain
  651. practically-satisfiable assumptions regarding sampling, target noise, number
  652. of hidden units, size of weights, and form of hidden-unit activation
  653. function (White, 1990). Such networks can also be trained as statistically
  654. consistent estimators of derivatives of regression functions (White and
  655. Gallant, 1992) and quantiles of the conditional noise distribution (White,
  656. 1992a). Feedforward networks with a single hidden layer using threshold or
  657. sigmoid activation functions are universally consistent estimators of binary
  658. classifications (Farag≤ and Lugosi, 1993; Lugosi and Zeger 1995; Devroye,
  659. Gy÷rfi, and Lugosi, 1996) under similar assumptions. Note that these results
  660. are stronger than the universal approximation theorems that merely show the
  661. existence of weights for arbitrarily accurate approximations, without
  662. demonstrating that such weights can be obtained by learning. 
  663.  
  664. Unfortunately, the above consistency results depend on one impractical
  665. assumption: that the networks are trained by an error (L_p error or
  666. misclassification rate) minimization technique that comes arbitrarily close
  667. to the global minimum. Such minimization is computationally intractable
  668. except in small or simple problems (Blum and Rivest, 1989; Judd, 1990). In
  669. practice, however, you can usually get good results without doing a
  670. full-blown global optimization; e.g., using multiple (say, 10 to 1000)
  671. random weight initializations is usually sufficient. 
  672.  
  673. One example of a function that a typical neural net cannot learn is Y=1/X
  674. on the open interval (0,1). An open interval is not a compact set. With any
  675. bounded output activation function, the error will get arbitrarily large as
  676. the input approaches zero. Of course, you could make the output activation
  677. function a reciprocal function and easily get a perfect fit, but neural
  678. networks are most often used in situations where you do not have enough
  679. prior knowledge to set the activation function in such a clever way. There
  680. are also many other important problems that are so difficult that a neural
  681. network will be unable to learn them without memorizing the entire training
  682. set, such as: 
  683.  
  684.  o Predicting random or pseudo-random numbers. 
  685.  o Factoring large integers. 
  686.  o Determing whether a large integer is prime or composite. 
  687.  o Decrypting anything encrypted by a good algorithm. 
  688.  
  689. And it is important to understand that there are no methods for training NNs
  690. that can magically create information that is not contained in the training
  691. data. 
  692.  
  693. Feedforward NNs are restricted to finite-dimensional input and output
  694. spaces. Recurrent NNs can in theory process arbitrarily long strings of
  695. numbers or symbols. But training recurrent NNs has posed much more serious
  696. practical difficulties than training feedforward networks. NNs are, at least
  697. today, difficult to apply successfully to problems that concern manipulation
  698. of symbols and rules, but much research is being done. 
  699.  
  700. There have been attempts to pack recursive structures into
  701. finite-dimensional real vectors (Blair, 1997; Pollack, 1990; Chalmers, 1990;
  702. Chrisman, 1991; Plate, 1994; Hammerton, 1998). Obviously, finite precision
  703. limits how far the recursion can go (Hadley, 1999). The practicality of such
  704. methods is open to debate. 
  705.  
  706. As for simulating human consciousness and emotion, that's still in the realm
  707. of science fiction. Consciousness is still one of the world's great
  708. mysteries. Artificial NNs may be useful for modeling some aspects of or
  709. prerequisites for consciousness, such as perception and cognition, but ANNs
  710. provide no insight so far into what Chalmers (1996, p. xi) calls the "hard
  711. problem": 
  712.  
  713.    Many books and articles on consciousness have appeared in the past
  714.    few years, and one might think we are making progress. But on a
  715.    closer look, most of this work leaves the hardest problems about
  716.    consciousness untouched. Often, such work addresses what might be
  717.    called the "easy problems" of consciousness: How does the brain
  718.    process environmental stimulation? How does it integrate information?
  719.    How do we produce reports on internal states? These are important
  720.    questions, but to answer them is not to solve the hard problem: Why
  721.    is all this processing accompanied by an experienced inner life? 
  722.  
  723. For more information on consciousness, see the on-line journal Psyche at 
  724. http://psyche.cs.monash.edu.au/index.html. 
  725.  
  726. For examples of specific applications of NNs, see What are some applications
  727. of NNs? 
  728.  
  729. References: 
  730.  
  731.    Blair, A.D. (1997), "Scaling Up RAAMs," Brandeis University Computer
  732.    Science Technical Report CS-97-192, 
  733.    http://www.demo.cs.brandeis.edu/papers/long.html#sur97 
  734.  
  735.    Blum, A., and Rivest, R.L. (1989), "Training a 3-node neural network is
  736.    NP-complete," in Touretzky, D.S. (ed.), Advances in Neural Information
  737.    Processing Systems 1, San Mateo, CA: Morgan Kaufmann, 494-501. 
  738.  
  739.    Chalmers, D.J. (1990), "Syntactic Transformations on Distributed
  740.    Representations," Connection Science, 2, 53-62, 
  741.    http://ling.ucsc.edu/~chalmers/papers/transformations.ps 
  742.  
  743.    Chalmers, D.J. (1996), The Conscious Mind: In Search of a Fundamental
  744.    Theory, NY: Oxford University Press. 
  745.  
  746.    Chrisman, L. (1991), "Learning Recursive Distributed Representations for
  747.    Holistic Computation", Connection Science, 3, 345-366, 
  748.    ftp://reports.adm.cs.cmu.edu/usr/anon/1991/CMU-CS-91-154.ps 
  749.  
  750.    Collier, R. (1994), "An historical overview of natural language
  751.    processing systems that learn," Artificial Intelligence Review, 8(1),
  752.    ??-??. 
  753.  
  754.    Devroye, L., Gy÷rfi, L., and Lugosi, G. (1996), A Probabilistic Theory of
  755.    Pattern Recognition, NY: Springer. 
  756.  
  757.    Farag≤, A. and Lugosi, G. (1993), "Strong Universal Consistency of Neural
  758.    Network Classifiers," IEEE Transactions on Information Theory, 39,
  759.    1146-1151. 
  760.  
  761.    Hadley, R.F. (1999), "Cognition and the computational power of
  762.    connectionist networks," http://www.cs.sfu.ca/~hadley/online.html 
  763.  
  764.    Hammerton, J.A. (1998), "Holistic Computation: Reconstructing a muddled
  765.    concept," Connection Science, 10, 3-19, 
  766.    http://www.tardis.ed.ac.uk/~james/CNLP/holcomp.ps.gz 
  767.  
  768.    Judd, J.S. (1990), Neural Network Design and the Complexity of
  769.    Learning, Cambridge, MA: The MIT Press. 
  770.  
  771.    Lugosi, G., and Zeger, K. (1995), "Nonparametric Estimation via Empirical
  772.    Risk Minimization," IEEE Transactions on Information Theory, 41, 677-678.
  773.  
  774.    Orponen, P. (2000), "An overview of the computational power of recurrent
  775.    neural networks," Finnish AI Conference, Helsinki, 
  776.    http://www.math.jyu.fi/~orponen/papers/rnncomp.ps 
  777.  
  778.    Plate, T.A. (1994), Distributed Representations and Nested
  779.    Compositional Structure, Ph.D. Thesis, University of Toronto, 
  780.    ftp://ftp.cs.utoronto.ca/pub/tap/ 
  781.  
  782.    Pollack, J. B. (1990), "Recursive Distributed Representations,"
  783.    Artificial Intelligence 46, 1, 77-105, 
  784.    http://www.demo.cs.brandeis.edu/papers/long.html#raam 
  785.  
  786.    Siegelmann, H.T. (1998), Neural Networks and Analog Computation:
  787.    Beyond the Turing Limit, Boston: Birkhauser, ISBN 0-8176-3949-7, 
  788.    http://iew3.technion.ac.il:8080/Home/Users/iehava/book/ 
  789.  
  790.    Siegelmann, H.T., and Sontag, E.D. (1999), "Turing Computability with
  791.    Neural Networks," Applied Mathematics Letters, 4, 77-80. 
  792.  
  793.    Sima, J., and Orponen, P. (2001), "Computing with continuous-time
  794.    Liapunov systems," 33rd ACM STOC, 
  795.    http://www.math.jyu.fi/~orponen/papers/liapcomp.ps 
  796.  
  797.    Valiant, L. (1988), "Functionality in Neural Nets," Learning and
  798.    Knowledge Acquisition, Proc. AAAI, 629-634. 
  799.  
  800.    White, H. (1990), "Connectionist Nonparametric Regression: Multilayer
  801.    Feedforward Networks Can Learn Arbitrary Mappings," Neural Networks, 3,
  802.    535-550. Reprinted in White (1992b). 
  803.  
  804.    White, H. (1992a), "Nonparametric Estimation of Conditional Quantiles
  805.    Using Neural Networks," in Page, C. and Le Page, R. (eds.), Proceedings
  806.    of the 23rd Sympsium on the Interface: Computing Science and Statistics,
  807.    Alexandria, VA: American Statistical Association, pp. 190-199. Reprinted
  808.    in White (1992b). 
  809.  
  810.    White, H. (1992b), Artificial Neural Networks: Approximation and
  811.    Learning Theory, Blackwell. 
  812.  
  813.    White, H., and Gallant, A.R. (1992), "On Learning the Derivatives of an
  814.    Unknown Mapping with Multilayer Feedforward Networks," Neural Networks,
  815.    5, 129-138. Reprinted in White (1992b). 
  816.  
  817. ------------------------------------------------------------------------
  818.  
  819. Subject: Who is concerned with NNs?
  820. ===================================
  821.  
  822. Neural Networks are interesting for quite a lot of very different people: 
  823.  
  824.  o Computer scientists want to find out about the properties of non-symbolic
  825.    information processing with neural nets and about learning systems in
  826.    general. 
  827.  o Statisticians use neural nets as flexible, nonlinear regression and
  828.    classification models. 
  829.  o Engineers of many kinds exploit the capabilities of neural networks in
  830.    many areas, such as signal processing and automatic control. 
  831.  o Cognitive scientists view neural networks as a possible apparatus to
  832.    describe models of thinking and consciousness (High-level brain
  833.    function). 
  834.  o Neuro-physiologists use neural networks to describe and explore
  835.    medium-level brain function (e.g. memory, sensory system, motorics). 
  836.  o Physicists use neural networks to model phenomena in statistical
  837.    mechanics and for a lot of other tasks. 
  838.  o Biologists use Neural Networks to interpret nucleotide sequences. 
  839.  o Philosophers and some other people may also be interested in Neural
  840.    Networks for various reasons. 
  841.  
  842. For world-wide lists of groups doing research on NNs, see the Foundation for
  843. Neural Networks's (SNN) page at 
  844. http://www.mbfys.kun.nl/snn/pointers/groups.html and see Neural Networks
  845. Research on the IEEE Neural Network Council's homepage 
  846. http://www.ieee.org/nnc. 
  847.  
  848. ------------------------------------------------------------------------
  849.  
  850. Subject: How many kinds of NNs exist?
  851. =====================================
  852.  
  853. There are many many kinds of NNs by now. Nobody knows exactly how many. New
  854. ones (or at least variations of old ones) are invented every week. Below is
  855. a collection of some of the most well known methods, not claiming to be
  856. complete.
  857.  
  858. The two main kinds of learning algorithms are supervised and unsupervised. 
  859.  
  860.  o In supervised learning, the correct results (target values, desired
  861.    outputs) are known and are given to the NN during training so that the NN
  862.    can adjust its weights to try match its outputs to the target values.
  863.    After training, the NN is tested by giving it only input values, not
  864.    target values, and seeing how close it comes to outputting the correct
  865.    target values. 
  866.  o In unsupervised learning, the NN is not provided with the correct results
  867.    during training. Unsupervised NNs usually perform some kind of data
  868.    compression, such as dimensionality reduction or clustering. See "What
  869.    does unsupervised learning learn?" 
  870.  
  871. The distinction between supervised and unsupervised methods is not always
  872. clear-cut. An unsupervised method can learn a summary of a probability
  873. distribution, then that summarized distribution can be used to make
  874. predictions. Furthermore, supervised methods come in two subvarieties:
  875. auto-associative and hetero-associative. In auto-associative learning, the
  876. target values are the same as the inputs, whereas in hetero-associative
  877. learning, the targets are generally different from the inputs. Many
  878. unsupervised methods are equivalent to auto-associative supervised methods.
  879. For more details, see "What does unsupervised learning learn?" 
  880.  
  881. Two major kinds of network topology are feedforward and feedback. 
  882.  
  883.  o In a feedforward NN, the connections between units do not form cycles.
  884.    Feedforward NNs usually produce a response to an input quickly. Most
  885.    feedforward NNs can be trained using a wide variety of efficient
  886.    conventional numerical methods (e.g. see "What are conjugate gradients,
  887.    Levenberg-Marquardt, etc.?") in addition to algorithms invented by NN
  888.    reserachers. 
  889.  o In a feedback or recurrent NN, there are cycles in the connections. In
  890.    some feedback NNs, each time an input is presented, the NN must iterate
  891.    for a potentially long time before it produces a response. Feedback NNs
  892.    are usually more difficult to train than feedforward NNs. 
  893.  
  894. Some kinds of NNs (such as those with winner-take-all units) can be
  895. implemented as either feedforward or feedback networks. 
  896.  
  897. NNs also differ in the kinds of data they accept. Two major kinds of data
  898. are categorical and quantitative. 
  899.  
  900.  o Categorical variables take only a finite (technically, countable) number
  901.    of possible values, and there are usually several or more cases falling
  902.    into each category. Categorical variables may have symbolic values (e.g.,
  903.    "male" and "female", or "red", "green" and "blue") that must be encoded
  904.    into numbers before being given to the network (see "How should
  905.    categories be encoded?") Both supervised learning with categorical target
  906.    values and unsupervised learning with categorical outputs are called
  907.    "classification." 
  908.  o Quantitative variables are numerical measurements of some attribute, such
  909.    as length in meters. The measurements must be made in such a way that at
  910.    least some arithmetic relations among the measurements reflect analogous
  911.    relations among the attributes of the objects that are measured. For more
  912.    information on measurement theory, see the Measurement Theory FAQ at 
  913.    ftp://ftp.sas.com/pub/neural/measurement.html. Supervised learning with
  914.    quantitative target values is called "regression." 
  915.  
  916. Some variables can be treated as either categorical or quantitative, such as
  917. number of children or any binary variable. Most regression algorithms can
  918. also be used for supervised classification by encoding categorical target
  919. values as 0/1 binary variables and using those binary variables as target
  920. values for the regression algorithm. The outputs of the network are
  921. posterior probabilities when any of the most common training methods are
  922. used. 
  923.  
  924. Here are some well-known kinds of NNs: 
  925.  
  926. 1. Supervised 
  927.  
  928.    1. Feedforward 
  929.  
  930.        o Linear 
  931.           o Hebbian - Hebb (1949), Fausett (1994) 
  932.           o Perceptron - Rosenblatt (1958), Minsky and Papert (1969/1988),
  933.             Fausett (1994) 
  934.           o Adaline - Widrow and Hoff (1960), Fausett (1994) 
  935.           o Higher Order - Bishop (1995) 
  936.           o Functional Link - Pao (1989) 
  937.        o MLP: Multilayer perceptron - Bishop (1995), Reed and Marks (1999),
  938.          Fausett (1994) 
  939.           o Backprop - Rumelhart, Hinton, and Williams (1986) 
  940.           o Cascade Correlation - Fahlman and Lebiere (1990), Fausett (1994)
  941.           o Quickprop - Fahlman (1989) 
  942.           o RPROP - Riedmiller and Braun (1993) 
  943.        o RBF networks - Bishop (1995), Moody and Darken (1989), Orr (1996) 
  944.           o OLS: Orthogonal Least Squares - Chen, Cowan and Grant (1991) 
  945.        o CMAC: Cerebellar Model Articulation Controller - Albus (1975),
  946.          Brown and Harris (1994) 
  947.        o Classification only 
  948.           o LVQ: Learning Vector Quantization - Kohonen (1988), Fausett
  949.             (1994) 
  950.           o PNN: Probabilistic Neural Network - Specht (1990), Masters
  951.             (1993), Hand (1982), Fausett (1994) 
  952.        o Regression only 
  953.           o GNN: General Regression Neural Network - Specht (1991), Nadaraya
  954.             (1964), Watson (1964) 
  955.  
  956.    2. Feedback - Hertz, Krogh, and Palmer (1991), Medsker and Jain (2000)
  957.  
  958.        o BAM: Bidirectional Associative Memory - Kosko (1992), Fausett
  959.          (1994) 
  960.        o Boltzman Machine - Ackley et al. (1985), Fausett (1994) 
  961.        o Recurrent time series 
  962.           o Backpropagation through time - Werbos (1990) 
  963.           o Elman - Elman (1990) 
  964.           o FIR: Finite Impulse Response - Wan (1990) 
  965.           o Jordan - Jordan (1986) 
  966.           o Real-time recurrent network - Williams and Zipser (1989) 
  967.           o Recurrent backpropagation - Pineda (1989), Fausett (1994) 
  968.           o TDNN: Time Delay NN - Lang, Waibel and Hinton (1990) 
  969.  
  970.    3. Competitive 
  971.  
  972.        o ARTMAP - Carpenter, Grossberg and Reynolds (1991) 
  973.        o Fuzzy ARTMAP - Carpenter, Grossberg, Markuzon, Reynolds and Rosen
  974.          (1992), Kasuba (1993) 
  975.        o Gaussian ARTMAP - Williamson (1995) 
  976.        o Counterpropagation - Hecht-Nielsen (1987; 1988; 1990), Fausett
  977.          (1994) 
  978.        o Neocognitron - Fukushima, Miyake, and Ito (1983), Fukushima,
  979.          (1988), Fausett (1994) 
  980.  
  981. 2. Unsupervised - Hertz, Krogh, and Palmer (1991) 
  982.  
  983.    1. Competitive 
  984.  
  985.        o Vector Quantization 
  986.           o Grossberg - Grossberg (1976) 
  987.           o Kohonen - Kohonen (1984) 
  988.           o Conscience - Desieno (1988) 
  989.        o Self-Organizing Map 
  990.           o Kohonen - Kohonen (1995), Fausett (1994) 
  991.           o GTM: - Bishop, SvensΘn and Williams (1997) 
  992.           o Local Linear - Mulier and Cherkassky (1995) 
  993.        o Adaptive resonance theory 
  994.           o ART 1 - Carpenter and Grossberg (1987a), Moore (1988), Fausett
  995.             (1994) 
  996.           o ART 2 - Carpenter and Grossberg (1987b), Fausett (1994) 
  997.           o ART 2-A - Carpenter, Grossberg and Rosen (1991a) 
  998.           o ART 3 - Carpenter and Grossberg (1990) 
  999.           o Fuzzy ART - Carpenter, Grossberg and Rosen (1991b) 
  1000.        o DCL: Differential Competitive Learning - Kosko (1992) 
  1001.  
  1002.    2. Dimension Reduction - Diamantaras and Kung (1996) 
  1003.  
  1004.        o Hebbian - Hebb (1949), Fausett (1994) 
  1005.        o Oja - Oja (1989) 
  1006.        o Sanger - Sanger (1989) 
  1007.        o Differential Hebbian - Kosko (1992) 
  1008.  
  1009.    3. Autoassociation 
  1010.  
  1011.        o Linear autoassociator - Anderson et al. (1977), Fausett (1994) 
  1012.        o BSB: Brain State in a Box - Anderson et al. (1977), Fausett (1994) 
  1013.        o Hopfield - Hopfield (1982), Fausett (1994) 
  1014.  
  1015. 3. Nonlearning 
  1016.  
  1017.    1. Hopfield - Hertz, Krogh, and Palmer (1991) 
  1018.    2. various networks for optimization - Cichocki and Unbehauen (1993) 
  1019.  
  1020. References: 
  1021.  
  1022.    Ackley, D.H., Hinton, G.F., and Sejnowski, T.J. (1985), "A learning
  1023.    algorithm for Boltzman machines," Cognitive Science, 9, 147-169. 
  1024.  
  1025.    Albus, J.S (1975), "New Approach to Manipulator Control: The Cerebellar
  1026.    Model Articulation Controller (CMAC)," Transactions of the ASME Journal
  1027.    of Dynamic Systems, Measurement, and Control, September 1975, 220-27. 
  1028.  
  1029.    Anderson, J.A., and Rosenfeld, E., eds. (1988), Neurocomputing:
  1030.    Foundatons of Research, Cambridge, MA: The MIT Press. 
  1031.  
  1032.    Anderson, J.A., Silverstein, J.W., Ritz, S.A., and Jones, R.S. (1977)
  1033.    "Distinctive features, categorical perception, and probability learning:
  1034.    Some applications of a neural model," Psychological Rveiew, 84, 413-451.
  1035.    Reprinted in Anderson and Rosenfeld (1988). 
  1036.  
  1037.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  1038.    Oxford University Press. 
  1039.  
  1040.    Bishop, C.M., SvensΘn, M., and Williams, C.K.I (1997), "GTM: A principled
  1041.    alternative to the self-organizing map," in Mozer, M.C., Jordan, M.I.,
  1042.    and Petsche, T., (eds.) Advances in Neural Information Processing
  1043.    Systems 9, Cambrideg, MA: The MIT Press, pp. 354-360. Also see 
  1044.    http://www.ncrg.aston.ac.uk/GTM/ 
  1045.  
  1046.    Brown, M., and Harris, C. (1994), Neurofuzzy Adaptive Modelling and
  1047.    Control, NY: Prentice Hall. 
  1048.  
  1049.    Carpenter, G.A., Grossberg, S. (1987a), "A massively parallel
  1050.    architecture for a self-organizing neural pattern recognition machine,"
  1051.    Computer Vision, Graphics, and Image Processing, 37, 54-115. 
  1052.  
  1053.    Carpenter, G.A., Grossberg, S. (1987b), "ART 2: Self-organization of
  1054.    stable category recognition codes for analog input patterns," Applied
  1055.    Optics, 26, 4919-4930. 
  1056.  
  1057.    Carpenter, G.A., Grossberg, S. (1990), "ART 3: Hierarchical search using
  1058.    chemical transmitters in self-organizing pattern recognition
  1059.    architectures. Neural Networks, 3, 129-152. 
  1060.  
  1061.    Carpenter, G.A., Grossberg, S., Markuzon, N., Reynolds, J.H., and Rosen,
  1062.    D.B. (1992), "Fuzzy ARTMAP: A neural network architecture for incremental
  1063.    supervised learning of analog multidimensional maps," IEEE Transactions
  1064.    on Neural Networks, 3, 698-713 
  1065.  
  1066.    Carpenter, G.A., Grossberg, S., Reynolds, J.H. (1991), "ARTMAP:
  1067.    Supervised real-time learning and classification of nonstationary data by
  1068.    a self-organizing neural network," Neural Networks, 4, 565-588. 
  1069.  
  1070.    Carpenter, G.A., Grossberg, S., Rosen, D.B. (1991a), "ART 2-A: An
  1071.    adaptive resonance algorithm for rapid category learning and
  1072.    recognition," Neural Networks, 4, 493-504. 
  1073.  
  1074.    Carpenter, G.A., Grossberg, S., Rosen, D.B. (1991b), "Fuzzy ART: Fast
  1075.    stable learning and categorization of analog patterns by an adaptive
  1076.    resonance system," Neural Networks, 4, 759-771. 
  1077.  
  1078.    Chen, S., Cowan, C.F.N., and Grant, P.M. (1991), "Orthogonal least
  1079.    squares learning for radial basis function networks," IEEE Transactions
  1080.    on Neural Networks, 2, 302-309. 
  1081.  
  1082.    Cichocki, A. and Unbehauen, R. (1993). Neural Networks for Optimization
  1083.    and Signal Processing. NY: John Wiley & Sons, ISBN 0-471-93010-5. 
  1084.  
  1085.    Desieno, D. (1988), "Adding a conscience to competitive learning," Proc.
  1086.    Int. Conf. on Neural Networks, I, 117-124, IEEE Press. 
  1087.  
  1088.    Diamantaras, K.I., and Kung, S.Y. (1996) Principal Component Neural
  1089.    Networks: Theory and Applications, NY: Wiley. 
  1090.  
  1091.    Elman, J.L. (1990), "Finding structure in time," Cognitive Science, 14,
  1092.    179-211. 
  1093.  
  1094.    Fahlman, S.E. (1989), "Faster-Learning Variations on Back-Propagation: An
  1095.    Empirical Study", in Touretzky, D., Hinton, G, and Sejnowski, T., eds., 
  1096.    Proceedings of the 1988 Connectionist Models Summer School, Morgan
  1097.    Kaufmann, 38-51. 
  1098.  
  1099.    Fahlman, S.E., and Lebiere, C. (1990), "The Cascade-Correlation Learning
  1100.    Architecture", in Touretzky, D. S. (ed.), Advances in Neural Information
  1101.    Processing Systems 2,, Los Altos, CA: Morgan Kaufmann Publishers, pp.
  1102.    524-532. 
  1103.  
  1104.    Fausett, L. (1994), Fundamentals of Neural Networks, Englewood Cliffs,
  1105.    NJ: Prentice Hall. 
  1106.  
  1107.    Fukushima, K., Miyake, S., and Ito, T. (1983), "Neocognitron: A neural
  1108.    network model for a mechanism of visual pattern recognition," IEEE
  1109.    Transactions on Systems, Man, and Cybernetics, 13, 826-834. 
  1110.  
  1111.    Fukushima, K. (1988), "Neocognitron: A hierarchical neural network
  1112.    capable of visual pattern recognition," Neural Networks, 1, 119-130. 
  1113.  
  1114.    Grossberg, S. (1976), "Adaptive pattern classification and universal
  1115.    recoding: I. Parallel development and coding of neural feature
  1116.    detectors," Biological Cybernetics, 23, 121-134 
  1117.  
  1118.    Hand, D.J. (1982) Kernel Discriminant Analysis, Research Studies Press. 
  1119.  
  1120.    Hebb, D.O. (1949), The Organization of Behavior, NY: John Wiley & Sons. 
  1121.  
  1122.    Hecht-Nielsen, R. (1987), "Counterpropagation networks," Applied Optics,
  1123.    26, 4979-4984. 
  1124.  
  1125.    Hecht-Nielsen, R. (1988), "Applications of counterpropagation networks,"
  1126.    Neural Networks, 1, 131-139. 
  1127.  
  1128.    Hecht-Nielsen, R. (1990), Neurocomputing, Reading, MA: Addison-Wesley. 
  1129.  
  1130.    Hertz, J., Krogh, A., and Palmer, R. (1991). Introduction to the Theory of
  1131.    Neural Computation. Addison-Wesley: Redwood City, California. 
  1132.  
  1133.    Hopfield, J.J. (1982), "Neural networks and physical systems with
  1134.    emergent collective computational abilities," Proceedings of the National
  1135.    Academy of Sciences, 79, 2554-2558. Reprinted in Anderson and Rosenfeld
  1136.    (1988). 
  1137.  
  1138.    Jordan, M. I. (1986), "Attractor dynamics and parallelism in a
  1139.    connectionist sequential machine," In Proceedings of the Eighth Annual
  1140.    conference of the Cognitive Science Society, pages 531-546. Lawrence
  1141.    Erlbaum. 
  1142.  
  1143.    Kasuba, T. (1993), "Simplified Fuzzy ARTMAP," AI Expert, 8, 18-25. 
  1144.  
  1145.    Kohonen, T. (1984), Self-Organization and Associative Memory, Berlin:
  1146.    Springer. 
  1147.  
  1148.    Kohonen, T. (1988), "Learning Vector Quantization," Neural Networks, 1
  1149.    (suppl 1), 303. 
  1150.  
  1151.    Kohonen, T. (1995/1997), Self-Organizing Maps, Berlin: Springer-Verlag.
  1152.    First edition was 1995, second edition 1997. See 
  1153.    http://www.cis.hut.fi/nnrc/new_book.html for information on the second
  1154.    edition. 
  1155.  
  1156.    Kosko, B.(1992), Neural Networks and Fuzzy Systems, Englewood Cliffs,
  1157.    N.J.: Prentice-Hall. 
  1158.  
  1159.    Lang, K. J., Waibel, A. H., and Hinton, G. (1990), "A time-delay neural
  1160.    network architecture for isolated word recognition," Neural Networks, 3,
  1161.    23-44. 
  1162.  
  1163.    Masters, T. (1993). Practical Neural Network Recipes in C++, San Diego:
  1164.    Academic Press. 
  1165.  
  1166.    Masters, T. (1995) Advanced Algorithms for Neural Networks: A C++
  1167.    Sourcebook, NY: John Wiley and Sons, ISBN 0-471-10588-0 
  1168.  
  1169.    Medsker, L.R., and Jain, L.C., eds. (2000), Recurrent Neural Networks:
  1170.    Design and Applications, Boca Raton, FL: CRC Press, ISBN 0-8493-7181-3. 
  1171.  
  1172.    Minsky, M.L., and Papert, S.A. (1969/1988), Perceptrons, Cambridge, MA:
  1173.    The MIT Press (first edition, 1969; expanded edition, 1988). 
  1174.  
  1175.    Moody, J. and Darken, C.J. (1989), "Fast learning in networks of
  1176.    locally-tuned processing units," Neural Computation, 1, 281-294. 
  1177.  
  1178.    Moore, B. (1988), "ART 1 and Pattern Clustering," in Touretzky, D.,
  1179.    Hinton, G. and Sejnowski, T., eds., Proceedings of the 1988
  1180.    Connectionist Models Summer School, 174-185, San Mateo, CA: Morgan
  1181.    Kaufmann. 
  1182.  
  1183.    Mulier, F. and Cherkassky, V. (1995), "Self-Organization as an Iterative
  1184.    Kernel Smoothing Process," Neural Computation, 7, 1165-1177. 
  1185.  
  1186.    Nadaraya, E.A. (1964) "On estimating regression", Theory Probab. Applic.
  1187.    10, 186-90. 
  1188.  
  1189.    Oja, E. (1989), "Neural networks, principal components, and subspaces,"
  1190.    International Journal of Neural Systems, 1, 61-68. 
  1191.  
  1192.    Orr, M.J.L. (1996), "Introduction to radial basis function networks," 
  1193.    http://www.anc.ed.ac.uk/~mjo/papers/intro.ps or 
  1194.    http://www.anc.ed.ac.uk/~mjo/papers/intro.ps.gz 
  1195.  
  1196.    Pao, Y. H. (1989), Adaptive Pattern Recognition and Neural Networks,
  1197.    Reading, MA: Addison-Wesley Publishing Company, ISBN 0-201-12584-6. 
  1198.  
  1199.    Pineda, F.J. (1989), "Recurrent back-propagation and the dynamical
  1200.    approach to neural computation," Neural Computation, 1, 161-172. 
  1201.  
  1202.    Reed, R.D., and Marks, R.J, II (1999), Neural Smithing: Supervised
  1203.    Learning in Feedforward Artificial Neural Networks, Cambridge, MA: The
  1204.    MIT Press, ISBN 0-262-18190-8.
  1205.  
  1206.    Riedmiller, M. and Braun, H. (1993), "A Direct Adaptive Method for Faster
  1207.    Backpropagation Learning: The RPROP Algorithm", Proceedings of the IEEE
  1208.    International Conference on Neural Networks 1993, San Francisco: IEEE. 
  1209.  
  1210.    Rosenblatt, F. (1958), "The perceptron: A probabilistic model for
  1211.    information storage and organization in the brain., Psychological Review,
  1212.    65, 386-408. 
  1213.  
  1214.    Rumelhart, D.E., Hinton, G.E., and Williams, R.J. (1986), "Learning
  1215.    internal representations by error propagation", in Rumelhart, D.E. and
  1216.    McClelland, J. L., eds. (1986), Parallel Distributed Processing:
  1217.    Explorations in the Microstructure of Cognition, Volume 1, 318-362,
  1218.    Cambridge, MA: The MIT Press. 
  1219.  
  1220.    Sanger, T.D. (1989), "Optimal unsupervised learning in a single-layer
  1221.    linear feedforward neural network," Neural Networks, 2, 459-473. 
  1222.  
  1223.    Specht, D.F. (1990) "Probabilistic neural networks," Neural Networks, 3,
  1224.    110-118. 
  1225.  
  1226.    Specht, D.F. (1991) "A Generalized Regression Neural Network", IEEE
  1227.    Transactions on Neural Networks, 2, Nov. 1991, 568-576. 
  1228.  
  1229.    Wan, E.A. (1990), "Temporal backpropagation: An efficient algorithm for
  1230.    finite impulse response neural networks," in Proceedings of the 1990
  1231.    Connectionist Models Summer School, Touretzky, D.S., Elman, J.L.,
  1232.    Sejnowski, T.J., and Hinton, G.E., eds., San Mateo, CA: Morgan Kaufmann,
  1233.    pp. 131-140. 
  1234.  
  1235.    Watson, G.S. (1964) "Smooth regression analysis", Sankhy{\=a}, Series A,
  1236.    26, 359-72. 
  1237.  
  1238.    Werbos, P.J. (1990), "Backpropagtion through time: What it is and how to
  1239.    do it," Proceedings of the IEEE, 78, 1550-1560. 
  1240.  
  1241.    Widrow, B., and Hoff, M.E., Jr., (1960), "Adaptive switching circuits,"
  1242.    IRE WESCON Convention Record. part 4, pp. 96-104. Reprinted in Anderson
  1243.    and Rosenfeld (1988). 
  1244.  
  1245.    Williams, R.J., and Zipser, D., (1989), "A learning algorithm for
  1246.    continually running fully recurrent neurla networks," Neural Computation,
  1247.    1, 270-280. 
  1248.  
  1249.    Williamson, J.R. (1995), "Gaussian ARTMAP: A neural network for fast
  1250.    incremental learning of noisy multidimensional maps," Technical Report
  1251.    CAS/CNS-95-003, Boston University, Center of Adaptive Systems and
  1252.    Department of Cognitive and Neural Systems. 
  1253.  
  1254. ------------------------------------------------------------------------
  1255.  
  1256. Subject: How many kinds of Kohonen networks exist?
  1257. ==================================================
  1258. (And what is k-means?)
  1259. ======================
  1260.  
  1261. Teuvo Kohonen is one of the most famous and prolific researchers in
  1262. neurocomputing, and he has invented a variety of networks. But many people
  1263. refer to "Kohonen networks" without specifying which kind of Kohonen
  1264. network, and this lack of precision can lead to confusion. The phrase
  1265. "Kohonen network" most often refers to one of the following three types of
  1266. networks: 
  1267.  
  1268.  o VQ: Vector Quantization--competitive networks that can be viewed as
  1269.    unsupervised density estimators or autoassociators (Kohonen, 1995/1997;
  1270.    Hecht-Nielsen 1990), closely related to k-means cluster analysis
  1271.    (MacQueen, 1967; Anderberg, 1973). Each competitive unit corresponds to a
  1272.    cluster, the center of which is called a "codebook vector". Kohonen's
  1273.    learning law is an on-line algorithm that finds the codebook vector
  1274.    closest to each training case and moves the "winning" codebook vector
  1275.    closer to the training case. The codebook vector is moved a certain
  1276.    proportion of the distance between it and the training case, the
  1277.    proportion being specified by the learning rate, that is: 
  1278.  
  1279.       new_codebook = old_codebook * (1-learning_rate)
  1280.  
  1281.                    + data * learning_rate
  1282.  
  1283.    Numerous similar algorithms have been developed in the neural net and
  1284.    machine learning literature; see Hecht-Nielsen (1990) for a brief
  1285.    historical overview, and Kosko (1992) for a more technical overview of
  1286.    competitive learning. 
  1287.  
  1288.    MacQueen's on-line k-means algorithm is essentially the same as Kohonen's
  1289.    learning law except that the learning rate is the reciprocal of the
  1290.    number of cases that have been assigned to the winnning cluster. Suppose
  1291.    that when processing a given training case, N cases have been previously
  1292.    assigned to the winning codebook vector. Then the codebook vector is
  1293.    updated as: 
  1294.  
  1295.       new_codebook = old_codebook * N/(N+1)
  1296.  
  1297.                    + data * 1/(N+1)
  1298.  
  1299.    This reduction of the learning rate makes each codebook vector the mean
  1300.    of all cases assigned to its cluster and guarantees convergence of the
  1301.    algorithm to an optimum value of the error function (the sum of squared
  1302.    Euclidean distances between cases and codebook vectors) as the number of
  1303.    training cases goes to infinity. Kohonen's learning law with a fixed
  1304.    learning rate does not converge. As is well known from stochastic
  1305.    approximation theory, convergence requires the sum of the infinite
  1306.    sequence of learning rates to be infinite, while the sum of squared
  1307.    learning rates must be finite (Kohonen, 1995, p. 34). These requirements
  1308.    are satisfied by MacQueen's k-means algorithm. 
  1309.  
  1310.    Kohonen VQ is often used for off-line learning, in which case the
  1311.    training data are stored and Kohonen's learning law is applied to each
  1312.    case in turn, cycling over the data set many times (incremental
  1313.    training). Convergence to a local optimum can be obtained as the training
  1314.    time goes to infinity if the learning rate is reduced in a suitable
  1315.    manner as described above. However, there are off-line k-means
  1316.    algorithms, both batch and incremental, that converge in a finite number
  1317.    of iterations (Anderberg, 1973; Hartigan, 1975; Hartigan and Wong, 1979).
  1318.    The batch algorithms such as Forgy's (1965; Anderberg, 1973) have the
  1319.    advantage for large data sets, since the incremental methods require you
  1320.    either to store the cluster membership of each case or to do two
  1321.    nearest-cluster computations as each case is processed. Forgy's algorithm
  1322.    is a simple alternating least-squares algorithm consisting of the
  1323.    following steps:
  1324.  
  1325.    1. Initialize the codebook vectors. 
  1326.    2. Repeat the following two steps until convergence:
  1327.       A. Read the data, assigning each case to the nearest (using Euclidean
  1328.       distance) codebook vector.
  1329.       B. Replace each codebook vector with the mean of the cases that were
  1330.       assigned to it. 
  1331.  
  1332.    Fastest training is usually obtained if MacQueen's on-line algorithm is
  1333.    used for the first pass and off-line k-means algorithms are applied on
  1334.    subsequent passes (Bottou and Bengio, 1995). However, these training
  1335.    methods do not necessarily converge to a global optimum of the error
  1336.    function. The chance of finding a global optimum can be improved by using
  1337.    rational initialization (SAS Institute, 1989, pp. 824-825), multiple
  1338.    random initializations, or various time-consuming training methods
  1339.    intended for global optimization (Ismail and Kamel, 1989; Zeger, Vaisy,
  1340.    and Gersho, 1992). 
  1341.  
  1342.    VQ has been a popular topic in the signal processing literature, which
  1343.    has been largely separate from the literature on Kohonen networks and
  1344.    from the cluster analysis literature in statistics and taxonomy. In
  1345.    signal processing, on-line methods such as Kohonen's and MacQueen's are
  1346.    called "adaptive vector quantization" (AVQ), while off-line k-means
  1347.    methods go by the names of "Lloyd" or "Lloyd I" (Lloyd, 1982) and "LBG"
  1348.    (Linde, Buzo, and Gray, 1980). There is a recent textbook on VQ by Gersho
  1349.    and Gray (1992) that summarizes these algorithms as information
  1350.    compression methods. 
  1351.  
  1352.    Kohonen's work emphasized VQ as density estimation and hence the
  1353.    desirability of equiprobable clusters (Kohonen 1984; Hecht-Nielsen 1990).
  1354.    However, Kohonen's learning law does not produce equiprobable
  1355.    clusters--that is, the proportions of training cases assigned to each
  1356.    cluster are not usually equal. If there are I inputs and the number of
  1357.    clusters is large, the density of the codebook vectors approximates the 
  1358.    I/(I+2) power of the density of the training data (Kohonen, 1995, p.
  1359.    35; Ripley, 1996, p. 202; Zador, 1982), so the clusters are approximately
  1360.    equiprobable only if the data density is uniform or the number of inputs
  1361.    is large. The most popular method for obtaining equiprobability is
  1362.    Desieno's (1988) algorithm which adds a "conscience" value to each
  1363.    distance prior to the competition. The conscience value for each cluster
  1364.    is adjusted during training so that clusters that win more often have
  1365.    larger conscience values and are thus handicapped to even out the
  1366.    probabilities of winning in later iterations. 
  1367.  
  1368.    Kohonen's learning law is an approximation to the k-means model, which is
  1369.    an approximation to normal mixture estimation by maximum likelihood
  1370.    assuming that the mixture components (clusters) all have spherical
  1371.    covariance matrices and equal sampling probabilities. Hence if the
  1372.    population contains clusters that are not equiprobable, k-means will tend
  1373.    to produce sample clusters that are more nearly equiprobable than the
  1374.    population clusters. Corrections for this bias can be obtained by
  1375.    maximizing the likelihood without the assumption of equal sampling
  1376.    probabilities Symons (1981). Such corrections are similar to conscience
  1377.    but have the opposite effect. 
  1378.  
  1379.    In cluster analysis, the purpose is not to compress information but to
  1380.    recover the true cluster memberships. K-means differs from mixture models
  1381.    in that, for k-means, the cluster membership for each case is considered
  1382.    a separate parameter to be estimated, while mixture models estimate a
  1383.    posterior probability for each case based on the means, covariances, and
  1384.    sampling probabilities of each cluster. Balakrishnan, Cooper, Jacob, and
  1385.    Lewis (1994) found that k-means algorithms recovered cluster membership
  1386.    more accurately than Kohonen VQ. 
  1387.  
  1388.  o SOM: Self-Organizing Map--competitive networks that provide a
  1389.    "topological" mapping from the input space to the clusters (Kohonen,
  1390.    1995). The SOM was inspired by the way in which various human sensory
  1391.    impressions are neurologically mapped into the brain such that spatial or
  1392.    other relations among stimuli correspond to spatial relations among the
  1393.    neurons. In a SOM, the neurons (clusters) are organized into a
  1394.    grid--usually two-dimensional, but sometimes one-dimensional or (rarely)
  1395.    three- or more-dimensional. The grid exists in a space that is separate
  1396.    from the input space; any number of inputs may be used as long as the
  1397.    number of inputs is greater than the dimensionality of the grid space. A
  1398.    SOM tries to find clusters such that any two clusters that are close to
  1399.    each other in the grid space have codebook vectors close to each other in
  1400.    the input space. But the converse does not hold: codebook vectors that
  1401.    are close to each other in the input space do not necessarily correspond
  1402.    to clusters that are close to each other in the grid. Another way to look
  1403.    at this is that a SOM tries to embed the grid in the input space such
  1404.    every training case is close to some codebook vector, but the grid is
  1405.    bent or stretched as little as possible. Yet another way to look at it is
  1406.    that a SOM is a (discretely) smooth mapping between regions in the input
  1407.    space and points in the grid space. The best way to undestand this is to
  1408.    look at the pictures in Kohonen (1995) or various other NN textbooks. 
  1409.  
  1410.    The Kohonen algorithm for SOMs is very similar to the Kohonen algorithm
  1411.    for AVQ. Let the codebook vectors be indexed by a subscript j, and let
  1412.    the index of the codebook vector nearest to the current training case be 
  1413.    n. The Kohonen SOM algorithm requires a kernel function K(j,n), where
  1414.    K(j,j)=1 and K(j,n) is usually a non-increasing function of the
  1415.    distance (in any metric) between codebook vectors j and n in the grid
  1416.    space (not the input space). Usually, K(j,n) is zero for codebook
  1417.    vectors that are far apart in the grid space. As each training case is
  1418.    processed, all the codebook vectors are updated as: 
  1419.  
  1420.       new_codebook  = old_codebook  * [1 - K(j,n) * learning_rate]
  1421.                   j               j
  1422.  
  1423.                     + data * K(j,n) * learning_rate
  1424.  
  1425.    The kernel function does not necessarily remain constant during training.
  1426.    The neighborhood of a given codebook vector is the set of codebook
  1427.    vectors for which K(j,n)>0. To avoid poor results (akin to local
  1428.    minima), it is usually advisable to start with a large neighborhood, and
  1429.    let the neighborhood gradually shrink during training. If K(j,n)=0
  1430.    for j not equal to n, then the SOM update formula reduces to the formula
  1431.    for Kohonen vector quantization. In other words, if the neighborhood size
  1432.    (for example, the radius of the support of the kernel function K(j,n))
  1433.    is zero, the SOM algorithm degenerates into simple VQ. Hence it is
  1434.    important not to let the neighborhood size shrink all the way to zero
  1435.    during training. Indeed, the choice of the final neighborhood size is the
  1436.    most important tuning parameter for SOM training, as we will see shortly.
  1437.  
  1438.    A SOM works by smoothing the codebook vectors in a manner similar to
  1439.    kernel estimation methods, but the smoothing is done in neighborhoods in
  1440.    the grid space rather than in the input space (Mulier and Cherkassky
  1441.    1995). This is easier to see in a batch algorithm for SOMs, which is
  1442.    similar to Forgy's algorithm for batch k-means, but incorporates an extra
  1443.    smoothing process: 
  1444.  
  1445.    1. Initialize the codebook vectors. 
  1446.    2. Repeat the following two steps until convergence or boredom:
  1447.       A. Read the data, assigning each case to the nearest (using Euclidean
  1448.       distance) codebook vector. While you are doing this, keep track of the
  1449.       mean and the number of cases for each cluster. 
  1450.       B. Do a nonparametric regression using K(j,n) as a kernel function,
  1451.       with the grid points as inputs, the cluster means as target values,
  1452.       and the number of cases in each cluster as an case weight. Replace
  1453.       each codebook vector with the output of the nonparametric regression
  1454.       function evaluated at its grid point. 
  1455.  
  1456.    If the nonparametric regression method is Nadaraya-Watson kernel
  1457.    regression (see What is GRNN?), the batch SOM algorithm produces
  1458.    essentially the same results as Kohonen's algorithm, barring local
  1459.    minima. The main difference is that the batch algorithm often converges.
  1460.    Mulier and Cherkassky (1995) note that other nonparametric regression
  1461.    methods can be used to provide superior SOM algorithms. In particular,
  1462.    local-linear smoothing eliminates the notorious "border effect", whereby
  1463.    the codebook vectors near the border of the grid are compressed in the
  1464.    input space. The border effect is especially problematic when you try to
  1465.    use a high degree of smoothing in a Kohonen SOM, since all the codebook
  1466.    vectors will collapse into the center of the input space. The SOM border
  1467.    effect has the same mathematical cause as the "boundary effect" in kernel
  1468.    regression, which causes the estimated regression function to flatten out
  1469.    near the edges of the regression input space. There are various cures for
  1470.    the edge effect in nonparametric regression, of which local-linear
  1471.    smoothing is the simplest (Wand and Jones, 1995). Hence, local-linear
  1472.    smoothing also cures the border effect in SOMs. Furthermore, local-linear
  1473.    smoothing is much more general and reliable than the heuristic weighting
  1474.    rule proposed by Kohonen (1995, p. 129). 
  1475.  
  1476.    Since nonparametric regression is used in the batch SOM algorithm,
  1477.    various properties of nonparametric regression extend to SOMs. In
  1478.    particular, it is well known that the shape of the kernel function is not
  1479.    a crucial matter in nonparametric regression, hence it is not crucial in
  1480.    SOMs. On the other hand, the amount of smoothing used for nonparametric
  1481.    regression is crucial, hence the choice of the final neighborhood size in
  1482.    a SOM is crucial. Unfortunately, I am not aware of any systematic studies
  1483.    of methods for choosing the final neighborhood size. 
  1484.  
  1485.    The batch SOM algorithm is very similar to the principal curve and
  1486.    surface algorithm proposed by Hastie and Stuetzle (1989), as pointed out
  1487.    by Ritter, Martinetz, and Schulten (1992) and Mulier and Cherkassky
  1488.    (1995). A principal curve is a nonlinear generalization of a principal
  1489.    component. Given the probability distribution of a population, a
  1490.    principal curve is defined by the following self-consistency condition: 
  1491.    1. If you choose any point on a principal curve, 
  1492.    2. then find the set of all the points in the input space that are closer
  1493.       to the chosen point than any other point on the curve, 
  1494.    3. and compute the expected value (mean) of that set of points with
  1495.       respect to the probability distribution, then 
  1496.    4. you end up with the same point on the curve that you chose originally.
  1497.    See http://www.iro.umontreal.ca/~kegl/research/pcurves/ for more
  1498.    information about principal curves and surfaces. 
  1499.  
  1500.    In a multivariate normal distribution, the principal curves are the same
  1501.    as the principal components. A principal surface is the obvious
  1502.    generalization from a curve to a surface. In a multivariate normal
  1503.    distribution, the principal surfaces are the subspaces spanned by any two
  1504.    principal components.
  1505.  
  1506.    A one-dimensional local-linear batch SOM can be used to estimate a
  1507.    principal curve by letting the number of codebook vectors approach
  1508.    infinity while choosing a kernel function of appropriate smoothness. A
  1509.    two-dimensional local-linear batch SOM can be used to estimate a
  1510.    principal surface by letting the number of both rows and columns in the
  1511.    grid approach infinity. This connection between SOMs and principal curves
  1512.    and surfaces shows that the choice of the number of codebook vectors is
  1513.    not crucial, provided the number is fairly large. 
  1514.  
  1515.    If the final neighborhood size in a local-linear batch SOM is large, the
  1516.    SOM approximates a subspace spanned by principal components--usually the
  1517.    first principal component if the SOM is one-dimensional, the first two
  1518.    principal components if the SOM is two-dimensional, and so on. This
  1519.    result does not depend on the data having a multivariate normal
  1520.    distribution. 
  1521.  
  1522.    Principal component analysis is a method of data compression, not a
  1523.    statistical model. However, there is a related method called "common
  1524.    factor analysis" that is often confused with principal component analysis
  1525.    but is indeed a statistical model. Common factor analysis posits that the
  1526.    relations among the observed variables can be explained by a smaller
  1527.    number of unobserved, "latent" variables. Tibshirani (1992) has proposed
  1528.    a latent-variable variant of principal curves, and latent-variable
  1529.    modifications of SOMs have been introduced by Utsugi (1996, 1997) and
  1530.    Bishop, SvensΘn, and Williams (1997). 
  1531.  
  1532.    The choice of the number of codebook vectors is usually not critical as
  1533.    long as the number is fairly large. But results can be sensitive to the
  1534.    shape of the grid, e.g., square or an elongated rectangle. And the
  1535.    dimensionality of the grid is a crucial choice. It is difficult to guess
  1536.    the appropriate shape and dimensionality before analyzing the data.
  1537.    Determining the shape and dimensionality by trial and error can be quite
  1538.    tedious. Hence, a variety of methods have been tried for growing SOMs and
  1539.    related kinds of NNs during training. For more information on growing
  1540.    SOMs, see Bernd Fritzke's home page at 
  1541.    http://pikas.inf.tu-dresden.de/~fritzke/ 
  1542.  
  1543.    Using a 1-by-2 SOM is pointless. There is no "topological structure" in a
  1544.    1-by-2 grid. A 1-by-2 SOM is essentially the same as VQ with two
  1545.    clusters, except that the SOM clusters will be closer together than the
  1546.    VQ clusters if the final neighborhood size for the SOM is large. 
  1547.  
  1548.    In a Kohonen SOM, as in VQ, it is necessary to reduce the learning rate
  1549.    during training to obtain convergence. Greg Heath has commented in this
  1550.    regard: 
  1551.  
  1552.    I favor separate learning rates for each winning SOM node (or k-means
  1553.    cluster) in the form 1/(N_0i + N_i + 1), where N_i is the
  1554.    count of vectors that have caused node i to be a winner and N_0i
  1555.    is an initializing count that indicates the confidence in the initial
  1556.    weight vector assignment. The winning node expression is based on
  1557.    stochastic estimation convergence constraints and pseudo-Bayesian
  1558.    estimation of mean vectors. Kohonen derived a heuristic recursion
  1559.    relation for the "optimal" rate. To my surprise, when I solved the
  1560.    recursion relation I obtained the same above expression that I've
  1561.    been using for years. 
  1562.  
  1563.    In addition, I have had success using the similar form 
  1564.    (1/n)/(N_0j + N_j + (1/n)) for the n nodes in the
  1565.    shrinking updating-neighborhood. Before the final "winners-only"
  1566.    stage when neighbors are no longer updated, the number of updating
  1567.    neighbors eventually shrinks to n = 6 or 8 for hexagonal or
  1568.    rectangular neighborhoods, respectively. 
  1569.  
  1570.    Kohonen's neighbor-update formula is more precise replacing my
  1571.    constant fraction (1/n) with a node-pair specific h_ij (h_ij
  1572.    < 1). However, as long as the initial neighborhood is sufficiently
  1573.    large, the shrinking rate is sufficiently slow, and the final
  1574.    winner-only stage is sufficiently long, the results should be
  1575.    relatively insensitive to exact form of h_ij. 
  1576.  
  1577. Another advantage of batch SOMs is that there is no learning rate, so these
  1578. complications evaporate. 
  1579.  
  1580. Kohonen (1995, p. VII) says that SOMs are not intended for pattern
  1581. recognition but for clustering, visualization, and abstraction. Kohonen has
  1582. used a "supervised SOM" (1995, pp. 160-161) that is similar to
  1583. counterpropagation (Hecht-Nielsen 1990), but he seems to prefer LVQ (see
  1584. below) for supervised classification. Many people continue to use SOMs for
  1585. classification tasks, sometimes with surprisingly (I am tempted to say
  1586. "inexplicably") good results (Cho, 1997). 
  1587.  
  1588. o LVQ: Learning Vector Quantization--competitive networks for supervised
  1589. classification (Kohonen, 1988, 1995; Ripley, 1996). Each codebook vector is
  1590. assigned to one of the target classes. Each class may have one or more
  1591. codebook vectors. A case is classified by finding the nearest codebook
  1592. vector and assigning the case to the class corresponding to the codebook
  1593. vector. Hence LVQ is a kind of nearest-neighbor rule. 
  1594.  
  1595. Ordinary VQ methods, such as Kohonen's VQ or k-means, can easily be used for
  1596. supervised classification. Simply count the number of training cases from
  1597. each class assigned to each cluster, and divide by the total number of cases
  1598. in the cluster to get the posterior probability. For a given case, output
  1599. the class with the greatest posterior probability--i.e. the class that forms
  1600. a majority in the nearest cluster. Such methods can provide universally
  1601. consistent classifiers (Devroye et al., 1996) even when the codebook vectors
  1602. are obtained by unsupervised algorithms. LVQ tries to improve on this
  1603. approach by adapting the codebook vectors in a supervised way. There are
  1604. several variants of LVQ--called LVQ1, OLVQ1, LVQ2, and LVQ3--based on
  1605. heuristics. However, a smoothed version of LVQ can be trained as a
  1606. feedforward network using a NRBFEQ architecture (see "How do MLPs compare
  1607. with RBFs?") and optimizing any of the usual error functions; as the width
  1608. of the RBFs goes to zero, the NRBFEQ network approaches an optimized LVQ
  1609. network. 
  1610.  
  1611. There are several other kinds of Kohonen networks described in Kohonen
  1612. (1995), including: 
  1613.  
  1614.  o DEC--Dynamically Expanding Context 
  1615.  o LSM--Learning Subspace Method 
  1616.  o ASSOM--Adaptive Subspace SOM 
  1617.  o FASSOM--Feedback-controlled Adaptive Subspace SOM 
  1618.  o Supervised SOM 
  1619.  o LVQ-SOM 
  1620.  
  1621. More information on the error functions (or absence thereof) used by Kohonen
  1622. VQ and SOM is provided under "What does unsupervised learning learn?" 
  1623.  
  1624. For more on-line information on Kohonen networks and other varieties of
  1625. SOMs, see: 
  1626.  
  1627.  o The web page of The Neural Networks Research Centre, Helsinki University
  1628.    of Technology, at http://www.cis.hut.fi/research/ 
  1629.  o The SOM of articles from comp.ai.neural-nets at 
  1630.    http://websom.hut.fi/websom/comp.ai.neural-nets-new/html/root.html 
  1631.  o Akio Utsugi's web page on Bayesian SOMs at the National Institute of
  1632.    Bioscience and Human-Technology, Agency of Industrial Science and
  1633.    Technology, M.I.T.I., 1-1, Higashi, Tsukuba, Ibaraki, 305 Japan, at 
  1634.    http://www.aist.go.jp/NIBH/~b0616/Lab/index-e.html 
  1635.  o The GTM (generative topographic mapping) home page at the Neural
  1636.    Computing Research Group, Aston University, Birmingham, UK, at 
  1637.    http://www.ncrg.aston.ac.uk/GTM/ 
  1638.  o Nenet SOM software at http://www.mbnet.fi/~phodju/nenet/nenet.html 
  1639.  o Bernd Fritzke's home page at http://pikas.inf.tu-dresden.de/~fritzke/ has
  1640.    information on growing SOMs and other related types of NNs 
  1641.  
  1642. References: 
  1643.  
  1644.    Anderberg, M.R. (1973), Cluster Analysis for Applications, New York:
  1645.    Academic Press, Inc. 
  1646.  
  1647.    Balakrishnan, P.V., Cooper, M.C., Jacob, V.S., and Lewis, P.A. (1994) "A
  1648.    study of the classification capabilities of neural networks using
  1649.    unsupervised learning: A comparison with k-means clustering",
  1650.    Psychometrika, 59, 509-525. 
  1651.  
  1652.    Bishop, C.M., SvensΘn, M., and Williams, C.K.I (1997), "GTM: A principled
  1653.    alternative to the self-organizing map," in Mozer, M.C., Jordan, M.I.,
  1654.    and Petsche, T., (eds.) Advances in Neural Information Processing
  1655.    Systems 9, Cambridge, MA: The MIT Press, pp. 354-360. Also see 
  1656.    http://www.ncrg.aston.ac.uk/GTM/ 
  1657.  
  1658.    Bottou, L., and Bengio, Y. (1995), "Convergence properties of the K-Means
  1659.    algorithms," in Tesauro, G., Touretzky, D., and Leen, T., (eds.) 
  1660.    Advances in Neural Information Processing Systems 7, Cambridge, MA: The
  1661.    MIT Press, pp. 585-592. 
  1662.  
  1663.    Cho, S.-B. (1997), "Self-organizing map with dynamical node-splitting:
  1664.    Application to handwritten digit recognition," Neural Computation, 9,
  1665.    1345-1355. 
  1666.  
  1667.    Desieno, D. (1988), "Adding a conscience to competitive learning," Proc.
  1668.    Int. Conf. on Neural Networks, I, 117-124, IEEE Press. 
  1669.  
  1670.    Devroye, L., Gy÷rfi, L., and Lugosi, G. (1996), A Probabilistic Theory of
  1671.    Pattern Recognition, NY: Springer, 
  1672.  
  1673.    Forgy, E.W. (1965), "Cluster analysis of multivariate data: Efficiency
  1674.    versus interpretability," Biometric Society Meetings, Riverside, CA.
  1675.    Abstract in Biomatrics, 21, 768. 
  1676.  
  1677.    Gersho, A. and Gray, R.M. (1992), Vector Quantization and Signal
  1678.    Compression, Boston: Kluwer Academic Publishers. 
  1679.  
  1680.    Hartigan, J.A. (1975), Clustering Algorithms, NY: Wiley. 
  1681.  
  1682.    Hartigan, J.A., and Wong, M.A. (1979), "Algorithm AS136: A k-means
  1683.    clustering algorithm," Applied Statistics, 28-100-108. 
  1684.  
  1685.    Hastie, T., and Stuetzle, W. (1989), "Principal curves," Journal of the
  1686.    American Statistical Association, 84, 502-516. 
  1687.  
  1688.    Hecht-Nielsen, R. (1990), Neurocomputing, Reading, MA: Addison-Wesley. 
  1689.  
  1690.    Ismail, M.A., and Kamel, M.S. (1989), "Multidimensional data clustering
  1691.    utilizing hybrid search strategies," Pattern Recognition, 22, 75-89. 
  1692.  
  1693.    Kohonen, T (1984), Self-Organization and Associative Memory, Berlin:
  1694.    Springer-Verlag. 
  1695.  
  1696.    Kohonen, T (1988), "Learning Vector Quantization," Neural Networks, 1
  1697.    (suppl 1), 303. 
  1698.  
  1699.    Kohonen, T. (1995/1997), Self-Organizing Maps, Berlin: Springer-Verlag.
  1700.    First edition was 1995, second edition 1997. See 
  1701.    http://www.cis.hut.fi/nnrc/new_book.html for information on the second
  1702.    edition. 
  1703.  
  1704.    Kosko, B.(1992), Neural Networks and Fuzzy Systems, Englewood Cliffs,
  1705.    N.J.: Prentice-Hall. 
  1706.  
  1707.    Linde, Y., Buzo, A., and Gray, R. (1980), "An algorithm for vector
  1708.    quantizer design," IEEE Transactions on Communications, 28, 84-95. 
  1709.  
  1710.    Lloyd, S. (1982), "Least squares quantization in PCM," IEEE Transactions
  1711.    on Information Theory, 28, 129-137. 
  1712.  
  1713.    MacQueen, J.B. (1967), "Some Methods for Classification and Analysis of
  1714.    Multivariate Observations,"Proceedings of the Fifth Berkeley Symposium on
  1715.    Mathematical Statistics and Probability, 1, 281-297. 
  1716.  
  1717.    Max, J. (1960), "Quantizing for minimum distortion," IEEE Transactions on
  1718.    Information Theory, 6, 7-12. 
  1719.  
  1720.    Mulier, F. and Cherkassky, V. (1995), "Self-Organization as an iterative
  1721.    kernel smoothing process," Neural Computation, 7, 1165-1177. 
  1722.  
  1723.    Ripley, B.D. (1996), Pattern Recognition and Neural Networks,
  1724.    Cambridge: Cambridge University Press. 
  1725.  
  1726.    Ritter, H., Martinetz, T., and Schulten, K. (1992), Neural Computation
  1727.    and Self-Organizing Maps: An Introduction, Reading, MA: Addison-Wesley. 
  1728.  
  1729.    SAS Institute (1989), SAS/STAT User's Guide, Version 6, 4th edition,
  1730.    Cary, NC: SAS Institute. 
  1731.  
  1732.    Symons, M.J. (1981), "Clustering Criteria and Multivariate Normal
  1733.    Mixtures," Biometrics, 37, 35-43. 
  1734.  
  1735.    Tibshirani, R. (1992), "Principal curves revisited," Statistics and
  1736.    Computing, 2, 183-190. 
  1737.  
  1738.    Utsugi, A. (1996), "Topology selection for self-organizing maps,"
  1739.    Network: Computation in Neural Systems, 7, 727-740, available on-line at 
  1740.    http://www.aist.go.jp/NIBH/~b0616/Lab/index-e.html 
  1741.  
  1742.    Utsugi, A. (1997), "Hyperparameter selection for self-organizing maps,"
  1743.    Neural Computation, 9, 623-635, available on-line at 
  1744.    http://www.aist.go.jp/NIBH/~b0616/Lab/index-e.html 
  1745.  
  1746.    Wand, M.P., and Jones, M.C. (1995), Kernel Smoothing, London: Chapman &
  1747.    Hall. 
  1748.  
  1749.    Zador, P.L. (1982), "Asymptotic quantization error of continuous signals
  1750.    and the quantization dimension," IEEE Transactions on Information Theory,
  1751.    28, 139-149. 
  1752.  
  1753.    Zeger, K., Vaisey, J., and Gersho, A. (1992), "Globally optimal vector
  1754.    quantizer design by stochastic relaxation," IEEE Transactions on Signal
  1755.    Procesing, 40, 310-322. 
  1756.  
  1757. ------------------------------------------------------------------------
  1758.  
  1759. Subject: How are layers counted? 
  1760. =================================
  1761.  
  1762. How to count layers is a matter of considerable dispute. 
  1763.  
  1764.  o Some people count layers of units. But of these people, some count the
  1765.    input layer and some don't. 
  1766.  
  1767.  o Some people count layers of weights. But I have no idea how they count
  1768.    skip-layer connections. 
  1769.  
  1770. To avoid ambiguity, you should speak of a 2-hidden-layer network, not a
  1771. 4-layer network (as some would call it) or 3-layer network (as others would
  1772. call it). And if the connections follow any pattern other than fully
  1773. connecting each layer to the next and to no others, you should carefully
  1774. specify the connections. 
  1775.  
  1776. ------------------------------------------------------------------------
  1777.  
  1778. Subject: What are cases and variables?
  1779. ======================================
  1780.  
  1781. A vector of values presented at one time to all the input units of a neural
  1782. network is called a "case", "example", "pattern, "sample", etc. The term
  1783. "case" will be used in this FAQ because it is widely recognized,
  1784. unambiguous, and requires less typing than the other terms. A case may
  1785. include not only input values, but also target values and possibly other
  1786. information. 
  1787.  
  1788. A vector of values presented at different times to a single input unit is
  1789. often called an "input variable" or "feature". To a statistician, it is a
  1790. "predictor", "regressor", "covariate", "independent variable", "explanatory
  1791. variable", etc. A vector of target values associated with a given output
  1792. unit of the network during training will be called a "target variable" in
  1793. this FAQ. To a statistician, it is usually a "response" or "dependent
  1794. variable". 
  1795.  
  1796. A "data set" is a matrix containing one or (usually) more cases. In this
  1797. FAQ, it will be assumed that cases are rows of the matrix, while variables
  1798. are columns. 
  1799.  
  1800. Note that the often-used term "input vector" is ambiguous; it can mean
  1801. either an input case or an input variable. 
  1802.  
  1803. ------------------------------------------------------------------------
  1804.  
  1805. Subject: What are the population, sample, training set,
  1806. =======================================================
  1807. design set, validation set, and test set?
  1808. =========================================
  1809.  
  1810. It is rarely useful to have a NN simply memorize a set of data, since
  1811. memorization can be done much more efficiently by numerous algorithms for
  1812. table look-up. Typically, you want the NN to be able to perform accurately
  1813. on new data, that is, to generalize. 
  1814.  
  1815. There seems to be no term in the NN literature for the set of all cases that
  1816. you want to be able to generalize to. Statisticians call this set the
  1817. "population". Tsypkin (1971) called it the "grand truth distribution," but
  1818. this term has never caught on. 
  1819.  
  1820. Neither is there a consistent term in the NN literature for the set of cases
  1821. that are available for training and evaluating an NN. Statisticians call
  1822. this set the "sample". The sample is usually a subset of the population. 
  1823.  
  1824. (Neurobiologists mean something entirely different by "population,"
  1825. apparently some collection of neurons, but I have never found out the exact
  1826. meaning. I am going to continue to use "population" in the statistical sense
  1827. until NN researchers reach a consensus on some other terms for "population"
  1828. and "sample"; I suspect this will never happen.) 
  1829.  
  1830. In NN methodology, the sample is often subdivided into "training",
  1831. "validation", and "test" sets. The distinctions among these subsets are
  1832. crucial, but the terms "validation" and "test" sets are often confused.
  1833. Bishop (1995), an indispensable reference on neural networks, provides the
  1834. following explanation (p. 372): 
  1835.  
  1836.    Since our goal is to find the network having the best performance on
  1837.    new data, the simplest approach to the comparison of different
  1838.    networks is to evaluate the error function using data which is
  1839.    independent of that used for training. Various networks are trained
  1840.    by minimization of an appropriate error function defined with respect
  1841.    to a training data set. The performance of the networks is then
  1842.    compared by evaluating the error function using an independent 
  1843.    validation set, and the network having the smallest error with
  1844.    respect to the validation set is selected. This approach is called
  1845.    the hold out method. Since this procedure can itself lead to some 
  1846.    overfitting to the validation set, the performance of the selected
  1847.    network should be confirmed by measuring its performance on a third
  1848.    independent set of data called a test set. 
  1849.  
  1850. And there is no book in the NN literature more authoritative than Ripley
  1851. (1996), from which the following definitions are taken (p.354): 
  1852.  
  1853. Training set: 
  1854.    A set of examples used for learning, that is to fit the parameters [i.e.,
  1855.    weights] of the classifier. 
  1856. Validation set: 
  1857.    A set of examples used to tune the parameters [i.e., architecture, not
  1858.    weights] of a classifier, for example to choose the number of hidden
  1859.    units in a neural network. 
  1860. Test set: 
  1861.    A set of examples used only to assess the performance [generalization] of
  1862.    a fully-specified classifier. 
  1863.  
  1864. The literature on machine learning often reverses the meaning of
  1865. "validation" and "test" sets. This is the most blatant example of the
  1866. terminological confusion that pervades artificial intelligence research. 
  1867.  
  1868. The crucial point is that a test set, by the standard definition in the NN
  1869. literature, is never used to choose among two or more networks, so that the
  1870. error on the test set provides an unbiased estimate of the generalization
  1871. error (assuming that the test set is representative of the population,
  1872. etc.). Any data set that is used to choose the best of two or more networks
  1873. is, by definition, a validation set, and the error of the chosen network on
  1874. the validation set is optimistically biased. 
  1875.  
  1876. There is a problem with the usual distinction between training and
  1877. validation sets. Some training approaches, such as early stopping, require a
  1878. validation set, so in a sense, the validation set is used for training.
  1879. Other approaches, such as maximum likelihood, do not inherently require a
  1880. validation set. So the "training" set for maximum likelihood might encompass
  1881. both the "training" and "validation" sets for early stopping. Greg Heath has
  1882. suggested the term "design" set be used for cases that are used solely to
  1883. adjust the weights in a network, while "training" set be used to encompass
  1884. both design and validation sets. There is considerable merit to this
  1885. suggestion, but it has not yet been widely adopted. 
  1886.  
  1887. But things can get more complicated. Suppose you want to train nets with 5
  1888. ,10, and 20 hidden units using maximum likelihood, and you want to train
  1889. nets with 20 and 50 hidden units using early stopping. You also want to use
  1890. a validation set to choose the best of these various networks. Should you
  1891. use the same validation set for early stopping that you use for the final
  1892. network choice, or should you use two separate validation sets? That is, you
  1893. could divide the sample into 3 subsets, say A, B, C and proceed as follows: 
  1894.  
  1895.  o Do maximum likelihood using A. 
  1896.  o Do early stopping with A to adjust the weights and B to decide when to
  1897.    stop (this makes B a validation set). 
  1898.  o Choose among all 3 nets trained by maximum likelihood and the 2 nets
  1899.    trained by early stopping based on the error computed on B (the
  1900.    validation set). 
  1901.  o Estimate the generalization error of the chosen network using C (the test
  1902.    set). 
  1903.  
  1904. Or you could divide the sample into 4 subsets, say A, B, C, and D and
  1905. proceed as follows: 
  1906.  
  1907.  o Do maximum likelihood using A and B combined. 
  1908.  o Do early stopping with A to adjust the weights and B to decide when to
  1909.    stop (this makes B a validation set with respect to early stopping). 
  1910.  o Choose among all 3 nets trained by maximum likelihood and the 2 nets
  1911.    trained by early stopping based on the error computed on C (this makes C
  1912.    a second validation set). 
  1913.  o Estimate the generalization error of the chosen network using D (the test
  1914.    set). 
  1915.  
  1916. Or, with the same 4 subsets, you could take a third approach: 
  1917.  
  1918.  o Do maximum likelihood using A. 
  1919.  o Choose among the 3 nets trained by maximum likelihood based on the error
  1920.    computed on B (the first validation set) 
  1921.  o Do early stopping with A to adjust the weights and B (the first
  1922.    validation set) to decide when to stop. 
  1923.  o Choose among the best net trained by maximum likelihood and the 2 nets
  1924.    trained by early stopping based on the error computed on C (the second
  1925.    validation set). 
  1926.  o Estimate the generalization error of the chosen network using D (the test
  1927.    set). 
  1928.  
  1929. You could argue that the first approach is biased towards choosing a net
  1930. trained by early stopping. Early stopping involves a choice among a
  1931. potentially large number of networks, and therefore provides more
  1932. opportunity for overfitting the validation set than does the choice among
  1933. only 3 networks trained by maximum likelihood. Hence if you make the final
  1934. choice of networks using the same validation set (B) that was used for early
  1935. stopping, you give an unfair advantage to early stopping. If you are writing
  1936. an article to compare various training methods, this bias could be a serious
  1937. flaw. But if you are using NNs for some practical application, this bias
  1938. might not matter at all, since you obtain an honest estimate of
  1939. generalization error using C. 
  1940.  
  1941. You could also argue that the second and third approaches are too wasteful
  1942. in their use of data. This objection could be important if your sample
  1943. contains 100 cases, but will probably be of little concern if your sample
  1944. contains 100,000,000 cases. For small samples, there are other methods that
  1945. make more efficient use of data; see "What are cross-validation and
  1946. bootstrapping?" 
  1947.  
  1948. References: 
  1949.  
  1950.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  1951.    Oxford University Press. 
  1952.  
  1953.    Ripley, B.D. (1996) Pattern Recognition and Neural Networks, Cambridge:
  1954.    Cambridge University Press. 
  1955.  
  1956.    Tsypkin, Y. (1971), Adaptation and Learning in Automatic Systems, NY:
  1957.    Academic Press. 
  1958.  
  1959. ------------------------------------------------------------------------
  1960.  
  1961. Subject: How are NNs related to statistical methods? 
  1962. =====================================================
  1963.  
  1964. There is considerable overlap between the fields of neural networks and
  1965. statistics. Statistics is concerned with data analysis. In neural network
  1966. terminology, statistical inference means learning to generalize from noisy
  1967. data. Some neural networks are not concerned with data analysis (e.g., those
  1968. intended to model biological systems) and therefore have little to do with
  1969. statistics. Some neural networks do not learn (e.g., Hopfield nets) and
  1970. therefore have little to do with statistics. Some neural networks can learn
  1971. successfully only from noise-free data (e.g., ART or the perceptron rule)
  1972. and therefore would not be considered statistical methods. But most neural
  1973. networks that can learn to generalize effectively from noisy data are
  1974. similar or identical to statistical methods. For example: 
  1975.  
  1976.  o Feedforward nets with no hidden layer (including functional-link neural
  1977.    nets and higher-order neural nets) are basically generalized linear
  1978.    models. 
  1979.  o Feedforward nets with one hidden layer are closely related to projection
  1980.    pursuit regression. 
  1981.  o Probabilistic neural nets are identical to kernel discriminant analysis. 
  1982.  o Kohonen nets for adaptive vector quantization are very similar to k-means
  1983.    cluster analysis. 
  1984.  o Kohonen self-organizing maps are discrete approximations to principal
  1985.    curves and surfaces. 
  1986.  o Hebbian learning is closely related to principal component analysis. 
  1987.  
  1988. Some neural network areas that appear to have no close relatives in the
  1989. existing statistical literature are: 
  1990.  
  1991.  o Reinforcement learning (although this is treated in the operations
  1992.    research literature on Markov decision processes). 
  1993.  o Stopped training (the purpose and effect of stopped training are similar
  1994.    to shrinkage estimation, but the method is quite different). 
  1995.  
  1996. Feedforward nets are a subset of the class of nonlinear regression and
  1997. discrimination models. Statisticians have studied the properties of this
  1998. general class but had not considered the specific case of feedforward neural
  1999. nets before such networks were popularized in the neural network field.
  2000. Still, many results from the statistical theory of nonlinear models apply
  2001. directly to feedforward nets, and the methods that are commonly used for
  2002. fitting nonlinear models, such as various Levenberg-Marquardt and conjugate
  2003. gradient algorithms, can be used to train feedforward nets. The application
  2004. of statistical theory to neural networks is explored in detail by Bishop
  2005. (1995) and Ripley (1996). Several summary articles have also been published
  2006. relating statistical models to neural networks, including Cheng and
  2007. Titterington (1994), Kuan and White (1994), Ripley (1993, 1994), Sarle
  2008. (1994), and several articles in Cherkassky, Friedman, and Wechsler (1994).
  2009. Among the many statistical concepts important to neural nets is the
  2010. bias/variance trade-off in nonparametric estimation, discussed by Geman,
  2011. Bienenstock, and Doursat, R. (1992). Some more advanced results of
  2012. statistical theory applied to neural networks are given by White (1989a,
  2013. 1989b, 1990, 1992a) and White and Gallant (1992), reprinted in White
  2014. (1992b). 
  2015.  
  2016. While neural nets are often defined in terms of their algorithms or
  2017. implementations, statistical methods are usually defined in terms of their
  2018. results. The arithmetic mean, for example, can be computed by a (very
  2019. simple) backprop net, by applying the usual formula SUM(x_i)/n, or by
  2020. various other methods. What you get is still an arithmetic mean regardless
  2021. of how you compute it. So a statistician would consider standard backprop,
  2022. Quickprop, and Levenberg-Marquardt as different algorithms for implementing
  2023. the same statistical model such as a feedforward net. On the other hand,
  2024. different training criteria, such as least squares and cross entropy, are
  2025. viewed by statisticians as fundamentally different estimation methods with
  2026. different statistical properties. 
  2027.  
  2028. It is sometimes claimed that neural networks, unlike statistical models,
  2029. require no distributional assumptions. In fact, neural networks involve
  2030. exactly the same sort of distributional assumptions as statistical models
  2031. (Bishop, 1995), but statisticians study the consequences and importance of
  2032. these assumptions while many neural networkers ignore them. For example,
  2033. least-squares training methods are widely used by statisticians and neural
  2034. networkers. Statisticians realize that least-squares training involves
  2035. implicit distributional assumptions in that least-squares estimates have
  2036. certain optimality properties for noise that is normally distributed with
  2037. equal variance for all training cases and that is independent between
  2038. different cases. These optimality properties are consequences of the fact
  2039. that least-squares estimation is maximum likelihood under those conditions.
  2040. Similarly, cross-entropy is maximum likelihood for noise with a Bernoulli
  2041. distribution. If you study the distributional assumptions, then you can
  2042. recognize and deal with violations of the assumptions. For example, if you
  2043. have normally distributed noise but some training cases have greater noise
  2044. variance than others, then you may be able to use weighted least squares
  2045. instead of ordinary least squares to obtain more efficient estimates. 
  2046.  
  2047. Hundreds, perhaps thousands of people have run comparisons of neural nets
  2048. with "traditional statistics" (whatever that means). Most such studies
  2049. involve one or two data sets, and are of little use to anyone else unless
  2050. they happen to be analyzing the same kind of data. But there is an
  2051. impressive comparative study of supervised classification by Michie,
  2052. Spiegelhalter, and Taylor (1994), which not only compares many
  2053. classification methods on many data sets, but also provides unusually
  2054. extensive analyses of the results. Another useful study on supervised
  2055. classification by Lim, Loh, and Shih (1999) is available on-line. There is
  2056. an excellent comparison of unsupervised Kohonen networks and k-means
  2057. clustering by Balakrishnan, Cooper, Jacob, and Lewis (1994). 
  2058.  
  2059. There are many methods in the statistical literature that can be used for
  2060. flexible nonlinear modeling. These methods include: 
  2061.  
  2062.  o Polynomial regression (Eubank, 1999) 
  2063.  o Fourier series regression (Eubank, 1999; Haerdle, 1990) 
  2064.  o Wavelet smoothing (Donoho and Johnstone, 1995; Donoho, Johnstone,
  2065.    Kerkyacharian, and Picard, 1995) 
  2066.  o K-nearest neighbor regression and discriminant analysis (Haerdle, 1990;
  2067.    Hand, 1981, 1997; Ripley, 1996) 
  2068.  o Kernel regression and discriminant analysis (Eubank, 1999; Haerdle, 1990;
  2069.    Hand, 1981, 1982, 1997; Ripley, 1996) 
  2070.  o Local polynomial smoothing (Eubank, 1999; Wand and Jones, 1995; Fan and
  2071.    Gijbels, 1995) 
  2072.  o LOESS (Cleveland and Gross, 1991) 
  2073.  o Smoothing splines (such as thin-plate splines) (Eubank, 1999; Wahba,
  2074.    1990; Green and Silverman, 1994; Haerdle, 1990) 
  2075.  o B-splines (Eubank, 1999) 
  2076.  o Tree-based models (CART, AID, etc.) (Haerdle, 1990; Lim, Loh, and Shih,
  2077.    1997; Hand, 1997; Ripley, 1996) 
  2078.  o Multivariate adaptive regression splines (MARS) (Friedman, 1991) 
  2079.  o Projection pursuit (Friedman and Stuetzle, 1981; Haerdle, 1990; Ripley,
  2080.    1996) 
  2081.  o Various Bayesian methods (Dey, 1998) 
  2082.  o GMDH (Farlow, 1984) 
  2083.  
  2084. Why use neural nets rather than any of the above methods? There are many
  2085. answers to that question depending on what kind of neural net you're
  2086. interested in. The most popular variety of neural net, the MLP, tends to be
  2087. useful in the same situations as projection pursuit regression, i.e.: 
  2088.  
  2089.  o the number of inputs is fairly large, 
  2090.  o many of the inputs are relevant, but 
  2091.  o most of the predictive information lies in a low-dimensional subspace. 
  2092.  
  2093. The main advantage of MLPs over projection pursuit regression is that
  2094. computing predicted values from MLPs is simpler and faster. Also, MLPs are
  2095. better at learning moderately pathological functions than are many other
  2096. methods with stronger smoothness assumptions (see 
  2097. ftp://ftp.sas.com/pub/neural/dojo/dojo.html) as long as the number of
  2098. pathological features (such as discontinuities) in the function is not too
  2099. large. For more discussion of the theoretical benefits of various types of
  2100. neural nets, see How do MLPs compare with RBFs? 
  2101.  
  2102. Communication between statisticians and neural net researchers is often
  2103. hindered by the different terminology used in the two fields. There is a
  2104. comparison of neural net and statistical jargon in 
  2105. ftp://ftp.sas.com/pub/neural/jargon 
  2106.  
  2107. For free statistical software, see the StatLib repository at 
  2108. http://lib.stat.cmu.edu/ at Carnegie Mellon University. 
  2109.  
  2110. There are zillions of introductory textbooks on statistics. One of the
  2111. better ones is Moore and McCabe (1989). At an intermediate level, the books
  2112. on linear regression by Weisberg (1985) and Myers (1986), on logistic
  2113. regression by Hosmer and Lemeshow (1989), and on discriminant analysis by
  2114. Hand (1981) can be recommended. At a more advanced level, the book on
  2115. generalized linear models by McCullagh and Nelder (1989) is an essential
  2116. reference, and the book on nonlinear regression by Gallant (1987) has much
  2117. material relevant to neural nets. 
  2118.  
  2119. Several introductory statistics texts are available on the web: 
  2120.  
  2121.  o David Lane, HyperStat, at 
  2122.    http://www.ruf.rice.edu/~lane/hyperstat/contents.html 
  2123.  o Jan de Leeuw (ed.), Statistics: The Study of Stability in Variation , at 
  2124.    http://www.stat.ucla.edu/textbook/ 
  2125.  o StatSoft, Inc., Electronic Statistics Textbook, at 
  2126.    http://www.statsoft.com/textbook/stathome.html 
  2127.  o David Stockburger, Introductory Statistics: Concepts, Models, and
  2128.    Applications, at http://www.psychstat.smsu.edu/sbk00.htm 
  2129.  o University of Newcastle (Australia) Statistics Department, SurfStat
  2130.    Australia, http://surfstat.newcastle.edu.au/surfstat/ 
  2131.  
  2132. A more advanced book covering many topics that are also relevant to NNs is: 
  2133.  
  2134.  o Frank Harrell, REGRESSION MODELING STRATEGIES With
  2135.    Applications to Linear Models, Logistic Regression, and Survival Analysis,
  2136.    at http://hesweb1.med.virginia.edu/biostat/rms/ 
  2137.  
  2138. References: 
  2139.  
  2140.    Balakrishnan, P.V., Cooper, M.C., Jacob, V.S., and Lewis, P.A. (1994) "A
  2141.    study of the classification capabilities of neural networks using
  2142.    unsupervised learning: A comparison with k-means clustering",
  2143.    Psychometrika, 59, 509-525. 
  2144.  
  2145.    Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford:
  2146.    Oxford University Press. 
  2147.  
  2148.    Cheng, B. and Titterington, D.M. (1994), "Neural Networks: A Review from
  2149.    a Statistical Perspective", Statistical Science, 9, 2-54. 
  2150.  
  2151.    Cherkassky, V., Friedman, J.H., and Wechsler, H., eds. (1994), From
  2152.    Statistics to Neural Networks: Theory and Pattern Recognition
  2153.    Applications, Berlin: Springer-Verlag. 
  2154.  
  2155.    Cleveland and Gross (1991), "Computational Methods for Local Regression,"
  2156.    Statistics and Computing 1, 47-62. 
  2157.  
  2158.    Dey, D., ed. (1998) Practical Nonparametric and Semiparametric Bayesian
  2159.    Statistics, Springer Verlag. 
  2160.  
  2161.    Donoho, D.L., and Johnstone, I.M. (1995), "Adapting to unknown smoothness
  2162.    via wavelet shrinkage," J. of the American Statistical Association, 90,
  2163.    1200-1224. 
  2164.  
  2165.    Donoho, D.L., Johnstone, I.M., Kerkyacharian, G., and Picard, D. (1995),
  2166.    "Wavelet shrinkage: asymptopia (with discussion)?" J. of the Royal
  2167.    Statistical Society, Series B, 57, 301-369. 
  2168.  
  2169.    Eubank, R.L. (1999), Nonparametric Regression and Spline Smoothing, 2nd
  2170.    ed., Marcel Dekker, ISBN 0-8247-9337-4. 
  2171.  
  2172.    Fan, J., and Gijbels, I. (1995), "Data-driven bandwidth selection in
  2173.    local polynomial: variable bandwidth and spatial adaptation," J. of the
  2174.    Royal Statistical Society, Series B, 57, 371-394. 
  2175.  
  2176.    Farlow, S.J. (1984), Self-organizing Methods in Modeling: GMDH Type
  2177.    Algorithms, NY: Marcel Dekker. (GMDH) 
  2178.  
  2179.    Friedman, J.H. (1991), "Multivariate adaptive regression splines", Annals
  2180.    of Statistics, 19, 1-141. (MARS) 
  2181.  
  2182.    Friedman, J.H. and Stuetzle, W. (1981) "Projection pursuit regression,"
  2183.    J. of the American Statistical Association, 76, 817-823. 
  2184.  
  2185.    Gallant, A.R. (1987) Nonlinear Statistical Models, NY: Wiley. 
  2186.  
  2187.    Geman, S., Bienenstock, E. and Doursat, R. (1992), "Neural Networks and
  2188.    the Bias/Variance Dilemma", Neural Computation, 4, 1-58. 
  2189.  
  2190.    Green, P.J., and Silverman, B.W. (1994), Nonparametric Regression and
  2191.    Generalized Linear Models: A Roughness Penalty Approach, London:
  2192.    Chapman & Hall. 
  2193.  
  2194.    Haerdle, W. (1990), Applied Nonparametric Regression, Cambridge Univ.
  2195.    Press. 
  2196.  
  2197.    Hand, D.J. (1981) Discrimination and Classification, NY: Wiley. 
  2198.  
  2199.    Hand, D.J. (1982) Kernel Discriminant Analysis, Research Studies Press. 
  2200.  
  2201.    Hand, D.J. (1997) Construction and Assessment of Classification Rules,
  2202.    NY: Wiley. 
  2203.  
  2204.    Hill, T., Marquez, L., O'Connor, M., and Remus, W. (1994), "Artificial
  2205.    neural network models for forecasting and decision making," International
  2206.    J. of Forecasting, 10, 5-15. 
  2207.  
  2208.    Kuan, C.-M. and White, H. (1994), "Artificial Neural Networks: An
  2209.    Econometric Perspective", Econometric Reviews, 13, 1-91. 
  2210.  
  2211.    Kushner, H. & Clark, D. (1978), Stochastic Approximation Methods for
  2212.    Constrained and Unconstrained Systems, Springer-Verlag. 
  2213.  
  2214.    Lim, T.-S., Loh, W.-Y. and Shih, Y.-S. ( 1999?), "A comparison of
  2215.    prediction accuracy, complexity, and training time of thirty-three old
  2216.    and new classification algorithms," Machine Learning, forthcoming,
  2217.    preprint available at http://www.recursive-partitioning.com/mach1317.pdf,
  2218.    and appendix containing complete tables of error rates, ranks, and
  2219.    training times at http://www.recursive-partitioning.com/appendix.pdf 
  2220.  
  2221.    McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2nd
  2222.    ed., London: Chapman & Hall. 
  2223.  
  2224.    Michie, D., Spiegelhalter, D.J. and Taylor, C.C., eds. (1994), Machine
  2225.    Learning, Neural and Statistical Classification, NY: Ellis Horwood; this
  2226.    book is out of print but available online at 
  2227.    http://www.amsta.leeds.ac.uk/~charles/statlog/ 
  2228.  
  2229.    Moore, D.S., and McCabe, G.P. (1989), Introduction to the Practice of
  2230.    Statistics, NY: W.H. Freeman. 
  2231.  
  2232.    Myers, R.H. (1986), Classical and Modern Regression with Applications,
  2233.    Boston: Duxbury Press. 
  2234.  
  2235.    Ripley, B.D. (1993), "Statistical Aspects of Neural Networks", in O.E.
  2236.    Barndorff-Nielsen, J.L. Jensen and W.S. Kendall, eds., Networks and
  2237.    Chaos: Statistical and Probabilistic Aspects, Chapman & Hall. ISBN 0 412
  2238.    46530 2. 
  2239.  
  2240.    Ripley, B.D. (1994), "Neural Networks and Related Methods for
  2241.    Classification," Journal of the Royal Statistical Society, Series B, 56,
  2242.    409-456. 
  2243.  
  2244.    Ripley, B.D. (1996) Pattern Recognition and Neural Networks, Cambridge:
  2245.    Cambridge University Press. 
  2246.  
  2247.    Sarle, W.S. (1994), "Neural Networks and Statistical Models," 
  2248.    Proceedings of the Nineteenth Annual SAS Users Group International
  2249.    Conference, Cary, NC: SAS Institute, pp 1538-1550. (
  2250.    ftp://ftp.sas.com/pub/neural/neural1.ps) 
  2251.  
  2252.    Wahba, G. (1990), Spline Models for Observational Data, SIAM. 
  2253.  
  2254.    Wand, M.P., and Jones, M.C. (1995), Kernel Smoothing, London: Chapman &
  2255.    Hall. 
  2256.  
  2257.    Weisberg, S. (1985), Applied Linear Regression, NY: Wiley 
  2258.  
  2259.    White, H. (1989a), "Learning in Artificial Neural Networks: A Statistical
  2260.    Perspective," Neural Computation, 1, 425-464. 
  2261.  
  2262.    White, H. (1989b), "Some Asymptotic Results for Learning in Single Hidden
  2263.    Layer Feedforward Network Models", J. of the American Statistical Assoc.,
  2264.    84, 1008-1013. 
  2265.  
  2266.    White, H. (1990), "Connectionist Nonparametric Regression: Multilayer
  2267.    Feedforward Networks Can Learn Arbitrary Mappings," Neural Networks, 3,
  2268.    535-550. 
  2269.  
  2270.    White, H. (1992a), "Nonparametric Estimation of Conditional Quantiles
  2271.    Using Neural Networks," in Page, C. and Le Page, R. (eds.), Computing
  2272.    Science and Statistics. 
  2273.  
  2274.    White, H., and Gallant, A.R. (1992), "On Learning the Derivatives of an
  2275.    Unknown Mapping with Multilayer Feedforward Networks," Neural Networks,
  2276.    5, 129-138. 
  2277.  
  2278.    White, H. (1992b), Artificial Neural Networks: Approximation and
  2279.    Learning Theory, Blackwell. 
  2280.  
  2281. ------------------------------------------------------------------------
  2282.  
  2283. Next part is part 2 (of 7). 
  2284.  
  2285. -- 
  2286.  
  2287. Warren S. Sarle       SAS Institute Inc.   The opinions expressed here
  2288. saswss@unx.sas.com    SAS Campus Drive     are mine and not necessarily
  2289. (919) 677-8000        Cary, NC 27513, USA  those of SAS Institute.
  2290.