Kako implementirati algoritam Find-S u strojno učenje?



Ovaj članak pokriva koncept algoritma pronalaženja u strojnom učenju. Vrti se oko različitih terminologija hipoteza koristeći primjer primjera.

U , konceptualno učenje možemo nazvati „ problem pretraživanja unaprijed definiranog prostora potencijalne hipoteze za hipotezu koja najbolje odgovara primjerima treninga “- Tom Mitchell. U ovom ćemo članku proći kroz jedan takav koncept algoritam učenja poznat kao Find-S algoritam. U ovom su članku razmatrane sljedeće teme.

Što je algoritam Find-S u strojnom učenju?

Da biste razumjeli algoritam Find-S, morate imati osnovnu ideju i o sljedećim konceptima:





što je bafer čitač
  1. Učenje koncepta
  2. Opća hipoteza
  3. Specifična hipoteza

1. Učenje koncepta

Pokušajmo razumjeti učenje koncepta na primjeru iz stvarnog života. Većina ljudskog učenja temelji se na prošlim primjerima ili iskustvima. Na primjer, možemo identificirati bilo koju vrstu vozila na temelju određenog skupa značajki poput marke, modela itd., Koje su definirane u velikom skupu značajki.



Ove posebne značajke razlikuju skup automobila, kamiona itd. Od većeg broja vozila. Ove značajke koje definiraju skup automobila, kamiona itd. Poznate su kao koncepti.

Slično ovome, strojevi također mogu naučiti iz koncepata kako bi identificirali pripada li objekt određenoj kategoriji ili ne. Bilo koji koji podržava konceptualno učenje zahtijeva sljedeće:

  • Podaci o treningu
  • Koncept cilja
  • Stvarni objekti podataka

2. Opća hipoteza



Hipoteza je općenito objašnjenje nečega. Opća hipoteza u osnovi iznosi opći odnos između glavnih varijabli. Na primjer, bila bi opća hipoteza za naručivanje hrane Želim hamburger.

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

3. Specifična hipoteza

Specifična hipoteza ispunjava sve važne detalje o varijablama datim u općoj hipotezi. Specifičniji detalji u gore navedenom primjeru bili bi Želim cheeseburger s nadjevom od pilećih feferona s puno zelene salate.

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

pretvorba niza u datum u javi

Sada, razgovarajmo o Find-S algoritmu u strojnom učenju.

Find-S algoritam slijedi korake napisane u nastavku:

  1. Inicijalizirajte 'h' na najspecifičnijoj hipotezi.
  2. Find-S algoritam razmatra samo pozitivne primjere i uklanja negativne primjere. Za svaki pozitivan primjer algoritam provjerava svaki atribut u primjeru. Ako je vrijednost atributa jednaka vrijednosti hipoteze, algoritam se kreće bez ikakvih promjena. Ali ako se vrijednost atributa razlikuje od vrijednosti hipoteze, algoritam je mijenja u '?'.

Sad kad smo završili s osnovnim objašnjenjem algoritma Find-S, pogledajmo kako on funkcionira.

Kako radi?

algoritam dijagrama toka u strojnom učenju - edureka

  1. Proces započinje inicijalizacijom 'h' s najkonkretnijom hipotezom, općenito, to je prvi pozitivan primjer u skupu podataka.
  2. Provjeravamo za svaki pozitivan primjer. Ako je primjer negativan, prijeći ćemo na sljedeći primjer, ali ako je pozitivan, razmotrit ćemo ga za sljedeći korak.
  3. Provjerit ćemo je li svaki atribut u primjeru jednak vrijednosti hipoteze.
  4. Ako se vrijednost podudara, tada se ne vrše promjene.
  5. Ako se vrijednost ne podudara, vrijednost se mijenja u ‘?’.
  6. To radimo dok ne dođemo do posljednjeg pozitivnog primjera u skupu podataka.

Ograničenja Find-S algoritma

