
Apply genetic algorithms to optimize hyperparameters of SVM and multilayer neural networks, perform feature selection, and implement from scratch in Python on three datasets for an intermediate level course.
Explore optimization with gradient descent to minimize error across weight configurations, contrasting local and global minima and discussing how P versus NP relates to polynomial time.
Apply selective reproduction to evolve solutions toward higher fitness via crossover and mutation. Use elitism to keep top solutions and select parents by roulette wheel or tournament selection.
Decode the chromosome of zeros and ones into actual C and gamma values for SVM using binary-to-real mapping, with left/right indexing and powers of two to obtain the objective value.
Prepare the dataset for a support vector machine regression by splitting x and y. Apply fivefold cross-validation with an RBF kernel to compute objective function value for GA optimization.
Demonstrate a three-segment crossover in a genetic algorithm for svm optimization, using two random indices to swap the middle segments of two parents and assemble two offspring.
Learn how to create two children from two parents by selecting the first, middle, and last segments and concatenating them via a segment-based crossover, with a probabilistic rate.
We apply crossover and mutation to generate two mutated children, evaluate each by its objective value (average error), and build a new population for the next generation in SVM optimization.
This lecture explains building the next generation in a genetic algorithm: mutate two children per pair, form a 40-member population, sort by objective value, and keep the best per generation.
Explore how a genetic algorithm optimizes SVM hyperparameters C and gamma, selecting the best chromosome from the last generation and the best across all generations to maximize accuracy.
This lecture swaps a support vector machine for a multilayer perceptron to optimize thermal load predictions, using one-hot encoding, normalization, and a genetic algorithm to tune neurons and learning rate.
optimize an mlp model with a genetic algorithm by encoding hyperparameters, using tournament selection and elitism, decoding learning rate and momentum, and evaluating via threefold cross‑validation to minimize error.
This lecture presents MLP progressor settings—hidden layer 100, Adam, learning rate 0.001, constant, momentum 0.9—and shows genetic algorithm outperforming stochastic gradient descent, from 90% to 92%, with SBM classification.
In this course, you will learn what hyperparameters are, what Genetic Algorithm is, and what hyperparameter optimization is. In this course, you will apply Genetic Algorithm to optimize the performance of Support Vector Machines (SVMs) and Multilayer Perceptron Neural Networks (MLP NNs). It is referred to as hyperparameter tuning or parameter tuning. You will also learn how to do feature selection using Genetic Algorithm.
Hyperparameter optimization will be done on two datasets:
A regression dataset for the prediction of cooling and heating loads of buildings
A classification dataset regarding the classification of emails into spam and non-spam
The SVM and MLP will be applied on the datasets without optimization and compare their results to after their optimization
Feature Selection will be done on one dataset:
Classification of benign tumors from malignant tumors in a breast cancer dataset
By the end of this course, you will have learnt how to code Genetic Algorithm in Python and how to optimize your machine learning algorithms for maximum performance. You would have also learnt how to apply Genetic Algorithm for feature selection.
To sum up:
You will learn what hyperparameters are (sometimes referred to as parameters, though different)
You will learn Genetic Algorithm
You will use Genetic Algorithm to optimize the performance of your machine learning algorithms
Maximize your model's accuracy and predictive abilities
Optimize the performance of SVMs and MLP Neural Networks
Apply feature selection to extract the features that are relevant to the predicted output
Get the best out of your machine learning model
Remove redundant features, which in return will reduce the time and complexity of your model
Understand what are the features that have a relationship to the output and which do not
You do not need to have a lot of knowledge and experience in optimization or Python programming - it helps, but not a must to succeed in this course.
This course will teach you how to optimize the functionality of your machine learning algorithms
Where every single line of code is explained thoroughly
The code is written in a simple manner that you will understand how things work and how to code Genetic Algorithm even with zero knowledge in Python
Basically, you can think of this as not only a course that teaches you how to optimize your machine learning model, but also Python programming!
Real Testaments -->
1) "This is my second course with Dana. This course is a combination of Metaheuristic and machine learning. It gives a wide picture of machine learning hyperparameter optimization. I recommend taking this course if you know basics of machine learning and you want to solve some problems using ML. By applying the techniques of GA optimization, you will have better performance of ML. The codes provided in this course are very straightforward and easy to understand. The course deserves five stars because of the lecture contents and examples. The instructor knowledgeable about the topic and talented in programming." -- Abdulaziz, 5 star rating
2) "An excellent course! Great for anyone interested in fine-tuning their machine-learning models. I really enjoyed the from scratch implementations and how well they are explained. These implementations from scratch help one understand the theory very well. An interesting thing to point out is that this course uses Metaheustistics to optimise machine-learning. However, you can use machine-learning classifiers to help your Metaheuristic predict good or bad regions." -- Dylan, 5 star rating
3) "Very helpful, for application of optimization algorithm to optimize ML algorithm parameters and got to do this using python, wonderful." -- Erigits, 5 star rating
4) "well explained course. The topic is not an easy one but to date the explanations have been clear. The course has an interesting spreadsheet project." -- Martin, 5 star rating
5) "Thank you very much for this awesome course. Lots of new things learn from this course." -- Md. Mahmudul, 5 star rating