Kako uporabiti algoritem Find-S pri strojnem učenju?



Ta članek zajema koncept algoritma iskanja pri strojnem učenju. Vrti se okoli različnih terminologij hipotez in za primer uporabi primer.

V , učenje konceptov lahko označimo kot „ problem iskanja po vnaprej določenem prostoru potencialne hipoteze za hipotezo, ki najbolj ustreza primerom usposabljanja “- Tom Mitchell. V tem članku bomo preučili en tak algoritem učenja konceptov, znan kot algoritem Find-S. V tem članku so obravnavane naslednje teme.

pojdi razvrsti c ++

Kaj je algoritem Find-S v strojnem učenju?

Da bi razumeli algoritem Find-S, morate imeti osnovno predstavo tudi o naslednjih konceptih:





  1. Koncept učenja
  2. Splošna hipoteza
  3. Specifična hipoteza

1. Koncept učenja

Poskusimo razumeti konceptualno učenje s primerom iz resničnega življenja. Večina človeškega učenja temelji na preteklih primerih ali izkušnjah. Na primer, na podlagi določenega nabora lastnosti, kot so znamka, model itd., Ki so opredeljene v velikem naboru funkcij, lahko prepoznamo kateri koli tip vozila.



Te posebnosti razlikujejo nabor avtomobilov, tovornjakov itd. Od večjega nabora vozil. Te značilnosti, ki opredeljujejo niz avtomobilov, tovornjakov itd., So znane kot koncepti.

Podobno kot se lahko tudi stroji na podlagi konceptov učijo, ali predmet spada v določeno kategorijo ali ne. Kaj ki podpira konceptualno učenje, zahteva naslednje:

  • Podatki o usposabljanju
  • Ciljni koncept
  • Dejanski podatkovni objekti

2. Splošna hipoteza



Hipoteza je na splošno razlaga za nekaj. Splošna hipoteza v bistvu navaja splošno razmerje med glavnimi spremenljivkami. Na primer, splošna hipoteza za naročanje hrane bi bila Hočem hamburger.

G = {‘?’, ‘?’, ‘?’,… .. ’?’}

3. Specifična hipoteza

Posebna hipoteza zapolni vse pomembne podrobnosti o spremenljivkah, podanih v splošni hipotezi. Podrobnejše podrobnosti v zgornjem primeru bi bile Želim si cheeseburger s piščančjim feferonom, nadev z veliko solate.

S = {'& Phi', '& Phi', '& Phi', ……, '& Phi'}

Zdaj pa se pogovorimo o algoritmu Find-S v strojnem učenju.

Algoritem Find-S sledi spodnjim korakom:

  1. Inicializirajte „h“ na najbolj natančno hipotezo.
  2. Algoritem Find-S upošteva samo pozitivne primere in odpravi negativne primere. Za vsak pozitiven primer algoritem preveri vsak atribut v primeru. Če je vrednost atributa enaka vrednosti hipoteze, se algoritem nadaljuje brez sprememb. Če pa se vrednost atributa razlikuje od vrednosti hipoteze, jo algoritem spremeni v ‘?’.

Zdaj, ko smo končali z osnovno razlago algoritma Find-S, si oglejmo, kako deluje.

Kako deluje?

algoritem diagrama poteka v strojnem učenju - edureka

  1. Proces se začne z inicializacijo „h“ z najbolj natančno hipotezo, na splošno je to prvi pozitiven primer v naboru podatkov.
  2. Preverimo za vsak pozitiven primer. Če je primer negativen, bomo prešli na naslednji primer, če pa je pozitiven, ga bomo upoštevali za naslednji korak.
  3. Preverili bomo, ali je vsak atribut v primeru enak vrednosti hipoteze.
  4. Če se vrednost ujema, sprememb ni.
  5. Če se vrednost ne ujema, se vrednost spremeni v ‘?’.
  6. To počnemo, dokler ne pridemo do zadnjega pozitivnega primera v naboru podatkov.

Omejitve algoritma Find-S

