Bài giảng Máy học nâng cao: Genetic algorithm - Trịnh Tấn Đạt
lượt xem 4
download
Bài giảng "Máy học nâng cao: Genetic algorithm" cung cấp cho người học các kiến thức: Introduction - Genetic algorithm (GA), genetic algorithm operators and parameters, example. Cuối bài giảng có phần bài tập để người học ôn tập và củng cố kiến thức.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Máy học nâng cao: Genetic algorithm - Trịnh Tấn Đạt
- Trịnh Tấn Đạt Khoa CNTT – Đại Học Sài Gòn Email: trinhtandat@sgu.edu.vn Website: https://sites.google.com/site/ttdat88/
- Contents Introduction: Genetic Algorithm (GA) GA Operators and Parameters Example Homework
- Introduction History Of Genetic Algorithms “Evolutionary Computing” was introduced in the 1960s by I. Rechenberg. John Holland wrote the first book on Genetic Algorithms ‘Adaptation in Natural and Artificial Systems’ in 1975. In 1992 John Koza used genetic algorithm to evolve programs to perform certain tasks. He called his method “Genetic Programming”.
- What Are Genetic Algorithms (GAs)? GAs are search and optimization techniques based on Darwin’s Principle of Natural Selection and Genetic Inheritance. A class of probabilistic optimization algorithms. Widely-used in business, science and engineering.
- Basic Idea Of Principle Of Natural Selection “Select The Best, Discard The Rest” An Example of Natural Selection: Rabbits are fast and smart Some of them are faster and smarter than other rabbits. Thus, they are less likely to be eaten by foxes. They have a better chance of survival and start breeding. The resulting baby rabbits (on average) will be faster and smarter Now, evolved species are more faster and smarter Genetic Algorithms Implement Optimization Strategies By Simulating Evolution Of Species Through Natural Selection
- Classes of Search Techniques Search Techniques Calculus Base Guided random search Enumerative Techniques techniques Techniques Fibonacci Sort DFS Dynamic BFS Programming Tabu Search Hill Climbing Simulated Evolutionary Anealing Algorithms Genetic Genetic Programming Algorithms
- Nature to Computer Mapping GAs use a vocabulary borrowed from nature genetics Nature Computer (GAs) Population Set of solutions Individuals in environment Solutions to a problem Individual’s degree of adaptation to its Solutions quality (fitness function) surrounding environment Chromosome Encoding for a Solution Gene Part of the encoding of a solution Selection, crossover and mutation in Stochastic operators nature’s evolutionary process
- Working Mechanism Of GAs
- Simple Genetic Algorithm Simple_Genetic_Algorithm() { Initialize the Population; Calculate Fitness Function; While(Fitness Value != Optimal Value) { Selection;//Natural Selection, Survival Of Fittest Crossover;//Reproduction, Propagate favorable characteristics Mutation;//Mutation Calculate Fitness Function; } }
- Designing GAs ⚫ How to represent chromosomes? ⚫ How to create an initial population? ⚫ How to define fitness function? ⚫ How to define genetic operators? ⚫ How to generate next generation? ⚫ How to define stopping criteria?
- GA Operators and Parameters
- Search Space and Population The search space S is the finite set of possible solutions. Each solution x S is called an individual Population of size N is a subset of search space S. Start with a population of randomly generated individuals, or use A previously saved population A set of solutions provided by a human expert A set of solutions provided by another heuristic algorithm
- Representation (Encoding) The process of representing the solution in the form of a string (chromosome) that conveys the necessary information. Just as in a chromosome, each gene controls a particular characteristic of the individual Similarly, each bit in the string represents a characteristic of the solution.
- Binary Encoding
- Binary Encoding Binary Encoding – Most common method of encoding. Chromosomes are strings of 1s and 0s In classic genetic algorithms, binary strings of fixed length m are used. In order to be able to encode each solution of the search space S in a one-to-one way, the inequality 2m | S | For example, we have S={1,2,…,15}. Choose m = 4 to represent 15 chromosomes 8 = 23 15 2 4 = 16
- Value Encoding Every chromosome is a string of some values. Values can be anything connected to problem, form numbers, real numbers or chars to some complicated objects.
- Permutation Encoding Permutation encoding can be used in ordering problems, such as travelling salesman problem or task ordering problem. In permutation encoding, every chromosome is a string of numbers, which represents number in a sequence.
- Tree Encoding Tree encoding is used mainly for evolving programs or expressions, for genetic programming. In tree encoding every chromosome is a tree of some objects, such as functions or commands in programming language.
- Fitness function A fitness function quantifies the optimality of a solution (chromosome) so that particular solution may be ranked against all the other solutions. A fitness value is assigned to each solution depending on how close it actually is to solving the problem. A fitness function is a nonnegative function f f:S→R
- Genetic Operators Reproduction (Selection) Copy existing chromosomes, chosen at random, to the new population. Recombination (Crossover) Create new chromosomes by recombining randomly chosen substrings from existing chromosomes. Mutation Create a new chromosome from an existing one by performing small random changes.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Máy học nâng cao: Python, jupyter notebook, kaggle - Trịnh Tấn Đạt
48 p | 95 | 26
-
Bài giảng Tin học nâng cao: Phần 1 - ĐH Bách Khoa Hà Nội
116 p | 110 | 8
-
Bài giảng Máy học nâng cao: Naive bayes classification - Trịnh Tấn Đạt
36 p | 45 | 8
-
Bài giảng Máy học nâng cao: Deep learning an introduction - Trịnh Tấn Đạt
109 p | 51 | 6
-
Bài giảng Máy học nâng cao: Dimension reduction and feature selection - Trịnh Tấn Đạt
81 p | 44 | 6
-
Bài giảng Máy học nâng cao: Clustering - Trịnh Tấn Đạt
70 p | 52 | 6
-
Bài giảng Lập trình nâng cao: Hoạt hình, tách file - Trần Quốc Long
28 p | 66 | 6
-
Bài giảng Máy học nâng cao: Support vector machine - Trịnh Tấn Đạt
77 p | 45 | 5
-
Bài giảng Lập trình nâng cao: Lớp - Trần Quốc Long
52 p | 89 | 5
-
Bài giảng Lập trình nâng cao: Tìm kiếm và đếm - Trần Quốc Long
54 p | 70 | 5
-
Bài giảng Máy học nâng cao: Giới thiệu - Trịnh Tấn Đạt
41 p | 36 | 5
-
Bài giảng Máy học nâng cao: Artificial neural network - Trịnh Tấn Đạt
62 p | 38 | 4
-
Bài giảng Máy học nâng cao: Linear regression - Trịnh Tấn Đạt
64 p | 23 | 4
-
Bài giảng Máy học nâng cao: Logistic regression - Trịnh Tấn Đạt
27 p | 50 | 3
-
Bài giảng Máy học nâng cao: Association rules - Trịnh Tấn Đạt
76 p | 60 | 3
-
Bài giảng Lập trình nâng cao - Chương 7: Simple AI
54 p | 47 | 3
-
Bài giảng Lập trình nâng cao: Bài 7+8+9 - Trương Xuân Nam
43 p | 27 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn