logo

Генетски алгоритам у машинском учењу

Генетски алгоритам је адаптивни хеуристички алгоритам претраживања инспирисан „Дарвиновом теоријом еволуције у природи .' Користи се за решавање проблема оптимизације у машинском учењу. То је један од важних алгоритама јер помаже у решавању сложених проблема за чије би решавање било потребно много времена.

Генетски алгоритам у машинском учењу

Генетски алгоритми се широко користе у различитим апликацијама у стварном свету, на пример, Дизајнирање електронских кола, разбијање кода, обрада слика и вештачка креативност.

У овој теми ћемо детаљно објаснити генетски алгоритам, укључујући основну терминологију која се користи у генетском алгоритму, како функционише, предности и ограничења генетског алгоритма итд.

јава доубле то стринг

Шта је генетски алгоритам?

Пре него што разумемо генетски алгоритам, хајде да прво разумемо основне терминологије да бисмо боље разумели овај алгоритам:

    Популација:Популација је подскуп свих могућих или вероватних решења, која могу решити дати проблем.хромозоми:Хромозом је једно од решења у популацији за дати проблем, а колекција гена генерише хромозом.ген:Хромозом је подељен на други ген, или је то елемент хромозома.алели:Алел је вредност која се даје гену унутар одређеног хромозома.Фитнес функција:Функција фитнеса се користи за одређивање нивоа кондиције појединца у популацији. То значи способност појединца да се такмичи са другим појединцима. У свакој итерацији, појединци се процењују на основу њихове фитнес функције.Генетски оператери:У генетском алгоритму, најбољи појединачни пар за регенерацију потомства бољи од родитеља. Овде генетски оператери играју улогу у промени генетског састава следеће генерације.Избор

Након израчунавања способности сваког постојећег у популацији, користи се процес селекције да би се одредило која ће од индивидуалности у популацији моћи да се репродукује и произведе семе које ће формирати наредну генерацију.

Доступне врсте стилова селекције

    Избор точка за рулет Избор догађаја Избор заснован на рангу

Дакле, сада можемо дефинисати генетски алгоритам као хеуристички алгоритам претраживања за решавање проблема оптимизације. То је подскуп еволуционих алгоритама, који се користи у рачунарству. Генетски алгоритам користи концепте генетике и природне селекције за решавање проблема оптимизације.

Како функционише генетски алгоритам?

Генетски алгоритам ради на еволуционом генерацијском циклусу како би се генерисала висококвалитетна решења. Ови алгоритми користе различите операције које или побољшавају или замењују популацију да би дали побољшано решење за уклапање.

У основи укључује пет фаза за решавање сложених проблема оптимизације, који су дати на следећи начин:

    Иницијализација Фитнесс Ассигнмент Избор Репродукција Прекид

1. Иницијализација

Процес генетског алгоритма почиње генерисањем скупа појединаца, који се назива популација. Овде је сваки појединац решење за дати проблем. Појединац садржи или га карактерише скуп параметара који се називају гени. Гени се комбинују у низ и генеришу хромозоме, што је решење проблема. Једна од најпопуларнијих техника за иницијализацију је употреба насумичних бинарних низова.

кд кд значење
Генетски алгоритам у машинском учењу

2. Задатак за фитнес

Фитнес функција се користи да одреди колико је особа у форми? То значи способност појединца да се такмичи са другим појединцима. У свакој итерацији, појединци се процењују на основу њихове фитнес функције. Функција фитнеса обезбеђује кондициони резултат за сваког појединца. Овај резултат даље одређује вероватноћу да буде изабран за репродукцију. Што је виши резултат фитнеса, веће су шансе да будете одабрани за репродукцију.

3. Избор

Фаза селекције подразумева селекцију јединки за репродукцију потомства. Све одабране јединке се затим распоређују у пар по два да би се повећала репродукција. Затим ове особе преносе своје гене на следећу генерацију.

