Natural Computing with Python
eBook - ePub

Natural Computing with Python

Learn to implement genetic and evolutionary algorithms to solve problems in a pythonic way

Giancarlo Zaccone

  1. English
  2. ePUB (handyfreundlich)
  3. Über iOS und Android verfügbar
eBook - ePub

Natural Computing with Python

Learn to implement genetic and evolutionary algorithms to solve problems in a pythonic way

Giancarlo Zaccone

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Step-by-step guide to learn and solve complex computational problems with Nature Inspired algorithms. Key Features

  • Artificial Neural Networks
  • Deep Learning models using Keras
  • Quantum Computers and Programming
  • Genetic Algorithms, CNN and RNNs
  • Swarm Intelligence Systems
  • Reinforcement Learning using OpenAI
  • Artificial Life
  • DNA computing
  • Fractals


Description
Natural Computing is the field of research inspired by nature, that allows the development of new algorithms to solve complex problems, leads to the synthesis of natural models, and may result in the design of new computing systems. This book exactly aims to educate you with practical examples on topics of importance associated with research field of Natural computing. The initial few chapters will quickly walk you through Neural Networks while describing deep learning architectures such as CNN, RNN and AutoEncoders using Keras. As you progress further, you'll gain understanding to develop genetic algorithm to solve traveling saleman problem, implement swarm intelligence techniques using the SwarmPackagePy and Cellular Automata techniques such as Game of Life, Langton's ant, etc. The latter half of the book will introduce you to the world of Fractals such as such as the Cantor Set and the Mandelbrot Set, develop a quantum program with the QiSkit tool that runs on a real quantum computing platform, namely the IBM Q Machine and a Python simulation of the Adleman experiment that showed for the first time the possibility of performing computations at the molecular level. What You Will Learn

  • Mastering Artificial Neural Networks
  • Developing Artificial Intelligence systems
  • Resolving complex problems with Genetic Programming and Swarm intelligence algorithms
  • Programming Quantum Computers
  • Exploring the mathematical world of fractals
  • Simulating complex systems by Cellular Automata
  • Understanding the basics of DNA computation

Who This Book Is For
This book is for all science enthusiasts, in particular who want to understand what are the links between computer sciences and natural systems. Interested readers should have good skills in math and python programming along with some basic knowledge of physics and biology.. Although, some knowledge of the topics covered in the book will be helpful, it is not essential to have worked with the tools covered in the book. Table of Contents

  • Neural Networks
  • Deep Learning
  • Genetic Programming
  • Swarm Intelligence
  • Cellular Automata
  • Fractals
  • Quantum Computing
  • DNA Computing

  • About the Author
    Giancarlo Zaccone has over ten years of experience in managing research projects in scientific and industrial areas.
    He is a Software and Systems Engineer Consultant at European Space Agency (ESTEC).
    Giancarlo holds a master's degree in Physics and an advanced master's degree in Scientific Computing at La Sapienza of Rome. His LinkedIn Profile: https://www.linkedin.com/in/giancarlozaccone/

Häufig gestellte Fragen

Wie kann ich mein Abo kündigen?
Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
(Wie) Kann ich Bücher herunterladen?
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Welcher Unterschied besteht bei den Preisen zwischen den Aboplänen?
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Was ist Perlego?
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Unterstützt Perlego Text-zu-Sprache?
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ist Natural Computing with Python als Online-PDF/ePub verfügbar?
Ja, du hast Zugang zu Natural Computing with Python von Giancarlo Zaccone im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatik & Neuronale Netzwerke. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2019
ISBN
9789388511612

CHEPTER 1

Neural
Networks

Introduction

The history of the Neural Networks has its origins in the years the idea of neural networks learning. Between 1957 and 1958, however, Rosenblatt proposed the first true modern neural network scheme, that is, the perceptron able to recognize shapes and associate configurations.
The perceptron (described in the Perceptron section) exceeds the limitations of the binary structure proposed by McCulloch and Pitts, because it is equipped with variable synaptic weights, which are then able to learn.
Until the 1970s–80s, which is until the advent of modern computers, neural networks fell into the general disinterest of the scientific community, which recalls contact with the work of Werbos in 1974, which describes the mathematical bases for the training of multi-layer neural networks.
The most modern neural network structure is reached in 1986, when Rumelhart, Hilton, and Williams described the training algorithm for backpropagation of the error (introduced in MLP Python implementation section), thanks to which it is possible to modify the weights of the neuronal connections in a systematic way, as long as the response of the network does not become the same—or as close as possible—to the desired one.
A neural network actually presents itself as an “adaptive” system capable of modifying its structure (nodes and interconnections) based both on external data and internal information that connects and passes through the neural network during the learning phase and reasoning.
For this purpose, at the end of the chapter, the TensorFlow software library for machine learning is introduced, which provides tested and optimized modules useful in the implementation of algorithms for different types of tasks from language processing to image recognition.

