introduction genetic algorithms machine learning
quins són els meus inicis de sessió i contrasenya del router
Aquest tutorial sobre l'algorisme genètic explica detalladament què són els algorismes genètics i el seu paper en l'aprenentatge automàtic :
A la Tutorial anterior , vam aprendre sobre models de xarxes neuronals artificials: Perceptron multicapa, Propagació posterior, Biaix radial i Mapes autoorganitzatius de Kohonen, inclosa la seva arquitectura.
Ens centrarem en els algorismes genètics anteriors a les xarxes neuronals, però ara GA ha estat assumida per NN. Tot i que GA encara té aplicacions a la vida real, com ara problemes d’optimització com ara programació, jocs, robòtica, disseny de maquinari, problemes de venedor ambulant, etc.
Els algorismes genètics són algorismes que es basen en la idea evolutiva de la selecció natural i la genètica. Els GA són algorismes de cerca heurística adaptativa, és a dir, els algorismes segueixen un patró iteratiu que canvia amb el temps. És un tipus d’aprenentatge de reforç on la retroalimentació és necessària sense dir el camí correcte a seguir. Els comentaris poden ser positius o negatius.
=> Llegiu la sèrie completa de formació sobre aprenentatge automàtic
Què aprendreu:
- Per què utilitzar algorismes genètics
- Què són els algorismes genètics
- Avantatges i desavantatges de l'algorisme genètic
- Aplicacions dels algorismes genètics
- Conclusió
Per què utilitzar algorismes genètics
Els GA són algorismes més robusts que es poden utilitzar per a diversos problemes d’optimització. Aquests algoritmes no es desvien fàcilment en presència de soroll, a diferència d'altres algorismes d'intel·ligència artificial. Els GA es poden utilitzar en la cerca d’espai gran o multimodal.
Antecedents biològics d’algorismes genètics
Genètica es deriva de la paraula grega, 'gènesi' que significa créixer. La genètica decideix els factors d’herència, les semblances i les diferències entre els descendents en el procés d’evolució. Els algorismes genètics també es deriven de l'evolució natural.
Algunes terminologies en un cromosoma biològic
- Cromosomes: Tota la informació genètica d’una espècie s’emmagatzema en cromosomes.
- gens: Els cromosomes es divideixen en diverses parts anomenades gens.
- Al·lels: Els gens identifiquen la característica d’un individu. La possibilitat d’una combinació de gens per formar propietats s’anomena al·lels. Un gen pot tenir al·lels diferents.
- Grup de gens: Totes les combinacions possibles de gens que són al·lels en un grup de població s’anomenen grup de gens.
- Genoma: El conjunt de gens d’una espècie s’anomena genoma.
- Locus: Cada gen té una posició en un genoma que s’anomena locus.
- Genotip: Una combinació completa de gens en un individu s’anomena genotip.
- Fenotip: Un conjunt de genotips en forma descodificada s’anomena fenotip.
Què són els algorismes genètics
Els algorismes genètics estimulen el procés com en els sistemes naturals d’evolució. Charles Darwin va afirmar la teoria de l'evolució que segons l'evolució natural, els éssers biològics evolucionen segons el principi de 'supervivència dels més aptes'. La cerca de GA està dissenyada per fomentar la teoria de la 'supervivència dels més aptes'.
Els GA fan una cerca aleatòria per resoldre problemes d'optimització. GA utilitza tècniques que utilitzen la informació històrica anterior per orientar la cerca cap a l'optimització del nou espai de cerca.
Correlació d’un cromosoma amb GA
El cos humà té cromosomes formats per gens. Un conjunt de tots els gens d’una espècie específica s’anomena genoma. En els éssers vius, els genomes s’emmagatzemen en diversos cromosomes mentre que en GA tots els gens s’emmagatzemen en el mateix cromosoma.
Comparació entre l’evolució natural i la terminologia de l’algorisme genètic
Evolució natural | Algorisme genètic |
---|---|
Cromosoma | Corda |
Gèn | Funció |
Al·lel | Valor de la funció |
Genotip | Cadena codificada |
Fenotip | Estructura descodificada |
Terminologia important a GA
- Població: És un grup d’individus. La població inclou el nombre d’individus que s’estan provant, la informació de l’espai de cerca i els paràmetres del fenotip. En general, la població s’inicialitza aleatòriament.
- Particulars: Els individus són una solució única en població. Un individu té un conjunt de paràmetres anomenats gens. Gens combinats per formar cromosomes.
- gens: Els gens són blocs bàsics dels algorismes genètics. Un cromosoma està format per gens. Els gens poden determinar la solució al problema. Es representen per una cadena de bits (0 o 1) de longitud aleatòria.
- Aptitud: La forma física indica el valor del fenotip del problema. La funció de condicionament físic indica la proximitat de la solució a la solució òptima. La funció de condicionament físic es determina de moltes maneres, com ara la suma de tots els paràmetres relacionats amb el problema: distància euclidiana, etc. No hi ha cap regla per avaluar la funció de forma física.
Un algorisme genètic senzill
Un GA simple té una població de cromosomes individuals. Aquests cromosomes representen possibles solucions. Els operadors de reproducció s’apliquen sobre aquests conjunts de cromosomes per realitzar mutacions i recombinació. Per tant, és important trobar operadors de reproducció adequats, ja que el comportament de GA en depèn.
Un algorisme genètic simple és el següent:
# 1) Comenceu per la població creada aleatòriament.
# 2) Calculeu la funció de forma física de cada cromosoma.
# 3) Repetiu els passos fins que es creen n descendents. Els descendents es creen com es mostra a continuació.
- Seleccioneu un parell de cromosomes de la població.
- Creua el parell amb probabilitat pcper formar descendents.
- Muteu l’encreuament amb probabilitat pm.
# 4) Substituïu la població original per la nova població i aneu al pas 2.
Vegem els passos seguits en aquest procés d’iteració. Es genera la població inicial de cromosomes. La població inicial hauria de contenir prou gens perquè es pogués generar qualsevol solució. El primer grup de població es genera aleatòriament.
- Selecció: El millor conjunt de gens es selecciona en funció de la funció de condicionament físic. Es tria la corda amb la millor funció de fitness.
- Reproducció: La recombinació i la mutació generen nous descendents.
- Avaluació: Els nous cromosomes generats s’avaluen per la seva forma física.
- Substitució: En aquest pas, la població antiga se substitueix per la població recentment generada.
Mètode de selecció de la ruleta
La selecció de la ruleta és el mètode de selecció que s’utilitza àmpliament.
El procés de selecció és breu com es mostra a continuació:
En aquest mètode, es fa una cerca lineal a través de la ruleta. Les ranures de la roda es pesen segons el valor físic individual. El valor objectiu s’estableix aleatòriament segons la proporció de la suma de la forma física de la població.
A continuació, es busca la població fins que s’assoleix el valor objectiu. Aquest mètode no garanteix el més apte dels individus, però té la probabilitat de ser el més apte.
Vegem els passos de la selecció de la ruleta.
El valor esperat d’un individu = Fitness individual / fitness of the population. Les ranures de les rodes s’assignen a les persones en funció de la seva forma física. La roda es gira N vegades, on N és el nombre total d’individus de la població. Quan s’acaba una rotació, la persona seleccionada es col·loca en un grup de pares.
- Sigui el valor total esperat d’un nombre d’individus de la població S.
- Repetiu els passos de 3-5 n vegades.
- Seleccioneu un nombre enter entre 0 i S.
- Bucle a través d’individus de la població, suma els valors esperats fins que la suma sigui superior a s.
- Es selecciona la persona el valor esperat de la qual supera el límit s.
Inconvenients de la selecció de la roda:
- Si la forma física és molt diferent, aleshores la circumferència de la ruleta serà màxima deguda al cromosoma de la funció física més elevada, de manera que els altres tenen molt poques possibilitats de ser seleccionats.
- És sorollós.
- L'evolució depèn de la variància en la forma física de la població.
Altres mètodes de selecció
Hi ha molts altres mètodes de selecció utilitzats al 'Selecció' pas de l'algorisme genètic.
Parlarem dels altres 2 mètodes àmpliament utilitzats:
# 1) Selecció de classificació: En aquest mètode, a cada cromosoma se li dóna un valor físic a partir de la classificació. La pitjor forma física és 1 i la millor forma física és N. És un mètode de convergència lenta. En aquest mètode, es conserva la diversitat que condueix a una cerca amb èxit.
Es seleccionen els possibles pares i després es fa un torneig per decidir quina de les persones serà pare.
# 2) Selecció del torneig: En aquest mètode, s’aplica una estratègia de pressió selectiva a la població. El millor individu és aquell amb més bona forma física. Aquest individu és el guanyador de la competició del torneig entre individus Nu de la població.
La població del torneig juntament amb el guanyador es torna a afegir a la piscina per generar nous descendents. La diferència en els valors de forma física del guanyador i de les persones a la piscina d’aparellament proporciona una pressió selectiva per obtenir uns resultats òptims.
Crossover
És un procés per prendre 2 individus i produir-ne un nen. El procés de reproducció després de la selecció fa clons de les bones picades. L'operador de creuament s'aplica sobre les cordes per produir una descendència millor.
La implementació de l’operador de crossover és la següent:
- Es seleccionen dos individus aleatòriament de la població per produir descendència.
- Es selecciona un lloc creuat a l'atzar al llarg de la longitud de la cadena.
- Els valors del lloc s’intercanvien.
L'encreuament realitzat pot ser un encreuament d'un sol punt, un encreuament de dos punts, un encreuament multipunt, etc. El creuament d'un sol punt té un lloc d'encreuament mentre que un lloc d'encreuament de dos punts té 2 llocs on es canvien els valors.
Ho podem veure a l'exemple següent:
Crossover d'un sol punt
Crossover de dos punts
Probabilitat de creuament
Pàgc, probabilitat d'encreuament és el terme que descriu la freqüència amb què es realitzarà l'encreuament. El 0% de probabilitat significa que els nous cromosomes seran una còpia exacta dels antics cromosomes, mentre que el 100% de probabilitat significa que tots els nous cromosomes es fabriquen per encreuament.
Mutació
La mutació es fa després del Crossover. Tot i que l’encreuament només se centra en la solució actual, l’operació de mutació cerca tot l’espai de cerca. Aquest mètode consisteix a recuperar la informació genètica perduda i a distribuir-la.
Aquest operador ajuda a mantenir la diversitat genètica de la població. Ajuda a prevenir els mínims locals i impedeix generar solucions inútils per a qualsevol població.
La mutació es realitza de moltes maneres, com ara invertir el valor de cada gen amb una petita probabilitat o realitzar mutació només si millora la qualitat de la solució.
Algunes de les formes de mutació són:
- Invertir: Canviant de 0 a 1 o 1 a 0.
- Intercanvi: Es trien dues posicions aleatòries i s’intercanvien els valors.
- Invertint: Es tria la posició aleatòria i s’inverteixen els bits al costat.
Vegem alguns exemples de cadascun:
Flipping
Intercanviant
Invertint
Probabilitat de mutació
Pàgm, probabilitat de mutació és un terme que decideix amb quina freqüència es mutaran els cromosomes. Si la probabilitat de mutació és del 100%, significa que es canvia tot el cromosoma. Si no es realitza una mutació, es generen descendents nous directament després del creuament.
Un exemple d'algorisme genètic general Probabilitat de mutació: Pàgm, probabilitat de mutació és un terme que decideix amb quina freqüència es mutaran els cromosomes. Si la probabilitat de mutació és del 100%, significa que es canvia tot el cromosoma.
Si no es realitza una mutació, la nova descendència es genera directament després del creuament. La població inicial de cromosomes es dóna com A, B, C, D. La mida de la població és de 4.
La funció de forma física es pren com un nombre d’1 a la cadena.
Cromosoma | Aptitud |
---|---|
A: 00000110 | 2 |
B: 11101110 | 6 |
C: 00100000 | 1 |
D: 00110100 | 3 |
La suma de la forma física és 12, la qual cosa implica que la funció de forma física mitjana seria de ~ 12/4 = 3
Probabilitat de creuament = 0,7
Probabilitat de mutació = 0,001
# 1) Si se seleccionen B i C, el crossover no es realitza, ja que el valor de forma física de C està per sota de la forma física mitjana.
# 2) B està mutat => B: 11101110 -> B': 01101110 per preservar la diversitat de la població
# 3) Se seleccionen B i D, es realitza el creuament.
B: 11101110 E: 10110100 -> D: 00110100 F: 01101110
# 4) Si E és mutat, llavors
E: 10110100 -> E': 10110000
Els cromosomes corresponents es mostren a la taula següent. L'ordre es fa a l'atzar.
Cromosoma | Aptitud |
---|---|
A: 01101110 | 5 |
B: 00100000 | 1 |
C: 10110000 | 3 |
D: 01101110 | 5 |
Tot i que es perd l’individu més apte amb un valor físic de 6, la forma mitjana general de la població augmenta i seria: 14/4 = 3,5
Quan s'aturarà l'algorisme genètic
Un algorisme genètic s'atura quan es compleixen algunes de les condicions que s'enumeren a continuació:
# 1) Millor convergència individual: Quan el nivell físic mínim cau per sota del valor de convergència, l'algorisme s'atura. Condueix a una convergència més ràpida.
# 2) La pitjor convergència individual: Quan els individus menys aptes de la població assoleixen un valor físic mínim inferior a la convergència, l'algorisme s'atura. En aquest mètode, es manté l’estàndard mínim d’aptitud a la població. Vol dir que el millor individu no està garantit, però hi haurà un valor físic mínim.
# 3) Suma de forma física: En aquest mètode, si la suma de la forma física és inferior o igual al valor de convergència, la cerca s’aturarà. Es garanteix que tota la població es troba dins del rang de condicionament físic.
# 4) Fitness mitjà: En aquest mètode, almenys la meitat dels individus de la població seran millors o iguals al valor de convergència.
Alguns criteris de convergència o condició de parada poden ser:
- Quan han evolucionat un nombre determinat de generacions.
- Quan s'ha complert el temps especificat per executar l'algorisme.
- Quan el valor físic de la població no canvia encara més amb les iteracions.
Avantatges i desavantatges de l'algorisme genètic
Els avantatges d’un algorisme genètic són:
- Té un espai de solució més ampli.
- És més fàcil descobrir l’òptim global.
- Paral·lelisme: Diversos GA poden funcionar junts utilitzant la mateixa CPU sense interferir entre ells. Funcionen paral·lelament de manera aïllada.
Limitacions de GA:
- La identificació de la funció de condicionament físic és una limitació.
- La convergència dels algorismes pot ser massa ràpida o massa lenta.
- Hi ha una limitació de la selecció de paràmetres com el creuament, la probabilitat de mutació, la mida de la població, etc.
Aplicacions dels algorismes genètics
GA és eficaç per resoldre problemes d’alta dimensió. Un GA s’utilitza eficaçment quan l’espai de cerca és molt gran, no hi ha tècniques matemàtiques de resolució de problemes disponibles i altres algorismes de cerca tradicionals no funcionen.
Algunes aplicacions on s’utilitza GA:
- Problema d'optimització: Un dels millors exemples dels problemes d'optimització és el problema del venedor de viatges que utilitza GA. Altres problemes d’optimització, com ara la programació de treballs, els GAs d’optimització de la qualitat del so, són molt utilitzats
- Model de sistema immunitari: Els GAs s’utilitzen per modelar diversos aspectes del sistema immunitari per a famílies de gens individuals i de múltiples gens durant el temps evolutiu.
- Aprenentatge automàtic: S'han utilitzat GA per resoldre problemes relacionats amb la classificació, predicció, crear regles d'aprenentatge i classificació .
Conclusió
Els algorismes genètics es basen en el mètode d’evolució natural. Aquests algoritmes són diferents dels altres algorismes de classificació ja que utilitzen paràmetres codificats (0 o 1), hi ha múltiples nombres d’individus en una població i utilitzen el mètode probabilístic per a la convergència.
Amb el procés de creuament i mutació, els GA convergeixen en generacions successives. L’execució d’un algoritme de GA no garanteix sempre una solució amb èxit. Els algorismes genètics són altament eficients en optimització: problemes de programació de treballs.
Espero que aquest tutorial us hagi enriquit el coneixement sobre el concepte d’algorismes genètics.
=> Visiteu aquí la sèrie exclusiva d’aprenentatge automàtic
Lectura recomanada
- Prova basada en models mitjançant algorisme genètic
- Mineria de dades contra aprenentatge automàtic contra intel·ligència artificial contra aprenentatge profund
- Tutorial d'aprenentatge automàtic: Introducció a ML i les seves aplicacions
- Tipus d’aprenentatge automàtic: supervisat contra aprenentatge no supervisat
- Una guia completa sobre xarxes neuronals artificials en aprenentatge automàtic
- 11 eines de programari d'aprenentatge automàtic més populars el 2021
- Les 13 millors empreses d'aprenentatge automàtic (Llista actualitzada 2021)
- Què és la màquina vectorial de suport (SVM) en l'aprenentatge automàtic?