Postoji nekoliko ograničenja algoritma Find-S dolje navedenih:

  1. Ne postoji način da se utvrdi je li hipoteza konzistentna u svim podacima.
  2. Nedosljedni skupovi treninga mogu zapravo zavarati algoritam Find-S, jer zanemaruje negativne primjere.
  3. Find-S algoritam ne pruža tehniku ​​vraćanja unatrag kako bi se utvrdile najbolje moguće promjene koje bi se mogle učiniti kako bi se poboljšala rezultirajuća hipoteza.

Sad kad smo svjesni ograničenja Find-S algoritma, pogledajmo praktičnu primjenu Find-S algoritma.

Provedba Find-S algoritma

Da bismo razumjeli implementaciju, pokušajmo je implementirati na manji skup podataka s gomilom primjera kako bismo odlučili želi li osoba ići u šetnju.

Koncept ovog određenog problema bit će u koje dane osoba voli ići u šetnju.

Vrijeme Vrijeme Temperatura Društvo Vlažnost Vjetar Ide
JutroSunčanoToploDaBlagaJakaDa
VečerKišovitoHladnoNeBlagaNormalanNe
JutroSunčanoUmjerenoDaNormalanNormalanDa
VečerSunčanoHladnoDaVisokoJakaDa

Gledajući skup podataka, imamo šest atributa i završni atribut koji definira pozitivan ili negativan primjer. U ovom je slučaju pozitivan primjer da, što znači da će osoba ići u šetnju.

Dakle, općenita hipoteza je:

h0= {'Jutro', 'Sunčano', 'Toplo', 'Da', 'Blago', 'Snažno'}

To je naša općenita hipoteza i sada ćemo svaki primjer razmatrati svaki, ali samo pozitivne primjere.

hjedan= {‘Jutro’, ‘Sunčano’, ‘?’, ‘Da’, ‘?’, ‘?’}

h2= {‘?’, ‘Sunčano’, ‘?’, ‘Da’, ‘?’, ‘?’}

Zamijenili smo sve različite vrijednosti u općoj hipotezi da bismo dobili rezultatsku hipotezu. Sad kad znamo kako funkcionira algoritam Find-S, pogledajmo implementaciju pomoću Piton .

Slučaj upotrebe

Pokušajmo primijeniti gornji primjer koristeći . Kôd za implementaciju algoritma Find-S pomoću gornjih podataka dan je u nastavku.

import pandas as pd import numpy as np #čitati podatke u csv datoteci data = pd.read_csv ('data.csv') print (data, 'n') #napraviti niz svih atributa d = np.array (podaci) [:,: - 1] print ('n Atributi su:', d) #segragating the target that has positive and negative examples target = np.array (data) [:, - 1] print ('n Cilj je: ', target) #training funkcija za implementaciju pronalaska algoritma def train (c, t): za i, val u enumerate (t): ako je val ==' Da ': specific_hypothesis = c [i]. copy () break za i, val u enumerate (c): if t [i] == 'Yes': za x in range (len (specific_hypothesis)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [ x] = '?' else: pass return specific_hypothesis #objava konačnog ispisa hipoteze ('n Konačna hipoteza je:', vlak (d, cilj))

Izlaz:

vrste transformacije u informatici

To nas dovodi do kraja ovog članka gdje smo naučili Find-S algoritam u MachuUčenje s njegovom primjenom i primjenom. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču.

Ako smatrate da je ovaj članak o “Find-S algoritmu u strojnom učenju” relevantan, pogledajte članak pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.

Ovdje smo da vam pomognemo u svakom koraku na putovanju i osmislimo kurikulum namijenjen studentima i profesionalcima koji žele biti . Tečaj je osmišljen kako bi vam pružio prednost u programiranju Pythona i osposobio vas za osnovne i napredne koncepte Pythona, zajedno s raznim Kao , itd.

Ako naiđete na neko pitanje, slobodno postavite sva svoja pitanja u odjeljku za komentare u 'Find-S Algorithm in Machine Learning' i naš će tim rado odgovoriti.