Доступне су три врсте метода селекције, а то су:

  • Избор точка за рулет
  • Избор турнира
  • Избор на основу ранга

4. Репродукција

Након процеса селекције, у кораку репродукције долази до стварања детета. У овом кораку, генетски алгоритам користи два оператора варијације који се примењују на родитељску популацију. Два оператера укључена у фазу репродукције су наведена у наставку:

    цроссовер:Цроссовер игра најзначајнију улогу у фази репродукције генетског алгоритма. У овом процесу, тачка укрштања се бира насумично унутар гена. Затим оператер укрштања мења генетске информације два родитеља из тренутне генерације да би произвео нову јединку која представља потомство.
    Генетски алгоритам у машинском учењу
    Гени родитеља се размењују међу собом док се не постигне тачка укрштања. Ови новонастали потомци се додају популацији. Овај процес се такође назива или цроссовер. Доступне врсте кросовера:
    • Прелазак у једну тачку
    • Скретница са две тачке
    • Ливрејски кросовер
    • Укрштање наследних алгоритама
    Мутација
    Оператер мутације убацује насумичне гене у потомство (ново дете) да би одржао разноликост у популацији. То се може урадити окретањем неких битова у хромозомима.
    Мутација помаже у решавању проблема преране конвергенције и побољшава диверсификацију. Слика испод приказује процес мутације:
    Доступне врсте стилова мутација,

    прикажи скривене апликације
      Флип бит мутација Гаусова мутација Размена/свап мутација

    Генетски алгоритам у машинском учењу

5. Раскид

Након фазе репродукције примењује се критеријум заустављања као основа за прекид. Алгоритам се завршава након што се достигне решење за кондицију прага. Идентификоваће коначно решење као најбоље решење у популацији.

Општи ток рада једноставног генетског алгоритма

Генетски алгоритам у машинском учењу

Предности генетског алгоритма

  • Паралелне могућности генетских алгоритама су најбоље.
  • Помаже у оптимизацији различитих проблема као што су дискретне функције, проблеми са више циљева и континуиране функције.
  • Пружа решење за проблем који се временом побољшава.
  • Генетском алгоритму нису потребне деривативне информације.

Ограничења генетских алгоритама

  • Генетски алгоритми нису ефикасни алгоритми за решавање једноставних проблема.
  • То не гарантује квалитет коначног решења проблема.
  • Понављајуће израчунавање кондиционих вредности може да створи неке рачунске изазове.

Разлика између генетских алгоритама и традиционалних алгоритама

  • Простор за претрагу је скуп свих могућих решења проблема. У традиционалном алгоритму одржава се само један скуп решења, док се у генетском алгоритму може користити неколико скупова решења у простору за претрагу.
  • Традиционалним алгоритмима је потребно више информација да би извршили претрагу, док је генетским алгоритмима потребна само једна циљна функција за израчунавање способности појединца.
  • Традиционални алгоритми не могу радити паралелно, док генетски алгоритми могу радити паралелно (израчунавање способности индивидуалности је независно).
  • Једна велика разлика у генетским алгоритмима је у томе што уместо да раде директно на резултатима трагача, наследни алгоритми раде на својим репрезентацијама (или приказивању), који се често приписују као хромозоми.
  • Једна од великих разлика између традиционалног алгоритма и генетског алгоритма је у томе што он не ради директно на решењима кандидата.
  • Традиционални алгоритми могу да генеришу само један резултат на крају, док генетски алгоритми могу да генеришу више оптималних резултата из различитих генерација.
  • Традиционални алгоритам вероватно неће генерисати оптималне резултате, док генетски алгоритми не гарантују да ће генерисати оптималне глобалне резултате, али такође постоји велика могућност да се добије оптимални резултат за проблем јер користи генетске операторе као што су Цроссовер и Мутатион.
  • Традиционални алгоритми су детерминистички по природи, док су генетски алгоритми вероватноће и стохастичке природе.