Hvordan implementere Find-S algoritme i maskinlæring?



Denne artikkelen dekker begrepet find-s algoritme i maskinlæring. Den dreier seg om ulike hypoteseterminologier ved å bruke en brukstilfelle som et eksempel.

I , kan begrepslæring betegnes som “ et problem med å søke gjennom et forhåndsdefinert rom med potensiell hypotese for den hypotesen som passer best til treningseksemplene ”- Tom Mitchell. I denne artikkelen vil vi gå gjennom en slik konseptlæringsalgoritme kjent som Find-S-algoritmen. Følgende emner er diskutert i denne artikkelen.

Hva er Find-S algoritme i maskinlæring?

For å forstå Find-S-algoritmen, må du også ha en grunnleggende ide om følgende konsepter:





  1. Konseptlæring
  2. Generell hypotese
  3. Spesifikk hypotese

1. Konseptlæring

La oss prøve å forstå konseptlæring med et eksempel fra virkeligheten. Det meste av menneskelig læring er basert på tidligere forekomster eller erfaringer. For eksempel er vi i stand til å identifisere alle typer kjøretøy basert på et bestemt sett med funksjoner som merke, modell, etc., som er definert over et stort sett med funksjoner.



er hovedfag en mastergrad

Disse spesielle funksjonene skiller settet med biler, lastebiler osv. Fra det større settet med kjøretøy. Disse funksjonene som definerer settet med biler, lastebiler osv. Er kjent som konsepter.

I likhet med dette kan maskiner også lære av konsepter for å identifisere om et objekt tilhører en bestemt kategori eller ikke. Noen som støtter konseptlæring krever følgende:

  • Treningsdata
  • Målkonsept
  • Faktiske dataobjekter

2. Generell hypotese



Hypotese er generelt en forklaring på noe. Den generelle hypotesen angir i utgangspunktet det generelle forholdet mellom hovedvariablene. For eksempel vil en generell hypotese for å bestille mat være Jeg vil ha en burger.

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

3. Spesifikk hypotese

Den spesifikke hypotesen fyller ut alle viktige detaljer om variablene gitt i den generelle hypotesen. De mer spesifikke detaljene i eksemplet gitt ovenfor ville være Jeg vil ha en cheeseburger med en pepperoni-fylling med mye salat.

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

La oss nå snakke om Find-S-algoritmen i maskinlæring.

Find-S-algoritmen følger trinnene som er skrevet nedenfor:

  1. Initialiser ‘h’ til den mest spesifikke hypotesen.
  2. Find-S-algoritmen vurderer bare de positive eksemplene og eliminerer negative eksempler. For hvert positive eksempel, sjekker algoritmen for hvert attributt i eksemplet. Hvis attributtverdien er den samme som hypoteseverdien, går algoritmen videre uten noen endringer. Men hvis attributtverdien er forskjellig fra hypoteseverdien, endrer algoritmen den til ‘?’.

Nå som vi er ferdige med den grunnleggende forklaringen til Find-S-algoritmen, la oss ta en titt på hvordan den fungerer.

Hvordan virker det?

flowchart-find-s algoritme i maskinlæring - edureka

  1. Prosessen starter med å initialisere 'h' med den mest spesifikke hypotesen, generelt er det det første positive eksemplet i datasettet.
  2. Vi ser etter hvert positive eksempel. Hvis eksemplet er negativt, vil vi gå videre til neste eksempel, men hvis det er et positivt eksempel, vil vi vurdere det for neste trinn.
  3. Vi vil sjekke om hvert attributt i eksemplet er lik hypoteseverdien.
  4. Hvis verdien samsvarer, blir det ikke gjort noen endringer.
  5. Hvis verdien ikke stemmer overens, endres verdien til ‘?’.
  6. Vi gjør dette til vi når det siste positive eksemplet i datasettet.

Begrensninger av Find-S algoritme