Structure

  • Perceptron
    • Developing logic gates by perceptron
  • Activation functions
    • Linear and non-linear models
    • Sigmoid neuron
  • How neural networks learn
  • Neural network architecture
  • Supervised learning
    • Gradient descent
  • MLP Python implementation
  • TensorFlow
    • Logistic regression
  • Conclusion
  • Sitography
NOTE: The examples presented in this book were made for a Python 3.x version. However, as a matter of compatibility with all the examples that will be described in the following chapters, it is recommended to use Python 3.5.2 version, downloadable at the following link: https://www.python.org/downloads/release/python-352/

Biological neuron

Biological neurons are electrically active cells, and the human brain contains about 1011 neurons. They exist in different forms, although most of them have the shape shown in Figure 1.1. The main cell body is the soma; the dendrites represent the inputs of the neuron and the axon represents its output. Communication between neurons occurs at the junctions, called synapses.
Each neuron is typically connected to a thousand other neurons and, consequently, the number of synapses in the brain exceeds 1014. Each neuron can be found mainly in 2 states: active or rest. When the neuron is activated, it produces an action potential (electrical impulse) that is transported along the axon. Once the signal reaches the synapse, it causes the release of chemicals (neurotransmitters) that cross the junction and enter the body of other neurons.
Depending on the type of synapses, which can be exciters or inhibitors, these substances increase or decrease respectively the probability that the next neuron becomes active. At each synapse, a weight is associated which determines the type and extent of the exciter or inhibitor effect. Following is the diagram of a biological neuron:
Figure 1.1 : Biological neuron representation
So, in a nutshell, each neuron makes a weighted sum of the inputs coming from the other neurons and, if this sum exceeds a certain threshold, the neuron is activated.
Each neuron, operating at a time of millisecond, represents a relatively slow processing system; however, the entire network has a very large number of neurons and synapses that can operate in parallel and simultaneously, making the actual proce...

Inhaltsverzeichnis

  1. Cover
  2. Natural Computing with Python
  3. Copyright
  4. About the Author
  5. Preface
  6. acknowledgement
  7. Errata
  8. Table of Contents
  9. 1. Neural Networks
  10. 2. Deep Learning
  11. 3. Genetic Algorithms and Programming
  12. 4. Swarm Intelligence
  13. 5. Cellular Automata
  14. 6. Fractals
  15. 7. Quantum Computing
  16. 8. DNA Computing
  17. Index
Zitierstile für Natural Computing with Python

APA 6 Citation

Zaccone, G. (2020). Natural Computing with Python ([edition unavailable]). BPB Publications. Retrieved from https://www.perlego.com/book/1681441/natural-computing-with-python-learn-to-implement-genetic-and-evolutionary-algorithms-to-solve-problems-in-a-pythonic-way-pdf (Original work published 2020)

Chicago Citation

Zaccone, Giancarlo. (2020) 2020. Natural Computing with Python. [Edition unavailable]. BPB Publications. https://www.perlego.com/book/1681441/natural-computing-with-python-learn-to-implement-genetic-and-evolutionary-algorithms-to-solve-problems-in-a-pythonic-way-pdf.

Harvard Citation

Zaccone, G. (2020) Natural Computing with Python. [edition unavailable]. BPB Publications. Available at: https://www.perlego.com/book/1681441/natural-computing-with-python-learn-to-implement-genetic-and-evolutionary-algorithms-to-solve-problems-in-a-pythonic-way-pdf (Accessed: 14 October 2022).

MLA 7 Citation

Zaccone, Giancarlo. Natural Computing with Python. [edition unavailable]. BPB Publications, 2020. Web. 14 Oct. 2022.