Difference between revisions of "Learning"

From Chessprogramming wiki
Jump to: navigation, search
(6 intermediate revisions by the same user not shown)
Line 39: Line 39:
 
* [[Planning]]
 
* [[Planning]]
 
* [[Reinforcement Learning]]
 
* [[Reinforcement Learning]]
 +
* [[Supervised Learning]]
 
* [[Temporal Difference Learning]]
 
* [[Temporal Difference Learning]]
 
<span id="Programs"></span>
 
<span id="Programs"></span>
Line 518: Line 519:
 
* [[Herilalaina Rakotoarison]], [[Marc Schoenauer]], [[Michèle Sebag]] ('''2019'''). ''Automated Machine Learning with Monte-Carlo Tree Search''. [https://arxiv.org/abs/1906.00170 arXiv:1906.00170]
 
* [[Herilalaina Rakotoarison]], [[Marc Schoenauer]], [[Michèle Sebag]] ('''2019'''). ''Automated Machine Learning with Monte-Carlo Tree Search''. [https://arxiv.org/abs/1906.00170 arXiv:1906.00170]
 
* [[Frank Hutter]], [https://dblp.org/pers/hd/k/Kotthoff:Lars Lars Kotthoff], [https://dblp.org/pers/hd/v/Vanschoren:Joaquin Joaquin Vanschoren] (eds.) ('''2019'''). ''[https://link.springer.com/book/10.1007%2F978-3-030-05318-5 Automated Machine Learning]''. [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer]
 
* [[Frank Hutter]], [https://dblp.org/pers/hd/k/Kotthoff:Lars Lars Kotthoff], [https://dblp.org/pers/hd/v/Vanschoren:Joaquin Joaquin Vanschoren] (eds.) ('''2019'''). ''[https://link.springer.com/book/10.1007%2F978-3-030-05318-5 Automated Machine Learning]''. [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer]
 +
* [[Julian Schrittwieser]], [[Ioannis Antonoglou]], [[Thomas Hubert]], [[Karen Simonyan]], [[Laurent Sifre]], [[Simon Schmitt]], [[Arthur Guez]], [[Edward Lockhart]], [[Demis Hassabis]], [[Thore Graepel]], [[Timothy Lillicrap]], [[David Silver]] ('''2019'''). ''Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model''. [https://arxiv.org/abs/1911.08265 arXiv:1911.08265] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72381 New DeepMind paper] by GregNeto, [[CCC]], November 21, 2019</ref>
  
 
=Forum Posts=
 
=Forum Posts=
Line 544: Line 546:
 
* [http://www.talkchess.com/forum/viewtopic.php?t=56313 Position learning and opening books] by Forrest Hoch, [[CCC]], May 11, 2015
 
* [http://www.talkchess.com/forum/viewtopic.php?t=56313 Position learning and opening books] by Forrest Hoch, [[CCC]], May 11, 2015
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61861 A database for learning evaluation functions] by [[Álvaro Begué]], [[CCC]], October 28, 2016 » [[Automated Tuning]], [[Evaluation]], [[Texel's Tuning Method]]
 
* [http://www.talkchess.com/forum/viewtopic.php?t=61861 A database for learning evaluation functions] by [[Álvaro Begué]], [[CCC]], October 28, 2016 » [[Automated Tuning]], [[Evaluation]], [[Texel's Tuning Method]]
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72020 A book on machine learning] by Mehdi Amini, [[CCC]], October 06, 2019
  
 
=External Links=  
 
=External Links=  
Line 561: Line 564:
 
* [https://en.wikipedia.org/wiki/Data_mining Data mining from Wikipeadia]
 
* [https://en.wikipedia.org/wiki/Data_mining Data mining from Wikipeadia]
 
* [https://en.wikipedia.org/wiki/Ensemble_learning Ensemble learning from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Ensemble_learning Ensemble learning from Wikipedia]
 +
** [https://en.wikipedia.org/wiki/Bootstrap_aggregating Bootstrap aggregating from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Explanation-based_learning Explanation-based learning from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Explanation-based_learning Explanation-based learning from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Meta_learning_%28computer_science%29 Meta Learning from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Meta_learning_%28computer_science%29 Meta Learning from Wikipedia]
Line 579: Line 583:
 
* [http://www.aihorizon.com/essays/generalai/no_free_lunch_machine_learning.htm AI Horizon: Machine Learning, Part III: Testing Algorithms, and The "No Free Lunch Theorem"]
 
* [http://www.aihorizon.com/essays/generalai/no_free_lunch_machine_learning.htm AI Horizon: Machine Learning, Part III: Testing Algorithms, and The "No Free Lunch Theorem"]
 
==Chess==
 
==Chess==
* [http://www.top-5000.nl/authors/rebel/hints.htm Learning Methods] by [[Ed Schroder|Ed Schröder]]
 
 
* [http://archive.ics.uci.edu/ml/datasets/Chess+%28King-Rook+vs.+King-Pawn%29 UCI Machine Learning Repository: Chess (King-Rook vs. King-Pawn) Data Set] by [[Alen Shapiro]]
 
* [http://archive.ics.uci.edu/ml/datasets/Chess+%28King-Rook+vs.+King-Pawn%29 UCI Machine Learning Repository: Chess (King-Rook vs. King-Pawn) Data Set] by [[Alen Shapiro]]
 +
* [https://en.chessbase.com/post/standing-on-the-shoulders-of-giants Standing on the shoulders of giants] by [[Albert Silver]], [[ChessBase|ChessBase News]], September 18, 2019
 
==Supervised Learning==
 
==Supervised Learning==
 
* [https://en.wikipedia.org/wiki/Supervised_learning Supervised learning from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Supervised_learning Supervised learning from Wikipedia]
 
* [http://www.scholarpedia.org/article/Category:Supervised_learning Category: Supervised learning - Scholarpedia]
 
* [http://www.scholarpedia.org/article/Category:Supervised_learning Category: Supervised learning - Scholarpedia]
 
* [https://en.wikipedia.org/wiki/Boosting_%28machine_learning%29 Boosting (machine learning) from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Boosting_%28machine_learning%29 Boosting (machine learning) from Wikipedia]
: [https://en.wikipedia.org/wiki/AdaBoost AdaBoost from Wikipedia]
+
** [https://en.wikipedia.org/wiki/AdaBoost AdaBoost from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Computational_learning_theory Computational learning theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Computational_learning_theory Computational learning theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Support_vector_machine Support vector machine from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Support_vector_machine Support vector machine from Wikipedia]
Line 608: Line 612:
 
* [https://en.wikipedia.org/wiki/Statistical_learning_theory Statistical learning theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Statistical_learning_theory Statistical learning theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Statistical_classification Statistical classification from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Statistical_classification Statistical classification from Wikipedia]
: [https://en.wikipedia.org/wiki/Naive_Bayes_classifier Naive Bayes classifier from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Naive_Bayes_classifier Naive Bayes classifier from Wikipedia]
: [https://en.wikipedia.org/wiki/Probabilistic_classification Probabilistic classification from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Probabilistic_classification Probabilistic classification from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Statistical_mechanics Statistical mechanics from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Statistical_mechanics Statistical mechanics from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Bayesian_network Bayesian network from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Bayesian_network Bayesian network from Wikipedia]
Line 622: Line 626:
 
* [https://en.wikipedia.org/wiki/Mean_squared_error Mean squared error from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Mean_squared_error Mean squared error from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Regression_analysis Regression analysis from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Regression_analysis Regression analysis from Wikipedia]
: [https://en.wikipedia.org/wiki/Outline_of_regression_analysis Outline of regression analysis from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Outline_of_regression_analysis Outline of regression analysis from Wikipedia]
: [https://en.wikipedia.org/wiki/Linear_regression Linear regression from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Linear_regression Linear regression from Wikipedia]
: [https://en.wikipedia.org/wiki/Logistic_regression Logistic regression from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Logistic_regression Logistic regression from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability Probability from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability Probability from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_theory Probability theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_theory Probability theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_density_function Probability density function from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_density_function Probability density function from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_distribution Probability distribution from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_distribution Probability distribution from Wikipedia]
: [https://en.wikipedia.org/wiki/Normal_distribution Normal distribution from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Normal_distribution Normal distribution from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_measure Probability measure from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_measure Probability measure from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_space Probability space from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Probability_space Probability space from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Pseudorandomness Pseudorandomness from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Pseudorandomness Pseudorandomness from Wikipedia]
: [https://en.wikipedia.org/wiki/Pseudorandom_number_generator Pseudorandom number generator from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Pseudorandom_number_generator Pseudorandom number generator from Wikipedia]
: [https://en.wikipedia.org/wiki/Pseudo-random_number_sampling Pseudo-random number sampling from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Pseudo-random_number_sampling Pseudo-random number sampling from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Randomness Randomness from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Randomness Randomness from Wikipedia]
: [https://en.wikipedia.org/wiki/Statistical_randomness Statistical randomness from Wikipedia]
+
** [https://en.wikipedia.org/wiki/Statistical_randomness Statistical randomness from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Vapnik%E2%80%93Chervonenkis_theory Vapnik–Chervonenkis theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Vapnik%E2%80%93Chervonenkis_theory Vapnik–Chervonenkis theory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/VC_dimension VC dimension from Wikipedia]
 
* [https://en.wikipedia.org/wiki/VC_dimension VC dimension from Wikipedia]
Line 686: Line 690:
 
* [http://www.scholarpedia.org/article/Hopfield_network Hopfield network - Scholarpedia]
 
* [http://www.scholarpedia.org/article/Hopfield_network Hopfield network - Scholarpedia]
 
* [https://en.wikipedia.org/wiki/Long_short_term_memory Long short term memory from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Long_short_term_memory Long short term memory from Wikipedia]
'''Blogs'''
 
* [https://theneural.wordpress.com/ Neural Networks Blog] by [[Ilya Sutskever]]
 
* [http://dynamicnotions.blogspot.com/ Dynamic Notions] by [http://www.blogger.com/profile/07894297206547597169 John Wakefield] , a Blog about the evolution of neural networks with [[C sharp|C#]] samples:
 
: [http://dynamicnotions.blogspot.com/2008/09/single-layer-perceptron.html The Single Layer Perceptron]
 
: [http://dynamicnotions.blogspot.com/2008/09/hidden-neurons-and-feature-space.html Hidden Neurons and Feature Space]
 
: [http://dynamicnotions.blogspot.com/2008/09/training-neural-networks-using-back.html Training Neural Networks Using Back Propagation in C#]
 
: [http://dynamicnotions.blogspot.com/2008/09/data-mining-with-artificial-neural.html Data Mining with Artificial Neural Networks (ANN)]
 
* [http://www.welchlabs.com/blog Blog - Welch Labs]
 
 
==Courses==
 
==Courses==
 
* [http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html Advanced Topics: RL] by [[David Silver]]
 
* [http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html Advanced Topics: RL] by [[David Silver]]

Revision as of 23:19, 6 January 2020

Home * Learning

Learning [1]

Learning,
the process of acquiring new knowledge which involves synthesizing different types of information. Machine learning as aspect of computer chess programming deals with algorithms that allow the program to change its behavior based on data, which for instance occurs during game playing against a variety of opponents considering the final outcome and/or the game record for instance as history score chart indexed by ply. Related to Machine learning is evolutionary computation and its sub-areas of genetic algorithms, and genetic programming, that mimics the process of natural evolution, as further mentioned in automated tuning. The process of learning often implies understanding, perception or reasoning. So called Rote learning avoids understanding and focuses on memorization. Inductive learning takes examples and generalizes rather than starting with existing knowledge. Deductive learning takes abstract concepts to make sense of examples [2].

Learning inside a Chess Program

Learning inside a chess program may address several disjoint issues. A persistent hash table remembers "important" positions from earlier games inside the search with its exact score [3]. Worse positions may be avoided in advance. Learning opening book moves, that is appending successful novelties or modify the probability of already stored moves from the book based on the outcome of a game [4]. Another application is learning evaluation weights of various features, f. i. piece- [5] or piece-square [6] values or mobility. Programs may also learn to control search [7] or time usage [8].

Learning Paradigms

There are three major learning paradigms, each corresponding to a particular abstract learning task. These are supervised learning, unsupervised learning and reinforcement learning. Usually any given type of neural network architecture can be employed in any of those tasks.

Supervised Learning

see main page Supervised Learning

Supervised learning is learning from examples provided by a knowledgable external supervisor. In machine learning, supervised learning is a technique for deducing a function from training data. The training data consist of pairs of input objects and desired outputs, f.i. in computer chess a sequence of positions associated with the outcome of a game [9] .

Unsupervised Learning

Unsupervised machine learning seems much harder: the goal is to have the computer learn how to do something that we don't tell it how to do. The learner is given only unlabeled examples, f. i. a sequence of positions of a running game but the final result (still) unknown. A form of reinforcement learning can be used for unsupervised learning, where an agent bases its actions on the previous rewards and punishments without necessarily even learning any information about the exact ways that its actions affect the world. Clustering is another method of unsupervised learning.

Reinforcement Learning

see main page Reinforcement Learning

Reinforcement learning is defined not by characterizing learning methods, but by characterizing a learning problem. Reinforcement learning is learning what to do - how to map situations to actions - so as to maximize a numerical reward signal. The learner is not told which actions to take, as in most forms of machine learning, but instead must discover which actions yield the most reward by trying them. The reinforcement learning problem is deeply indebted to the idea of Markov decision processes (MDPs) from the field of optimal control.

Learning Topics

Programs

See also

Selected Publications

[10]

1940 ...

1950 ...

Claude Shannon, John McCarthy (eds.) (1956). Automata Studies. Annals of Mathematics Studies, No. 34
Alan Turing, Jack Copeland (editor) (2004). The Essential Turing, Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma. Oxford University Press, amazon, google books

1955 ...

Claude Shannon, John McCarthy (eds.) (1956). Automata Studies. Annals of Mathematics Studies, No. 34, pdf

1960 ...

1965 ...

1970 ...

1975 ...

  • Jacques Pitrat (1976). A Program to Learn to Play Chess. Pattern Recognition and Artificial Intelligence, pp. 399-419. Academic Press Ltd. London, UK. ISBN 0-12-170950-7.
  • Jacques Pitrat (1976). Realization of a Program Learning to Find Combinations at Chess. Computer Oriented Learning Processes (ed. J. Simon). Noordhoff, Groningen, The Netherlands.
  • Pericles Negri (1977). Inductive Learning in a Hierarchical Model for Representing Knowledge in Chess End Games. pdf
  • Ryszard Michalski, Pericles Negri (1977). An experiment on inductive learning in chess endgames. Machine Intelligence 8, pdf
  • Boris Stilman (1977). The Computer Learns. in 1976 US Computer Chess Championship, by David Levy, Computer Science Press, Woodland Hills, CA, pp. 83-90
  • Richard Sutton (1978). Single channel theory: A neuronal theory of learning. Brain Theory Newsletter 3, No. 3/4, pp. 72-75.
  • Ross Quinlan (1979). Discovering Rules by Induction from Large Collections of Examples. Expert Systems in the Micro-electronic Age, pp. 168-201. Edinburgh University Press (Introducing ID3)

1980 ...

1985 ...

1986

1987

1988

1989

1990 ...

1991

1992

1993

1994

1995 ...

1996

1997

1998

Miroslav Kubat, Ivan Bratko, Ryszard Michalski (1998). A Review of Machine Learning Methods. pdf

1999

2000 ...

2001

2002

2003

2004

2005 ...

2006

2007

2008

2009

2010 ...

2011

2012

István Szita (2012). Reinforcement Learning in Games. Chapter 17

2013

2014

2015 ...

2016

2017

2018

2019

Forum Posts

1998 ...

2000 ...

2005 ...

2010 ...

2015 ...

External Links

Machine Learning

AI

Learning I
Learning II

Chess

Supervised Learning

Unsupervised Learning

Reinforcement Learning

TD Learning

Statistics

Markov Models

NNs

ANNs

Topics

RNNs

Courses

References

  1. A depiction of the world's oldest continually operating university, the University of Bologna, Italy, by Laurentius de Voltolina, second half of 14th century, Learning from Wikipedia
  2. Inductive learning vs Deductive learning
  3. David Slate (1987). A Chess Program that uses its Transposition Table to Learn from Experience. ICCA Journal, Vol. 10, No. 2
  4. Robert Hyatt (1999). Book Learning - a Methodology to Tune an Opening Book Automatically. ICCA Journal, Vol. 22, No. 1
  5. Don Beal, Martin C. Smith (1997). Learning Piece Values Using Temporal Differences. ICCA Journal, Vol. 20, No. 3
  6. Don Beal, Martin C. Smith (1999). Learning Piece-Square Values using Temporal Differences. ICCA Journal, Vol. 22, No. 4
  7. Yngvi Björnsson, Tony Marsland (2001). Learning Search Control in Adversary Games. Advances in Computer Games 9, pdf
  8. Levente Kocsis, Jos Uiterwijk, Jaap van den Herik (2000). Learning Time Allocation using Neural Networks. CG 2000, postscript
  9. AI Horizon: Machine Learning, Part II: Supervised and Unsupervised Learning
  10. online papers from Machine Learning in Games by Jay Scott
  11. Rosenblatt's Contributions
  12. Ratio Club from Wikipedia
  13. Royal Radar Establishment from Wikipedia
  14. see Swap-off by Helmut Richter
  15. The abandonment of connectionism in 1969 - Wikipedia
  16. Frank Rosenblatt (1962). Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books
  17. Long short term memory from Wikipedia
  18. Tsumego from Wikipedia
  19. Learnable Evolution Model from Wikipedia
  20. University of Bristol - Department of Computer Science - Technical Reports
  21. Generalized Hebbian Algorithm from Wikipedia
  22. Dap Hartmann (2010). Mimicking the Black Box - Genetically evolving evaluation functions and search algorithms. Review on Omid David's Ph.D. Thesis, ICGA Journal, Vol 33, No. 1
  23. Monte-Carlo Simulation Balancing - videolectures.net by David Silver
  24. MATLAB from Wikipedia
  25. Weka (machine learning) from Wikipedia
  26. Ms. Pac-Man from Wikipedia
  27. Demystifying Deep Reinforcement Learning by Tambet Matiisen, Nervana, December 21, 2015
  28. Patent US20150100530 - Methods and apparatus for reinforcement learning - Google Patents
  29. Jaap van den Herik wint Humies Award 2014 - LIACS - Leiden Institute of Advanced Computer Science
  30. 2048 (video game) from Wikipedia
  31. Teaching Deep Convolutional Neural Networks to Play Go by Hiroshi Yamashita, The Computer-go Archives, December 14, 2014
  32. Teaching Deep Convolutional Neural Networks to Play Go by Michel Van den Bergh, CCC, December 16, 2014
  33. Convolutional neural network from Wikipedia
  34. Best Paper Awards | TAAI 2014
  35. DeepChess: Another deep-learning based chess program by Matthew Lai, CCC, October 17, 2016
  36. ICANN 2016 | Recipients of the best paper awards
  37. Using GAN to play chess by Evgeniy Zheltonozhskiy, CCC, February 23, 2017
  38. New DeepMind paper by GregNeto, CCC, November 21, 2019
  39. Naive Bayes classifier from Wikipedia
  40. Amir Ban (2012). Automatic Learning of Evaluation, with Applications to Computer Chess. Discussion Paper 613, The Hebrew University of Jerusalem - Center for the Study of Rationality, Givat Ram
  41. Christopher Clark, Amos Storkey (2014). Teaching Deep Convolutional Neural Networks to Play Go. arXiv:1412.3409
  42. Chris J. Maddison, Aja Huang, Ilya Sutskever, David Silver (2014). Move Evaluation in Go Using Deep Convolutional Neural Networks. arXiv:1412.6564v1

Up one Level