Spodaj je naštetih nekaj omejitev algoritma Find-S:

  1. Ni mogoče ugotoviti, ali je hipoteza skladna s podatki.
  2. Nedosledni nizi treningov lahko dejansko zavedejo algoritem Find-S, saj ignorira negativne primere.
  3. Find-S algoritem ne ponuja tehnike povratnega sledenja, da bi določil najboljše možne spremembe, ki bi jih lahko naredili za izboljšanje nastale hipoteze.

Zdaj, ko se zavedamo omejitev algoritma Find-S, si oglejmo praktično izvajanje algoritma Find-S.

Izvajanje algoritma Find-S

Da bi razumeli izvedbo, jo poskusimo implementirati v manjši nabor podatkov s kopico primerov, da se odločimo, ali se človek želi sprehoditi.

Koncept tega posebnega problema bo v tistih dneh, v katerih se človek rad sprehaja.

Čas Vreme Temperatura Podjetje Vlažnost Veter Gre
JutroSončnoToploDaBlagaMočnaDa
ZvečerDeževnoHladnoNeBlagaObičajnoNe
JutroSončnoZmernoDaObičajnoObičajnoDa
ZvečerSončnoHladnoDaVisokoMočnaDa

Če pogledamo nabor podatkov, imamo šest atributov in končni atribut, ki opredeljuje pozitiven ali negativen primer. V tem primeru je da pozitiven primer, kar pomeni, da se bo oseba sprehodila.

Zdaj je splošna hipoteza:

h0= {'Jutro', 'Sončno', 'Toplo', 'Da', 'Blago', 'Močno'}

To je naša splošna hipoteza, zdaj pa bomo obravnavali vsak primer posebej, vendar le pozitivne primere.

heno= {‘Jutro’, ‘Sončno’, ‘?’, ‘Da’, ‘?’, ‘?’}

h2.= {‘?’, ‘Sunny’, ‘?’, ‘Yes’, ‘?’, ‘?’}

Zamenjali smo vse različne vrednosti v splošni hipotezi, da smo dobili rezultatsko hipotezo. Zdaj, ko vemo, kako deluje algoritem Find-S, si oglejmo izvedbo z uporabo Python .

Primer uporabe

Poskusimo izvesti zgornji primer z uporabo . Koda za izvajanje algoritma Find-S z uporabo zgornjih podatkov je podana spodaj.

uvozi pande kot pd uvozi numpy kot np # za branje podatkov v datoteki csv data = pd.read_csv ('data.csv') print (data, 'n') # izdelava matrike vseh atributov d = np.array (data) [:,: - 1] print ('n Atributi so:', d) #segragating the target that has positive and negative examples target = np.array (data) [:, - 1] print ('n Cilj je: ', target) #training funkcija za izvajanje algoritma find-s def train (c, t): for i, val in enumerate (t): if val ==' Yes ​​': specific_hypothesis = c [i]. copy () odmor za i, val v enumerate (c): če je t [i] == 'Da': za x v obsegu (len (specifična_hipoteza)): če val [x]! = specifična_hipoteza [x]: specifična_hipoteza [ x] = '?' else: pass return specific_hypothesis # pridobivanje končnega izpisa hipoteze ('n Končna hipoteza je:', train (d, target))

Izhod:

To nas pripelje do konca tega članka, kjer smo se v Machu naučili algoritma Find-SUčenje z njegovim izvajanjem in uporabo. Upam, da ste seznanjeni z vsem, kar je bilo z vami razdeljeno v tej vadnici.

Če se vam zdi ustrezen ta članek o »Find-S Algorithm in Machine Learning«, si oglejte zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu.

Tu smo, da vam pomagamo pri vsakem koraku na poti in pripravimo učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti . Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Python in vas usposobi za temeljne in napredne koncepte Pythona ter različne všeč , itd.

Če naletite na kakršna koli vprašanja, vas prosimo, da vsa vprašanja postavite v oddelku za komentarje »Find-S Algorithm In Machine Learning« in naša ekipa vam bo z veseljem odgovorila.