Ve strojovém učení je genetické programování (GP) automatické vytváření nebo modifikace programů pomocí genetických algoritmů . Pomocí této metodiky se „pěstují“ programy, které stále lépe (v souladu s určitou fitness funkcí pro chromozomy) řeší zadaný výpočetní problém.
Volba způsobu kódování programu v genetickém algoritmu je jedním z hlavních problémů genetického programování. Program by měl být nakódován tak, aby bylo snadné automaticky provádět náhodné změny (mutační operátor) a kombinovat dva algoritmy do jednoho (operátor crossover).
Metody kódování lze rozdělit do dvou tříd:
V kódování stromu obsahuje každý uzel stromu funkci a každý list operand. Výraz reprezentovaný jako strom lze snadno rekurzivně vyhodnotit. Tradiční GPU se snáze používají k růstu programů napsaných v jazycích, které přirozeně ztělesňují stromovou strukturu: Lisp , Haskell , F# a další funkční programovací jazyky.
Byly také navrženy a úspěšně implementovány nestromové reprezentace programů, jako je lineární genetické programování vhodné pro tradiční imperativní jazyky.
Crossover operátorVe stromové reprezentaci je operátor křížení implementován výměnou mezi dvěma stromy libovolnými uzly spolu s jejich potomky (podstromy).
Příklad:
individuální . Děti [ randomChildIndex ] = ostatní Jednotlivec . Děti [ randomChildIndex ] ; Operátor mutaceNa rozdíl od crossover operátora operátor mutace ovlivňuje pouze jeden chromozom. Ve stromovém zobrazení jej lze implementovat změnou informací v uzlu nebo přidáním/odebráním uzlu nebo celého podstromu. V tomto případě je nutné hlídat správnost výsledků operátora.
Příklad:
individuální . Informace = náhodnéInformace ();nebo
jednotlivec = vygenerovatNovehoIndividua ();Metagenetické programování je GP, ve kterém se mění a tedy „pěstuje“ nejen daný počítačový program, ale také samotné aplikované operátory křížení a mutací.
.
Strojové učení a dolování dat | |
---|---|
Úkoly | |
Učení s učitelem | |
shluková analýza | |
Redukce rozměrů | |
Strukturální prognózy | |
Detekce anomálií | |
Grafové pravděpodobnostní modely | |
Neuronové sítě | |
Posílení učení |
|
Teorie | |
Časopisy a konference |
|