Tuesday, October 18, 2016

Genetiese Algoritme Forex Matlab

Geskiedenis Genetiese algoritmes is uitgevind om 'n paar van die prosesse waargeneem in 'n natuurlike evolusie naboots. Baie mense, bioloë ingesluit, staan ​​verstom dat die lewe op die vlak van kompleksiteit wat ons waarneem kon ontwikkel het in die relatief kort tyd deur die fossielrekord voorgestel. Die idee met GA is om hierdie krag van evolusie gebruik om optimeringsprobleme op te los. Die vader van die oorspronklike genetiese algoritme was John Holland wat dit in die vroeë 1970's uitgevind. Inhoud Wat is Genetiese algoritmes Genetiese algoritmes (gas) is aanpasbaar heuristiese soek algoritme gebaseer op die evolusionêre idees van natuurlike seleksie en genetika. As sodanig verteenwoordig hulle 'n intelligente uitbuiting van 'n ewekansige deursoeking gebruik om optimeringsprobleme op te los. Hoewel ewekansige, gas is geensins ewekansige, in plaas ontgin hulle historiese inligting na die soek na die streek van 'n beter prestasie in die soek spasie rig. Die basiese tegnieke van die gas is ontwerp om prosesse in natuurlike stelsels wat nodig is vir evolusie, veral die wat volg die beginsels eerste deur Charles Darwin van oorlewing van die sterkste neergelê boots .. Sedert in die natuur, mededinging tussen individue vir karige hulpbronne lei tot die sterkste individue oorheers oor die swakkeres. Hoekom Genetiese algoritmes Dit is beter as konvensionele AI in dat dit meer robuust is. In teenstelling met ouer AI stelsels, het hulle nie maklik breek, selfs as die insette effens verander, of in die teenwoordigheid van redelike geraas. Ook in soek 'n groot state-ruimte, multi-modale state-ruimte, of N-dimensionele oppervlak, 'n genetiese algoritme kan aansienlike voordele oor meer tipiese soek na optimeringstegnieke bied. (Lineêre programmering, heuristiese, diepte-eerste, asem-eerste, en praxis.) Genetiese algoritmes Oorsig gas simuleer die oorlewing van die sterkste tussen individue oor agtereenvolgende geslag vir die oplos van 'n probleem. Elke generasie bestaan ​​uit 'n bevolking van karakterstringe wat analoog aan die chromosoom wat ons sien in ons DNA is. Elke individu verteenwoordig 'n punt in 'n soektog ruimte en 'n moontlike oplossing. Die individue in die bevolking word dan gemaak om te gaan deur 'n proses van evolusie. Gas is gebaseer op 'n analogie met die genetiese struktuur en gedrag van chromosome binne 'n bevolking van individue met behulp van die volgende fondamente: Individue in 'n bevolking kompeteer vir hulpbronne en spanmaats. Individue mees suksesvolle in elke kompetisie sal meer kinders as dié individue wat swak presteer produseer. Gene van goeie individue verwerk op die bevolking sodat twee goeie ouers soms sal produseer nageslag wat beter as óf ouer is. So sal elke opeenvolgende geslag meer geskik is vir hul omgewing geword. Soek Space 'n bevolking van individualsare gehandhaaf binne soek spasie vir 'n GA, wat elk 'n moontlike oplossing vir 'n gegewe probleem. Elke individu is gekodeer as 'n eindige lengte vektor van komponente, of veranderlikes, in terme van 'n paar alfabet, gewoonlik die binêre alfabet. Om die genetiese analogie hierdie individue is vergelyk met chromosome en die veranderlikes is analoog aan gene voort te sit. So 'n chromosoom (oplossing) is saamgestel uit verskeie gene (veranderlikes). 'N fiksheid telling aan elke oplossing wat die vermoëns van 'n individu om te kompeteer. Die individu met die optimale (of algemeen naby optimale) fiksheid telling verlang. Die GA daarop gemik is om selektiewe teling van die oplossings te gebruik om 'n nageslag beter as die ouers te produseer deur die kombinasie van inligting van die chromosome. Die GA handhaaf 'n bevolking van N chromosome (oplossings) met gepaardgaande fiksheid waardes. Ouers word gekies om te paar, op grond van hul fiksheid, vervaardiging nageslag deur 'n reproduktiewe plan. Gevolglik hoogs geskik oplossings word meer geleenthede om voort te plant, sodat die nageslag beërwe eienskappe van elke ouer. As ouers paar en voort te plant, moet ruimte gemaak word vir die nuwe aankomelinge sedert die bevolking teen 'n statiese grootte gehou. Individue in die bevolking sterf en word vervang deur die nuwe oplossings, uiteindelik die skep van 'n nuwe generasie sodra al paring geleenthede in die ou bevolking uitgeput. Op hierdie wyse word daar gehoop dat oor opeenvolgende geslagte beter oplossings sal floreer terwyl die minste geskik oplossings uitsterf. Nuwe generasies van oplossings geproduseer met gemiddeld meer goeie gene as 'n tipiese oplossing in 'n vorige generasie. Elke opeenvolgende generasie sal meer goeie gedeeltelike oplossings as vorige geslagte bevat. Uiteindelik, wanneer die bevolking het geconvergeerde en produseer nie nageslag merkbaar verskil van dié in die vorige geslagte, die algoritme self gesê het geconvergeerde om 'n stel van oplossings vir die probleem op hande. Implementering Besonderhede Op grond van Natuurlike Seleksie Na 'n aanvanklike bevolking lukraak gegenereerde, die algoritme ontwikkel die deur drie operateurs: seleksie wat gelykstaande is aan oorlewing van die sterkste crossover wat paring tussen individue mutasie wat lukraak wysigings stel verteenwoordig. 1. Seleksie Operateur sleutel idee: prefrence gee om beter individue, wat hulle toelaat om te slaag op hul gene na die volgende geslag. Die goedheid van elke individu afhang van sy fiksheid. Fiksheid kan bepaal word deur 'n doelfunksie of deur 'n subjektiewe oordeel. 2. Crossover Operateur Eerste onderskei faktor van GA van ander optimeringstegnieke Twee individue is gekies uit die bevolking met behulp van die seleksie operateur 'n crossover webwerf langs die bietjie snare is lukraak gekies Die waardes van die twee toutjies uitgeruil tot op hierdie punt As S1000000 en s2111111 en die crossover punt is 2 dan S1110000 en s2001111 die twee nuwe nageslag geskep uit hierdie paring in die volgende generasie van die bevolking is gestel deur recombining gedeeltes van goeie individue, hierdie proses is geneig om selfs beter individue 3. Mutasie Operateur met 'n bietjie laag te skep waarskynlikheid, sal 'n gedeelte van die nuwe individue het 'n paar van hul stukkies omgekeer. Die doel is om diversiteit te handhaaf binne die bevolking en inhibeer voortydige konvergensie. Mutasie alleen veroorsaak 'n ewekansige loop deur die soek spasie mutasie en seleksie (sonder crossover) skep 'n parallelle, geraas-verdraagsaam,-heuwel klim algoritmes gevolge van genetiese Operateurs gebruik van seleksie alleen sal neig om die bevolking te vul met afskrifte van die beste individuele vanaf die bevolking met behulp van seleksie en crossover operateurs sal geneig om te veroorsaak dat die algoritmes om saam te kom op 'n goeie, maar sub-optimale oplossing met behulp van mutasie alleen veroorsaak 'n ewekansige loop deur die soek spasie. Die gebruik van seleksie en mutasie skep 'n parrallel, geraas-verdraagsaam, heuwel klim algoritme Die Algoritmes lukraak inisialiseer bevolking (t) bepaal fiksheid van die bevolking (t) herhaal kies ouers van die bevolking (t) uit te voer crossover op ouers skep bevolking (T1) voer mutasie van bevolking (T1) bepaal fiksheid van die bevolking (T1) tot die beste individuele goed genoeg Opsomming In vorige subartikel dit word beweer dat via die bedrywighede van seleksie, crossover, en mutasie die GA sal konvergeer oor opeenvolgende geslagte teenoor die globale (of naby globale ) optium. waarom hierdie eenvoudige operasie moet 'n vinnige, bruikbare en robuuste tegnieke vervaardig is grootliks te wyte aan die feit dat die gas kombineer rigting en kans in die soektog op 'n effektiewe en doeltreffende wyse. Sedert bevolking implisiet veel meer inligting as net die individu fiksheid tellings bevat, gas kombineer die goeie inligting versteek in 'n oplossing met 'n goeie inligting uit 'n ander oplossing vir nuwe oplossings te produseer met 'n goeie indormation geërf van beide ouers, onvermydelik (hopelik) lei towrads optimaliteit. Die vermoë van die algoritme om te verken en terselfdertyd ontgin, 'n groeiende hoeveelheid teoretiese regverdiging, en suksesvolle aansoek om werklike probleme versterk die gevolgtrekking gekom dat die gas is 'n kragtige, robuuste optimalisering tegniek. 'N inleiding tot Genetiese algoritmes. MIT Press geredigeer deur Melanie Mitchell Genetiese algoritmes in ingenieurswese en rekenaarwetenskap / geredigeer deur G. Winter. et al .. c1995 Grondslae van genetiese algoritmes geredigeer deur Gregory J. E. Rawlins. c1991 Vir besonderhede van aansoeke van genetika algoritmes, verwys asseblief na my maat, Chun se article. Genetic Algoritmes in Plain Engels Die doel van hierdie handleiding is om genetiese algoritmes voldoende verduidelik vir jou om in staat wees om dit te gebruik in jou eie projekte. Dit is 'n gestroopte-down to-die-kaal noodsaaklikhede tipe handleiding. Ek is nie gaan in 'n groot mate van diepte te gaan en im nie van plan om dié van julle bang met wiskunde angs deur die gooi van onheil vergelykings op jou elke paar sinne. Trouens, ek is nie van plan om enige nare vergelykings gooi jy glad nie in hierdie spesifieke handleiding in elk geval. ltsmilegt Hierdie handleiding is ontwerp om deur te lees twee keer. so moenie bekommerd wees as bietjie van dit sinvol die eerste keer dat jy dit bestudeer. ( 'N Leser, Daniël, het vriendelik vertaal hierdie handleiding in Duits. Jy kan dit hier vind.) (Nog leser, David Lewin, het die handleiding in Frans vertaal. Jy kan dit hier vind.) In die eerste plek 'n Biologie Les Elke organisme het 'n stel reëls, 'n bloudruk om so te praat, te beskryf hoe daardie organisme is opgebou uit die klein boublokke van die lewe. Hierdie reëls is ingebou in die gene van 'n organisme, wat op sy beurt saam in lang stringe genoem chromosome verbind. Elke gene verteenwoordig 'n spesifieke eienskap van die organisme, soos oogkleur of haarkleur, en het 'n paar verskillende instellings. Byvoorbeeld, kan die instellings vir 'n haarkleur gene blonde, swart of rooibruin wees. Hierdie gene en hul instellings word gewoonlik na verwys as 'n organismes genotipe. Die fisiese uitdrukking van die genotipe - die organisme self - staan ​​bekend as die fenotipe. Wanneer twee organismes paar hulle deel hul gene. Die gevolglike nageslag kan eindig met die helfte van die gene van die een ouer en die helfte van die ander. Hierdie proses staan ​​bekend rekombinasie. Baie soms 'n geen kan gemuteerde. Gewoonlik hierdie gemuteerde gene sal geen invloed op die ontwikkeling van die fenotipe maar baie af en toe sal dit uitgedruk word in die organisme as 'n geheel nuwe eienskap. Die lewe op aarde ontwikkel het om te wees, want dit is deur middel van die prosesse van natuurlike seleksie, rekombinasie en mutasie. Om te illustreer hoe hierdie prosesse saam te werk om die wye verskeidenheid van fauna en flora te produseer ons ons planeet met laat ek jou 'n klein storie vertel. Eens op 'n tyd daar gewoon het 'n spesie van wesens genoem Hooters. Toeters het heeltemal binne die duister grense van 'n groot grot stelsel diep weggesteek in die ingewande van 'n bergreeks ontwikkel. Theyd het 'n maklike lewe, voel en ruik om die klam grot mure vir die alge hulle so lief om te eet, druipende tussen rotse en op paartyd, aandagtig luister vir die uitbundig van ander Hooters. Daar was geen roofdiere in die grotte, dit was net die Hooters, die alge en so af en toe vriendelike slak, sodat die Hooters nooit iets om te vrees (behalwe vir miskien die Sosiale slegte gehard Toeter) het. 'N ondergrondse rivier gevloei deur die grot stelsel en water voortdurend drup af deur die watertafel te bring met dit die vars voedingstowwe die alge gefloreer op so was daar altyd genoeg om te eet en te drink. Alhoewel Hooters kon voel en goed hoor hulle nooit enige behoefte aan oë gehad in die veld donkerheid van die grotte en as gevolg daarvan was heeltemal blind. Dit lyk nooit aan enige van die Hooters al raak en hulle almal het 'n walvis van 'n tyd munching weg en toeter in die duisternis. Op 'n dag 'n aardbewing veroorsaak deel van die grot stelsel ineenstort en vir die eerste keer in baie eeue die Hooters voel die warmte van die son op hul vel en die sagte veerkracht van mos onder hul voete. 'N Paar durf Hooters geproe die mos en gevind dat dit nog beter eet as die grot alge. quotOooooooooohquot hulle tussen slukke van mos getoet en dadelik het opgeslurp deur die plunderende aasvoëls wat in gevlieg het om te sien wat al die bohaai gaan. Vir 'n rukkie het dit gelyk asof die Hooters gejag mag word tot die uitwissing, want hoewel hulle daarvan gehou om die mos hulle kan nooit sê as 'n arend bo vlieg eet. Nie net dit nie, kon nie hulle selfs sê as hulle weggesteek onder 'n rots of nie, tensy dit laag genoeg is om te bereik vir hul voelers was. Elke dag baie Hooters sal uit struikel van die grotte met die soet reuk van mos in hul neus net om vinnig weg te voer en geëet word deur 'n arend. Hul situasie gelyk woede inderdaad. Gelukkig het oor die jare, die bevolking van Hooters het gegroei enorme in die veiligheid van die grotte te wees en genoeg van hulle is oorlewende te paar - na alles, kan 'n arend eet net soveel. Op 'n dag, 'n brood van Hooters gebore wat 'n gemuteerde vel sel gene gedeel. Hierdie spesifieke gene verantwoordelik was vir die ontwikkeling van die vel selle op hulle voorhoofde wees. Tydens die ontwikkeling van die baba Hooters, wanneer hulle velselle groei van die gemuteerde gene instruksies was hulle effens ligsensitief. Elke nuwe baba Toeter kon aanvoel as iets die lig van sy voorkop of nie blokkeer. Wanneer hierdie klein baba Hooters grootgeword in groter Hooters en betree die lig van die mos hulle kon vertel as iets oorhoofse of nie neerskiet eet. So het hierdie Hooters gegroei tot 'n effens beter kans op oorlewing as hul heeltemal blind neefs het. En omdat hulle 'n beter kans op oorlewing gehad, gereproduseer hulle baie meer, dus verby die nuwe lig sensitiewe vel sel gene aan hulle nageslag. Na 'n baie kort rukkie die bevolking geraak oorheers deur die Hooters met hierdie effense voordeel. Nou kan rits 'n paar duisend geslagte in die toekoms. As jy hierdie proses ekstrapoleer oor baie jare en met baie klein mutasies wat in die vel sel gene sy maklik om 'n proses waar 'n mens die lig sensitiewe sel 'n klompie ligsensitief selle kan word dink, en dan hoe die binneland selle van die bos kan muteer om hard in 'n klein lens vormig gebied, wat sal help om die lig te versamel en fokus dit op een plek. Dit is nie te moeilik om 'n mutasie wat aanleiding gee tot twee van hierdie lig byeenkoms gebiede daardeur binokulêre visie op die Hooters skenk gee visies. Dit sou 'n groot voordeel wees oor hul Cyclopsian neefs as die Hooters nou sal in staat wees om afstande akkuraat te beoordeel en 'n groter gebied van die oog. As jy die prosesse van natuurlike seleksie kan sien - oorlewing van die sterkste - en geenmutasie het baie kragtige rolle om te speel in die ontwikkeling van 'n organisme. Maar hoe doen rekombinasie pas in die skema van dinge goed om jou te wys dat ek nodig het om te vertel oor 'n paar ander Hooters. Teen ongeveer dieselfde tyd die Hooters met die lig sensitiewe selle is baljaar rond in die mos en terg die arende, het 'n ander kuikens van Hooters gebore wat 'n gemuteerde gene wat hul toeter geraak het. Dit mutasie het aanleiding gegee tot 'n effens groter toeter as hul neefs, en omdat dit groter was kon hulle nou toeter oor langer afstande. Dit blyk nuttig in die vinnig dalende bevolking te wees, want die Hooters met die groter toeters uit kon bel om potensiële maats geleë ver weg. Nie net dit nie, maar die vrou Hooters begin om 'n effense voorkeur aan mans wys met groter toeters. Die gevolg van hierdie natuurlik was dat die beter agtergeblewe Hooters staan ​​'n veel beter kans paring as enige nie so goed af Hooters. Oor 'n tydperk van die tyd, het 'n groot toeters algemeen in die bevolking. Toe 'n pragtige dag 'n vroulike Toeter met die gene vir lig sensitiewe vel selle ontmoet 'n man Toeter met die gene vir die vervaardiging van groot toeters. Hulle het verlief geraak op, en kort daarna het 'n brood van pragtige baba Hooters. Nou, omdat die babas chromosome was 'n herkombinasie van beide ouers chromosome, 'n paar van die babas het beide die spesiale gene en het grootgeword nie net aan die lig sensitiewe vel selle, maar groot toeters te Dié nuwe nageslag was uiters goed in die voorkoms van die Eagles en reproduseer so die proses van evolusie begin om hulle te bevoordeel en weereens hierdie nuwe verbeterde tipe Toeter geword dominante in die bevolking. En so aan. En so aan. Genetiese algoritmes 'n manier om probleme op te los deur naboots dieselfde prosesse moeder natuur gebruik. Hulle gebruik dieselfde kombinasie van seleksie, rekombinasie en mutasie om 'n oplossing vir 'n probleem te ontwikkel. Netjies huh Draai die bladsy om presies vas te stel hoe sy done. SnowCron SnowCron genetiese algoritme in forex stelsels met behulp van genetiese algoritme om winsgewend forex strategie te skep. Genetiese algoritme in Cortex Neurale Netwerke sagteware waards Backpropagation Neurale netwerk Aansoek om genetiese berekeninge gebaseer forex. Hierdie voorbeeld gebruik konsepte en idees van die vorige artikel, so lees asseblief Neurale netwerk genetiese algoritme in forex stelsels eerste, maar dit is nie verpligtend nie. Oor hierdie teks In die eerste plek, lees asseblief die disclaimer. Dit is 'n voorbeeld van die gebruik van Cortex Neurale Netwerke sagteware genetiese algoritme funksionaliteit, nie 'n voorbeeld van hoe om winsgewend handel te doen. Ek is nie jou guru nie, moet ek verantwoordelik wees vir jou verliese. Cortex Neurale Netwerke sagteware het neurale netwerke in dit, en FFBP ons voor bespreek is net een manier om die keuse van 'n forex strategieë. Dit is 'n goeie tegniek, kragtige en wanneer dit behoorlik toegepas word, baie promicing. Maar dit het 'n probleem - om te leer aktief op neurale netwerk. ons nodig het om die verlangde uitset te leer ken. Dit is nogal maklik om te doen wanneer ons dit doen funksie benadering, ons neem net die werklike waarde van 'n funksie, want ons weet wat dit behoort te wees. Wanneer ons dit doen neurale netwerk vooruitskatting. Ons gebruik die tegniek (in vorige artikels beskryf) van die onderrig van die neurale netwerk op die geskiedenis, weer, as ons voorspel, sê, 'n wisselkoers, weet ons (tydens die opleiding) wat die korrekte voorspelling is. Maar wanneer ons bou 'n handel stelsel, ons het geen idee wat die korrekte handel besluit is, selfs al weet ons die wisselkoers As die saak van die feit, ons het baie forex strategieë wat ons kan gebruik op enige punt van die tyd, en ons nodig het om uit te vind 'n goeie een - hoe wat moet ons oppas as die verlangde uitset van ons Neurale Net as jy ons vorige artikel, jy weet, dat ons bedrieg om te gaan met hierdie probleem gevolg. Ons docent die neurale netwerk te wisselkoers (of wisselkoers gebaseer aanwyser) voorspelling te doen, en dan gebruik hierdie voorspelling te handel nie. Dan, buite die neurale netwerk deel van die program, het ons 'n besluit oor watter neurale netwerk is die beste een. Genetiese algoritmes kan gaan met hierdie probleem direk, hulle kan die probleem wat as die beste handel seine op te los. In hierdie artikel gaan ons Cortex Neurale Netwerke Sagteware gebruik om so 'n program te skep. Die gebruik van genetiese algoritme Genetiese algoritmes baie goed ontwikkel, en baie uiteenlopend. As jy wil om te leer alles oor hulle, ek stel voor jy Wikipedia gebruik, soos hierdie artikel is slegs oor wat Cortex Neurale Netwerke sagteware kan doen. Met Cortex Neurale Netwerke sagteware. Ons kan 'n neurale netwerk wat 'n paar insette, sê, waardes van 'n aanwyser neem, en produseer skep 'n uitset, sê, handel seine (koop, verkoop, te hou.) en stop verlies / neem winsvlakke vir posisies te oopgemaak word. Natuurlik, as ons hierdie neurale netwerk se gewigte saad na willekeur, handelsresultate sal verskriklik wees. Maar laat ons sê 'n dosyn van sodanige nns geskep. Dan kan ons toets prestasie van elkeen van hulle, en kies die beste een, die wenner. Dit was die eerste generasie van nns. Om voort te gaan om die tweede generasie, moet ons toelaat dat ons wenner om voort te plant, maar om te vermy om identiese kopieë, kan voeg 'n paar random noice sy descentants gewigte. In die tweede generasie, ons het ons eerste-generasie wenner en sy onvolmaakte (gemuteerde) afskrifte. Kom ons doen die toets weer. Ons sal 'n ander wenner, wat is beter as enige ander Neurale netwerk in die generasie het. En so aan. Ons laat net wenners te teel, en elimineer verloorders, net soos in die werklike lewe evolusie, en ons sal ons bes-handel Neurale netwerk te kry. sonder enige vooraf knowlege oor wat die handel stelsel (genetiese algoritme) moet wees nie. Neurale netwerk genetiese algoritme: Voorbeeld 0 Dit is die eerste genetiese algoritme voorbeeld. en 'n baie eenvoudige een. Ons gaan loop deur dit stap vir stap, om al truuks wat volgende voorbeelde sal gebruik leer. Die kode het inline kommentaar, so kan net fokus op die belangrikste oomblikke. In die eerste plek het ons 'n neurale netwerk geskep. Dit is die gebruik van ewekansige gewigte, en is nog nie docent. Dan, in siklus, ons maak 14 kopieë daarvan, met behulp van MUTATIONNN fumction. Hierdie funksie maak 'n afskrif van 'n bron Neurale netwerk. toevoeging van ewekansige waardes van 0 tot (in ons geval) 0.1 aan al gewigte. Ons hou handvatsels om gevolglike 15 nns in 'n skikking, kan ons dit doen, as handvatsel is net 'n heelgetal. Die rede waarom ons gebruik 15 nns het niks te doen met beurs: Cortex Neurale Netwerke sagteware kan plot tot 15 lyne op 'n grafiek gelyktydig. Ons kan verskillende benaderings tot die toetsing gebruik. In die eerste plek kan ons die leer stel te gebruik, al is dit in 'n keer. In die tweede plek kan ons toets op, sê, 12000 resords (uit 100000), en loop deur die leer stel, van die begin tot die einde. Dit sal learnigs verskillende maak, soos ons sal sien vir neurale netwerk is van wat nuttig is op enige gegewe deel van data, nie net op die hele stel. Die tweede benadering kan ons gee probleme, indien data verander, van die begin tot die einde. Dan sal die netwerk te ontwikkel, die verkryging van vermoë om handel te dryf op die einde van datastel, en die verlies van die vermoë om handel te dryf op die begin. Om die probleem op te los, gaan ons ewekansige 12000 rekords fragmente uit data, en voer dit na die neurale netwerk. is bloot 'n eindelose siklus, soos 100,000 siklusse nooit bereik sal word by ons spoed. Onder 'n kind by te voeg ons vir elke netwerk, met effens verskillende gewigte. Kennis dat 0,1 vir mutasie Tange is nie die enigste keuse, as die saak van die feit, selfs hierdie parameter kan geoptimaliseer word met behulp van genetiese algoritme. Nuutgeskepte nns bygevoeg na 15 bestaande. Op hierdie manier het ons 30 nns in 'n skikking, 15 oud en 15 nuwe. Dan gaan ons na die volgende siklus van die toets te doen, en om verloorders doodmaak, van beide geslagte. Om die toets te doen, pas ons neurale netwerk om ons data, om uitsette te produseer, en dan bel toets funksie, dat hierdie uitsette gebruik om handel te boots. Resultate van die saak word gebruik om deside, wat nns is die beste. Ons gebruik 'n tussenpose van nKom rekords van nbegin om nbegin nKom, waar nbegin is 'n arbitrêre punt binne leer stel. Die kode hieronder is 'n truuk. Die rede waarom ons dit gebruik is om die feit te illustreer, wat genetiese algoritme genetiese algoritme kan skep. maar dit sal nie noodwendig die beste een wees, en ook, voor te stel, dat ons gevolg kan verbeter, as ons 'n paar beperkings impliseer om die leerproses. Dit is moontlik dat ons handel stelsel werk baie goed op die lang ambagte, en baie swak op kort, of andersom. As, sê, 'n lang ambagte is baie goed, kan dit genetiese algoritme wen, selfs met 'n groot verliese op kort ambagte. Om dit te vermy, ons wys meer gewig aan lang ambagte in vreemde en kort ambagte in selfs siklusse. Dit is net 'n voorbeeld, daar is geen waarborg dat dit iets sal verbeter. Meer daaroor hieronder, in gesprek oor regstellings. Tegnies, jy hoef nie om dit te doen, of kan dit anders maak. wins Voeg 'n gesorteerde skikking. Dit gee 'n inplanting posisie, dan gebruik ons ​​hierdie posisie te voeg Neurale netwerk hanteer, leer en toets winste na nie-gesorteer skikkings. Nou het ons data vir die huidige neurale netwerk op dieselfde verskeidenheid indeks as sy wins. Die idee is om verskeidenheid van nns, gesorteer volgens winsgewendheid te kom. Soos skikking is SORTES deur wins, te verwyder 1/2 van netwerke, wat minder winsgewend, ons moet net nns verwyder 0-14 Trading besluite is gebaseer op waarde van neurale netwerk sein, uit hierdie oogpunt die program is identies aan voorbeelde uit vorige artikel. Forex strategie: Bespreek voorbeeld 0 In die eerste plek, kan 'n blik op kaarte. Die eerste grafiek vir wins in die eerste iterasie is glad nie goed nie, want moet verwag word, verloor die neurale netwerk geld (beeld evolution00gen0.png kopieer na die eerste iterasie van gids beelde): Die beeld vir 'n wins op siklus 15 is beter, soms , genetiese algoritme kan leer baie vinnig: Maar let op die volop op 'n wins kurwe. Dit is interessant ook te kyk na die manier waarop individuele winste verandering, in gedagte hou dat kurwe getal, sê, 3 is nie altyd vir dieselfde neurale netwerk. soos hulle word gebore en beëindig die hele tyd: Let ook op dat uit klein forex outomatiese handel stelsel verrig armes op kort ambagte, en baie beter op verlang, wat mag of nie mag wees met betrekking tot die feit dat die dollar was val in vergelyking met euro gedurende daardie tydperk. Dit kan ook iets te doen met parameters van ons aanwyser het (miskien moet ons ander tydperk vir kortbroek) of die keuse van aanwysers. Hier is die geskiedenis na 92 ​​en 248 siklusse: Tot ons verbasing, genetiese algoritme misluk heeltemal. Kom ons probeer om uit te vind waarom, en hoe om die situasie te help. In die eerste plek, isnt elke generasie veronderstel om beter as die Vorige een Die antwoord is nee wees, ten minste nie in die model wat ons gebruik. As ons het HELE leer stel in 'n keer, en gebruik dit herhaaldelik aan ons nns leer, dan ja, hulle sal verbeter elke generasie. Maar in plaas daarvan, het ons ewekansige fragmente (12000 rekords in die tyd), en gebruik hulle. Twee vrae: waarom die stelsel versuim het om op ewekansige fragmente van leer stel, en waarom havent ons hele leer gevlegte gebruik. Om die tweede vraag te beantwoord, het ek. Nns uitgevoer grootliks - op leer stel. En hulle versuim het om op die toets stel, vir dieselfde rede is dit ongehoorsaam wanneer ons gebruik FFPB leer. Om dit anders te stel, het ons nns overspecialized, het hulle geleer hoe om te oorleef in die omgewing waarin hulle gebruik word om 'n nie-daarbuite. Dit gebeur baie in die natuur. Die benadering wat ons het in plaas was bedoel om te vergoed vir wat, deur te dwing nns goeie op enige arbitrêre fragment van die datastel te voer, sodat hopelik, kan hulle ook uit te voer op 'n onbekende toets stel. In plaas daarvan, het hulle versuim het albei op die toets en op die leer stel. Stel jou diere, wat in 'n woestyn. Daar is baie van die son, geen sneeu nie. Dit is 'n metafoor vir rizing mark, soos vir ons nns data speel die rol van die omgewing. Diere geleer in 'n woestyn woon. Stel jou diere, wat in 'n koue klimaat leef. Sneeu en geen son nie. Wel, aangepas hulle. Maar in ons eksperiment, ons lukraak geplaas ons nns in 'n woestyn, in die sneeu, in die water, op die bome. deur dit met verskillende fragmente van data (lukraak styg, val plat.). Diere gesterf. Of, om dit anders te stel, ons gekies om die beste Neurale netwerk vir ewekansige datastel 1, wat, sê, was vir stygende mark. Dan aangebied ons, aan die wenners en hul kinders, 'n dalende markte data. Nns swak presteer, ons het die beste van swak presteerders, miskien, een van die mutant kinders, wat die vermoë om handel te dryf op stygende mark verloor, maar het 'n paar vermoë om te gaan met die val een. Daarna het ons die tafel weer, en weer, ons het die beste presteerder - maar die beste onder swak presteerders. Ons het eenvoudig didnt gee ons nns enige kanse om universele geword. Daar is tegnieke toe te laat genetiese algoritme om nuwe inligting te leer sonder om te verloor prestasie op ou inligting (na alles, diere kan lewe in die somer en in die winter, reg So evolusie in staat is om te herhaal veranderinge te hanteer). Ons kan hierdie tegnieke later bespreek, hoewel hierdie artikel is meer oor die gebruik van Cortex Neurale Netwerke sagteware. as oor die bou van 'n suksesvolle forex outomatiese handel stelsel. Neurale netwerk genetiese algoritme: Voorbeeld 1 Nou is dit tyd om te praat oor regstellings. 'N Eenvoudige genetiese algoritme ons geskep is tydens die vorige stap het twee groot foute. In die eerste plek is dit nie te handel met wins. Dit is ok, kan ons probeer om gedeeltelik opgeleide stelsel (dit was waardeloos aan die begin) gebruik. Die tweede fout is ernstiger: Ons het geen beheer oor dinge, dat hierdie stelsel nie. Byvoorbeeld, kan dit leer winsgewend, maar met 'n groot onttrekkings te wees. Dit is 'n bekende feit dat in die werklike lewe, evolusie kan meer as een parameter gelyktydig te optimaliseer. Byvoorbeeld, kan ons 'n dier, wat vinnig kan hardloop en word weerstand teen koue kry. Hoekom nie probeer om dieselfde te doen in ons forex outomatiese handel stelsel. Dis wanneer ons regstellings, wat niks anders as die stel van addisionele straf is. Sê, ons stelsel ambagte met drawdown 0.5, terwyl ons dit wil bevestig 0-0,3 interval. Om die stelsel wat dit 'n fout gemaak vertel, verminder ons die wins (een wat gebruik word om vas te stel, wat genetiese algoritme gewen) die graad, wat is eweredig aan die grootte van DD. Dan, die evolusie algoritme sorg vir die res. Daar is 'n paar meer faktore, wat ons wil in ag neem: kan ons wil min of meer ewe veel koop en verkoop transaksies, ons wil meer van winsgewende bedrywighede het, dan van mislukkings, ons wil die wins grafiek om wees lineêre en so aan. In evolution01.tsc voer ons 'n eenvoudige stel verbeteringe. In die eerste plek, gebruik ons ​​'n paar groot aantal vir 'n aanvanklike regstelling waarde. Ons vermenigvuldig dit met 'n klein (gewoonlik tussen 0 en 1) waardes, afhangende van die straf wat ons wil aansoek doen. Dan vermenigvuldig ons wins op hierdie regstelling. As gevolg, is wins reggemaak, om te besin hoeveel die genetiese algoritme ooreenstem met ons ander kriteria. Dan gebruik ons ​​die resultaat van 'n wenner Neurale netwerk te vind. Forex strategie: Bespreek voorbeeld 1 Voorbeeld 1 werk baie beter, as voorbeeld 0. In die eerste 100 siklusse, dit baie geleer, en wins kaarte kyk gerus te stel. Maar, soos in voorbeeld 0, lang ambagte is baie meer winsgewend, wat waarskynlik beteken dat daar 'n probleem in ons benadering. Tog het die stelsel het 'n balans te vind tussen paar teenstrydige aanvanklike voorwaardes: Daar is 'n paar positiewe dinamika beide in leer stel en, meer belangrik, in die toets stel. Soos vir verdere leer, by siklus 278 ons kan sien dat ons stelsel het overtrained. Dit beteken, het ons nog vordering op leer stel: Maar die toets stel toon swakheid: Dit is 'n algemene probleem met nns: wanneer ons dit leer oor leer stel, dit leer om dit te hanteer, en soms is dit leer te goed - om die graad, wanneer dit verloor prestasie op die toets stel. Om te gaan met die probleem, is 'n tradisionele oplossing gebruik: ons hou op soek na die neurale netwerk. wat die beste presteer op die toets stel, en stoor dit, te vervang vorige beste een, is elke keer nuwe hoogtepunt bereik. Dit is dieselfde benadering, wat ons gebruik in FFBP opleiding, behalwe hierdie keer moet ons dit self doen (die toevoeging kode, wat lyk vir 'n beste neurale netwerk op 'n toets stel, en 'n beroep SAVENN, of die uitvoer van gewigte van neurale netwerk om 'n lêer). Op hierdie manier, wanneer jy jou opleiding te stop, sal jy die beste presteerder op die toets SET gered en wag vir jou. Let ook dat dit nie die maksimum. wins wat jy na, maar optimale prestasie, so oorweeg om regstellings, wanneer jy soek na 'n beste presteerder op 'n toets stel. Genetiese algoritme vir FOREX Tegniese Analise: Waar nou Nadat jy jou wenner neurale netwerk het. jy kan volg die stappe in die vorige artikel beskryf, te gewigte van daardie Neurale netwerk uit te voer. en dan om dit te gebruik in jou real time handel platform, soos Meta Trader, Handel Station en so aan. Alternatiewelik kan jy fokus op ander maniere die optimalisering van die neurale netwerk. In teenstelling met met FFBP algoritme, hier kan jy avay kry van die gebruik van leer en toets stelle, en beweeg opeenvolgende leer. Aflaai Cortex Bestel Cortex View Pryslys Sigbaarheid is baie belangrik vir hierdie webwerf. As jy dit wil hê kan u skakel na hierdie URLNatural Seleksie: genetiese algoritme vir System Optimization Genetiese Programmering Evo 2 is 'n gevorderde genetiese algoritme biblioteek wat die nuutste in genetiese algoritme ontwerp inkorporeer, soos biologies identiese prosesse, epigenetiese skakelaars, gesimuleerde uitgloeiing, Westermarck inteling voorkoming ,-ouderdom beperk rekombinasie, en nog baie meer. Die Evo 2 algoritme is nie gebaseer op die standaard enkele chromosoom GA ontwerp. Evo 2 los meerveranderlike optimeringsprobleme vinnig en skubbe goed met kompleksiteit. Die Evo 2 algoritme is ontwerp vir genetiese programmering (outonome skepping van handel stelsels), handel stelsel optimalisering en portefeulje optimalisering. Evo 2 laat ontwikkelaars bou meerveranderlike handel stelsel optimalisaties met gemak. Bio-identiese genoom en Algoritme Evo 2 is nie net bio-geïnspireerd nie, maar dit is 'n bio-identiese in baie aspekte. Evo 2 bes elke natuurlike proses van maat keuse om DNA verpakking en volledige meiose. Die meeste standaard genetiese algoritmes nalaat om die verskeie stappe van meiose wat van kardinale belang om genetiese variasie, 'n uiters belangrike veranderlike in die voorkoms van plaaslike Optima is uit te voer. Profase Gedurende profase, chromosome sinaps en 'n klein hoeveelheid DNA uitgeruil tussen homoloë chromosome deur 'n proses wat bekend staan ​​as oorkruising. Die kritieke deel van profase is die voering-up van tetrads in homoloë pare. Die Evo 2 algoritme verseker dat homo net geskep uit onverwante, teenoorgestelde geslag chromosome. Metafase en Anafase metafase en anafase is die fases waar veel variasie is opgeneem in die genoom egter die meeste genetiese algoritmes heeltemal stappe uit te laat. Evo 2 simuleer beide fases volledig en akkuraat. Geen Inteling toegelaat meeste standaard genetiese algoritmes ingeteel sop, tegnies gesproke. Inteling verminder genetiese variasie, wat om te sê, verhoed stelsels van veranderende en aan te pas by hul omgewing. In standaard gas, beteken dit dat 'n stelsel meer geneig om vas in plaaslike Optima word mag wees. Terwyl die natuur het ten minste drie meganismes om inteling te voorkom, die meeste genetiese algoritmes versuim om hierdie probleem aan te spreek. Die eerste metode: Voorkom nageslag van reproduseer. Inteling lei tot verhoogde homozygosity, wat die kanse van die nageslag kan verhoog word geraak deur resessiewe of nadelige eienskappe. Die tweede meganisme: Ry weg jong mans om bloedskande paring tussen broers en susters te voorkom. Die derde meganisme: Die Westermarck effek. Dit is 'n sielkundige effek waardeur individue wat in die nabyheid is wat tydens die kinderjare desensitized om later seksuele aantrekkingskrag geword. Die finale gevolg van inteling is die uitsterwing van spesies as gevolg van 'n gebrek aan genetiese diversiteit. Die jagluiperd, een van die mees ingeteelde spesie op aarde, is 'n uitstekende voorbeeld. En dit gebeur ook in die gesig staar uitwissing. Twintig duisend jaar gelede, jagluiperds rondgeloop in Afrika, Asië, Europa en Noord-Amerika. Ongeveer 10,000 jaar gelede, as gevolg van klimaatsverandering, almal behalwe een spesie uitgesterf het. Met die drastiese afname in hul getalle, is naasbestaandes gedwing om te teel, en die jagluiperd is geneties ingeteelde, wat beteken dat al Cheetahs is baie nou verwant. Hoewel die natuur verbied inteling, byna al die rekenaar-gesimuleerde genetiese algoritmes miskyk hierdie probleem. Evo 2 verhoed inteling via die Westermarck effek en ander gesimuleerde effekte. Epigenetiese Skakelaars epigenetiese teorie beskryf hoe veranderinge in geenuitdrukking kan veroorsaak word deur ander as veranderinge in die onderliggende DNA volgorde, tydelik of deur middel van verskeie geslagte meganismes, deur 'n invloed 'n netwerk van chemiese skakelaars binne selle gesamentlik bekend as die Epigenome. Evo 2 kan simuleer epigenetiese skakelaars sodat die stelsel tydelik te penaliseer vir aksies soos om te gulsig of risiko-sku. Gesimuleerde Uitgloeiing Gesimuleerde uitgloeiing is 'n kans metaheuristic vir die globale optimalisering probleem van die opspoor van 'n goeie benadering tot die globale optimum van 'n gegewe funksie in 'n groot soek spasie. Dit word dikwels gebruik wanneer die soek spasie is diskrete. Vir sekere probleme, kan nageboots uitgloeiing meer doeltreffend as uitputtende opsomming wees. Family Tree Evo 2 kan genealogiese inligting te spaar vir elke genoom sodat gebruikers die vordering van die genetiese algoritme kan hersien om te sien hoe sekere gene ontwikkel met verloop van tyd. Karyogram Viewer Evo 2 beskik oor 'n ingeboude karyogram, wat visualisering van genome laat terwyl genetiese algoritmes ontwikkel. Die karyogram kan aangepas word om genealogiese inligting vir spesifieke genome vertoon deur 'n konteks kieslys. Evo 2 Aansoeke Evo 2 gebruik kan word op die kliënt of bediener kant vir genetiese programmering (outonome skepping van handel stelsels), handel stelsel optimalisering, portefeulje optimalisering, batetoewysing en nie-finansies-verwante aansoeke, insluitend maar nie beperk tot kunsmatige kreatiwiteit, outomatiese ontwerp, bioinformatika, chemiese kinetika,-kode-breaking, regeltechniek, Feynman-Kac modelle, filter en seinverwerking, skedulering aansoeke, meganiese ingenieurswese, stogastiese optimalisering en roosters probleme. Genetiese programmering Voorbeelde TradeScript programmering voorbeelde wys ontwikkelaars hoe om genetiese programmeringsmodelle kan toets terug en optimaliseer strategieë te skep. Programmering dokumentasie kan hier afgelaai word. Using Genetiese algoritmes Finansiële Markte laai die speler skatting. Burton voorgestel in sy boek, A Random Walk Down Wall Street, (1973) dat 'n geblinddoek aap gooi veerpyltjies op 'n koerante finansiële bladsye kan 'n portefeulje wat net so goed soos sou doen een noukeurig gekies deur kundiges kies. Terwyl evolusie mense nie meer intelligente kan gemaak by pluk voorrade, Charles Darwin teorie het baie effektief wanneer meer direk toegepas. (Om jou te help kies lêers, kyk hoe 'n voorraad te tel.) Wat is genetiese algoritmes Genetiese algoritmes (gas) is probleemoplossingsmetodes (of heuristiek) dat die proses van natuurlike evolusie naboots. In teenstelling met kunsmatige neurale netwerke (Anns), wat ontwerp is om te funksioneer soos neurone in die brein, hierdie algoritmes gebruik die konsepte van natuurlike seleksie om die beste oplossing vir 'n probleem te bepaal. As gevolg hiervan, is die gas wat algemeen gebruik word as Optimizers dat parameters aan te pas by 'n paar terugvoer maatreël, wat dan onafhanklik of in die konstruksie van 'n ANN gebruik kan word te minimaliseer of te maksimeer. In die finansiële markte. genetiese algoritmes word gewoonlik gebruik om die beste kombinasie waardes van parameters in 'n handel reël, en hulle kan gebou word in ANN modelle ontwerp om aandele te kies en te identifiseer ambagte. Verskeie studies het getoon dat hierdie metodes doeltreffend kan bewys, insluitend genetiese Algoritmes: Genesis van Stock Evaluering (2004) deur Rama, en die toepassing van genetiese algoritmes in die aandelemark Data-ontginning Optimization (2004) deur Lin, Cao, Wang, Zhang. (Vir meer inligting oor ANN, sien Neurale Netwerke:. Vooruitskatting Winste) hoe genetiese algoritmes werk, Genetiese algoritmes wiskundig is geskep met behulp van vektore, wat hoeveelhede daardie rigting en omvang het is. Parameters vir elke handel reël verteenwoordig met 'n een-dimensionele vektor wat as 'n chromosoom in genetiese terme kan beskou. Intussen kan die gebruik in elke parameter waardes van word gedink as gene, wat dan verander met behulp van natuurlike seleksie. Byvoorbeeld, kan 'n handel reël die gebruik van parameters soos bewegende gemiddelde Konvergensie-divergensie (MACD) betrek. Eksponensiële bewegende gemiddelde (EMA) en Stochastics. 'N genetiese algoritme dan insetwaardes in hierdie parameters met die doel van die maksimalisering van netto wins. Met verloop van tyd, is klein veranderinge en diegene wat 'n desirably impak maak behou vir die volgende generasie. Daar is drie tipes van genetiese bedrywighede wat dan uitgevoer kan word: CROSSOVER verteenwoordig die voortplanting en biologiese crossover gesien in biologie, waardeur 'n kind neem op sekere eienskappe van sy ouers. Mutasies verteenwoordig biologiese mutasie en word gebruik om genetiese diversiteit van een generasie van 'n bevolking na die volgende in stand te hou deur die instelling van ewekansige klein veranderinge. Keuses is die stadium waarop individuele genome is gekies uit 'n bevolking vir latere teling (rekombinasie of crossover). Hierdie drie operateurs word dan gebruik in 'n vyf-stap proses: inisialiseer 'n ewekansige bevolking, waar elke chromosoom N is - Lengte, met N synde die aantal parameters. Dit is, 'n ewekansige getal parameters gevestig met n elemente elk. Kies die chromosome, of parameters, wat wenslik resultate (vermoedelik netto wins) te verhoog. Pas mutasie of crossover operateurs om die geselekteerde ouers en genereer 'n nageslag. Herkombineer die spruite en die huidige bevolking om 'n nuwe bevolking met die keuse operateur vorm. Herhaal stappe 2-4. Met verloop van tyd, sal hierdie proses lei tot toenemende gunstige chromosome (of, parameters) vir gebruik in 'n handels reël. Die proses word dan beëindig toe 'n stop kriteria voldoen word, wat die bestuur van tyd, fiksheid, aantal generasies of ander kriteria kan insluit. (Vir meer inligting oor die MACD, lees Trading Die MACD divergensie.) Met behulp van genetiese Algoritmes in Trading Terwyl genetiese algoritmes hoofsaaklik gebruik word deur institusionele kwantitatiewe handelaars. sonder 'n graad in gevorderde wiskunde - - individuele handelaars kan die krag van genetiese algoritmes te span met behulp van verskeie sagtewarepakkette op die mark. Hierdie oplossings wissel van selfstandige sagteware pakkette wat gerig is op die finansiële markte te Microsoft Excel add-ons wat meer hands-on analise kan fasiliteer. By die gebruik van hierdie aansoek, kan handelaars 'n stel van parameters wat dan new behulp van 'n genetiese algoritme en 'n stel van historiese data te definieer. Sommige programme kan optimaliseer wat parameters gebruik en die waardes vir hulle, terwyl ander in die eerste plek gerig is op net die optimalisering van die waardes vir 'n gegewe stel parameters. (Vir meer inligting oor hierdie program afgelei strategieë te leer, sien die krag van Kursus ambagte.) Belangrike Optimization Wenke en truuks Krommepassing (oor gepaste), die ontwerp van 'n handel stelsel om historiese data, eerder as die identifisering van herhaalbare gedrag, verteenwoordig 'n potensiële risiko vir handelaars met behulp van genetiese algoritmes. Enige handel stelsel met behulp van gas moet vorentoe-getoets op papier voor lewendige gebruik. Die keuse van parameters is 'n belangrike deel van die proses, en handelaars moet soek parameters wat ooreenstem met die veranderinge in die prys van 'n gegewe sekuriteit. Byvoorbeeld, probeer om uit verskillende aanwysers en kyk of enige lyk korreleer met groot mark draai. Die bottom line Genetiese algoritmes is uniek maniere om komplekse probleme op te los deur die benutting van die krag van die natuur. Deur die toepassing van hierdie metodes te voorspel sekuriteite pryse, kan handelaars handel reëls te optimaliseer deur die identifisering van die beste waardes te gebruik vir elke parameter vir 'n gegewe sekuriteit. Maar hierdie algoritmes is nie die Heilige Graal, en handelaars moet versigtig wees om die regte parameters en nie boogpas (oor fiks) kies. (Vir meer inligting oor die mark, check Luister na die mark, nie die Pundits.)


No comments:

Post a Comment