Det er noen få begrensninger av Find-S-algoritmen som er oppført nedenfor:

  1. Det er ingen måte å avgjøre om hypotesen er konsistent gjennom dataene.
  2. Inkonsekvente treningssett kan faktisk villede Find-S-algoritmen, siden den ignorerer de negative eksemplene.
  3. Find-S-algoritmen gir ikke en backtracking-teknikk for å bestemme de best mulige endringene som kan gjøres for å forbedre den resulterende hypotesen.

Nå som vi er klar over begrensningene til Find-S-algoritmen, la oss ta en titt på en praktisk implementering av Find-S-algoritmen.

Implementering av Find-S algoritme

For å forstå implementeringen, la oss prøve å implementere den i et mindre datasett med en rekke eksempler for å bestemme om en person vil gå en tur.

hvordan konvertere dobbelt til int

Konseptet med dette spesielle problemet vil være på hvilke dager en person liker å gå på tur.

Tid Vær Temperatur Selskap Luftfuktighet Vind Går
MorgenSolfyltVarmJaMildSterkJa
KveldRegnfullKaldNeiMildNormalNei
MorgenSolfyltModeratJaNormalNormalJa
KveldSolfyltKaldJaHøySterkJa

Ser vi på datasettet, har vi seks attributter og en sluttattributt som definerer det positive eller negative eksemplet. I dette tilfellet er ja et positivt eksempel, noe som betyr at personen vil gå en tur.

Så nå er den generelle hypotesen:

h0= {‘Morning’, ‘Sunny ',‘ Warm ’,‘ Yes ’,‘ Mild ’,‘ Strong'}

Dette er vår generelle hypotese, og nå vil vi vurdere hvert eksempel en etter en, men bare de positive eksemplene.

hen= {‘Morgen’, ‘Solrik’, ‘?’, ‘Ja’, ‘?’, ‘?’}

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

Vi erstattet alle de forskjellige verdiene i den generelle hypotesen for å få en resulterende hypotese. Nå som vi vet hvordan Find-S-algoritmen fungerer, la oss ta en titt på en implementering ved hjelp av Python .

Bruk sak

La oss prøve å implementere eksemplet ovenfor ved hjelp av . Koden for å implementere Find-S-algoritmen ved hjelp av dataene ovenfor er gitt nedenfor.

importer pandaer som pd importer numpy som np # for å lese dataene i csv-fildata = pd.read_csv ('data.csv') skrive ut (data, 'n') # lage en matrise med alle attributtene d = np.array (data) [:,: - 1] print ('n Attributtene er:', d) #segragering av målet som har positive og negative eksempler target = np.array (data) [:, - 1] print ('n Målet er: ', target) #training function to implement find-s algoritme def train (c, t): for i, val in enumerate (t): if val ==' Yes ​​': specific_hypothesis = c [i]. copy () break for i, val in enumerate (c): if t [i] == 'Yes': for x in range (len (specific_hypothesis)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [ x] = '?' annet: passere retur spesifikk_hypotese # å få den endelige hypotesetrykket ('n Den endelige hypotesen er:', tog (d, mål))

Produksjon:

Dette bringer oss til slutten av denne artikkelen der vi har lært Find-S-algoritmen i Machine Learning med implementering og brukstilfelle. Jeg håper du er klar med alt som har blitt delt med deg i denne opplæringen.

Hvis du fant denne artikkelen om “Find-S Algorithm In Machine Learning” relevant, kan du sjekke ut et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden.

Vi er her for å hjelpe deg med hvert trinn på reisen og komme med en læreplan som er designet for studenter og fagpersoner som ønsker å være en . Kurset er designet for å gi deg et forsprang i Python-programmering og trene deg for både kjerne- og avanserte Python-konsepter sammen med forskjellige som , , etc.

Hvis du kommer over noen spørsmål, er du velkommen til å stille alle spørsmålene dine i kommentarfeltet i 'Find-S Algorithm In Machine Learning', og teamet vårt svarer gjerne.