
Students will understand the basics of what machine Learning is on a very Fundamental Level. The difference between a Neural network and a genetic algorithm is highlighted here as well. The main reason of distinction between the classical programming approach and the Machine Learning approach is clarified as well!
Nature! the creator of everyone is one of the biggest sources of inspiration of the creation of genetic algorithms which turned out to be very effective in the domain of Machine Learning. The process of biological evolution is explained in Camels, Beatles and the American Bison.
The fitness function or the loss function is the most important driver in considering how the program will evolve and solve a particular problem. The fitness function is explained here with the help of some examples as well
Elitism in genetic algorithms selects the top 10 percent by fitness to pass to the next generation, speeding convergence and improving accuracy in machine learning applications.
The most important fundamental concept according to me in Genetic algorithm. This is the stage which is completely responsible for the improving accuracy of any genetic algorithm and then can be extended to get an efficient solution for solving problems
Explore how Python implements genetic machine learning algorithms by building a main method, using def and __name__ == '__main__', and evolving populations through selection, crossover, and fitness-based stopping criteria.
Calculate fitness by comparing each chromosome to the target string 'I Love Machine learning', zip the chromosome with the target, and increment the fitness for each mismatch.
Run and test a genetic algorithm by creating a random population, validating genomes and mutated genes, and watching how the fittest individuals mate to produce new offsprings.
Designs the brains of a genetic algorithm by initializing a population, evaluating fitness, and evolving through elitism, crossover, and random mutations to solve the target problem.
Complete the genetic machine learning workflow by creating individuals from chromosomes, generating a new population, and advancing generations while printing generation, chromosome, and fitness details.
Explore initializing a genetic algorithm by setting up imports and parameters. Define start, end, and obstacle points and build an individual class with a randomized initial population.
Convert DNA to x and y lines on a graph by mapping population DNA, applying cumulative summation, and using slicing to derive coordinates from moves and a start point.
Implement the crossover operation by selecting random individuals in the population using a mating rate, applying crossover at random cross points on their DNA, and then mutate to drive evolution.
Learn how to implement mutation in a genetic algorithm, including mutation rate checks, random DNA gene reassignment, and integrating mutation with crossover.
Create a new line class with initialization and attributes for moves, start point, end point, and obstacle line, then prepare for plotting with Matplotlib.
Learn how to plot points and lines in matplotlib, using scatter for points and line plots for obstacles, customize color and size, set axis limits, and understand object references.
Develop a genetics-inspired game using object-oriented programming and JavaScript packages, integrating gameplay mechanics, physics concepts like acceleration and displacement, and stage design for iPad.
Import and organize game assets to support initialization and rendering, using functions to manage assets, create and run a new game, and apply image assets on a canvas.
Explore implementing a genetic algorithm for a game: initialize a population, perform crossover to create new generations, and track fitness and best scores to guide evolution.
Create the initial population for a genetic machine learning model by initializing, resetting, and populating units, setting inputs and fitness scores, and preparing for training.
activate brain constructs a function with inputs and a target, normalizes values to 0 to 1, and outputs a flag decision guiding a population-based training cycle.
Examine how selection creates offspring and evaluates fitness in a population. Sort by fitness in decreasing order and select the top units as winners for the next generation.
Explore how mutating genes, crossover, and handling biases guide genetic machine learning algorithms, shaping offspring and gene values to evolve solutions.
Finish implementing genetic.js by coding core functions: a random value generator with min and max, a unit function, and a normalizer to ensure positive, normalized outputs.
Learn to build a game with multiple boards and loops, manage x and y coordinates, create bitmap images, and apply anchor and ground effect for dynamic visuals.
Add buttons and set x and y coordinates for interactive game controls with on-click listeners; initialize text boxes and mission states to support start and restart.
Demonstrate how a genetic algorithm evolves agents for Flappy Bird by encoding x/y positions, target points, and fitness, and iterating generations to identify winning boards.
Learn how a genetic machine learning approach evolves a game-playing population through training, fitness, and scoring, using distance measures, absolute value rules, and border logic for decision making.
In this course we will be focusing on learning Genetical Algorithms used in machine learning in the following modules:
Theory: This section will consider the basics of what Machine Learning actually is at its very fundamental level also followed by its difference with classical programming of defining rules beforehand. The main differences between a Neural Network and Genetical Algorithm are also highlighted into this section
Genetical Algorithm: The basic concepts are taken care of over here starting from the basics like a fitness function which as I like to call it, a major driver into the direction of learning or output that your program will eventually take up. Elitism, followed by Mating or crossover or mutation which are the key factors responsible for the 'learning' in machine learning are explained well in detail over here.
Guess-the-phrase: This is our first programming project based on Python. It is a light-weight project which serves a good purpose of providing clarity into the various aspects of Genetical Algorithm.
Path-Finder: This will be our second project which will use the concepts initialised in the first project to a new depth. This will be our first project where we will be having some graphical (non-terminal) output.
Flappy Bird: A JavaScript Flappy Bird will be created which used genetic algorithm to simulate multiple players and use neural network to play the game
This course is created by keeping absolute beginners in mind. If you are a professional and find the course to be a bit slower. You can always view the lectures at 2x speed
I hope you take away something useful from this course and use it to create awesome new programs which in turn will be your contribution in making the world a better place