Kā ieviest Find-S algoritmu mašīnmācībā?



Šis raksts aptver atradumu algoritma jēdzienu mašīnmācībā. Tas griežas ap dažādām hipotēžu terminoloģijām, kā piemēru izmantojot lietošanas gadījumu.

In , koncepcijas apguvi var saukt par “ problēma, meklējot iepriekš noteiktu hipotēzes telpu hipotēzei, kas vislabāk atbilst apmācības piemēriem ”- Toms Mičels. Šajā rakstā mēs iziesim cauri vienam šādam jēdzienu apguves algoritmam, kas pazīstams kā Find-S algoritms. Šajā rakstā ir apskatītas šādas tēmas.

Kas ir Find-S algoritms mašīnmācībā?

Lai saprastu Find-S algoritmu, jums ir jābūt pamatidejai arī par šādiem jēdzieniem:





  1. Koncepcijas mācīšanās
  2. Vispārēja hipotēze
  3. Specifiska hipotēze

1. Koncepcijas mācīšanās

Mēģināsim izprast jēdzienu apguvi ar piemēru reālajā dzīvē. Lielākā daļa cilvēku mācās, balstoties uz pagātnes gadījumiem vai pieredzi. Piemēram, mēs varam identificēt jebkura veida transportlīdzekli, pamatojoties uz noteiktu funkciju kopumu, piemēram, marku, modeli utt., Kas ir definētas vairākās pazīmēs.



Šīs īpašās iezīmes atšķir automašīnu, kravas automašīnu utt. Komplektu no lielākā transportlīdzekļu komplekta. Šīs funkcijas, kas nosaka automašīnu, kravas automašīnu utt. Komplektu, sauc par jēdzieniem.

Līdzīgi tam mašīnas var mācīties arī no jēdzieniem, lai noteiktu, vai objekts pieder konkrētai kategorijai. Jebkurš kas atbalsta koncepcijas apguvi, ir nepieciešams:

  • Apmācības dati
  • Mērķa koncepcija
  • Faktiskie datu objekti

2. Vispārējā hipotēze



šefpavārs vs marionete vs ansible

Hipotēze kopumā ir kaut kā izskaidrojums. Vispārējā hipotēze būtībā nosaka vispārējo saistību starp galvenajiem mainīgajiem. Piemēram, vispārēja hipotēze par pārtikas pasūtīšanu būtu Es gribu burgeru.

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

3. Specifiska hipotēze

Konkrētā hipotēze aizpilda visu svarīgo informāciju par mainīgajiem, kas norādīti vispārējā hipotēzē. Iepriekš sniegtajā piemērā būtu sīkāka informācija Es gribu siera burgeru ar vistas pepperoni pildījumu ar lielu daudzumu salātu.

S = {“& Phi”, ”& Phi”, “& Phi”, ……, “& Phi”}

Tagad parunāsim par mašīnmācīšanās Find-S algoritmu.

Find-S algoritms seko tālāk aprakstītajām darbībām:

  1. Inicializējiet “h” uz visprecīzāko hipotēzi.
  2. Find-S algoritms ņem vērā tikai pozitīvos piemērus un novērš negatīvos piemērus. Katram pozitīvam piemēram, algoritms pārbauda katru piemēra atribūtu. Ja atribūta vērtība ir tāda pati kā hipotēzes vērtība, algoritms virzās uz priekšu bez izmaiņām. Bet, ja atribūta vērtība atšķiras no hipotēzes vērtības, algoritms to maina uz “?”.

Tagad, kad mēs esam paveikuši Find-S algoritma pamatskaidrojumu, apskatīsim, kā tas darbojas.

Kā tas darbojas?

blokshēmas-atrašanas algoritms mašīnmācībā - edureka

  1. Process sākas ar “h” inicializēšanu ar visprecīzāko hipotēzi, parasti tas ir pirmais pozitīvais piemērs datu kopā.
  2. Mēs pārbaudām katru pozitīvo piemēru. Ja piemērs ir negatīvs, mēs pāriet uz nākamo piemēru, bet, ja tas ir pozitīvs piemērs, mēs to apsvērsim nākamajam solim.
  3. Mēs pārbaudīsim, vai katrs atribūts piemērā ir vienāds ar hipotēzes vērtību.
  4. Ja vērtība sakrīt, izmaiņas netiek veiktas.
  5. Ja vērtība nesakrīt, vērtība tiek mainīta uz “?”.
  6. Mēs to darām, līdz sasniedzam pēdējo pozitīvo piemēru datu kopā.

Find-S algoritma ierobežojumi

Tālāk ir uzskaitīti daži Find-S algoritma ierobežojumi:

  1. Nav iespējams noteikt, vai hipotēze ir konsekventa visos datos.
  2. Nekonsekventi apmācību komplekti faktiski var maldināt Find-S algoritmu, jo tas ignorē negatīvos piemērus.
  3. Find-S algoritms nenodrošina atkāpšanās paņēmienu, lai noteiktu labākās iespējamās izmaiņas, kuras varētu veikt, lai uzlabotu iegūto hipotēzi.

Tagad, kad mēs esam informēti par Find-S algoritma ierobežojumiem, ļaujiet mums apskatīt Find-S algoritma praktisko ieviešanu.

Find-S algoritma ieviešana

Lai saprastu ieviešanu, mēģināsim to ieviest mazākā datu kopā ar virkni piemēru, lai izlemtu, vai cilvēks vēlas doties pastaigā.

Šīs konkrētās problēmas jēdziens būs tas, kurās dienās cilvēkam patīk staigāt.

Laiks Laikapstākļi Temperatūra Uzņēmums Mitrums Vējš Iet
RītsSaulainsSiltsVieglsSpēcīgs
VakarsLietainsAukstsVieglsNormāli
RītsSaulainsMērensNormāliNormāli
VakarsSaulainsAukstsAugstsSpēcīgs

Aplūkojot datu kopu, mums ir seši atribūti un pēdējais atribūts, kas nosaka pozitīvo vai negatīvo piemēru. Šajā gadījumā jā ir pozitīvs piemērs, kas nozīmē, ka cilvēks dosies pastaigā.

Tātad vispārējā hipotēze ir šāda:

h0= {“Rīts”, “Saulains”, “Silts”, “Jā”, “Viegls”, “Spēcīgs”}

Šī ir mūsu vispārējā hipotēze, un tagad mēs izskatīsim katru piemēru pa vienam, bet tikai pozitīvos.

hviens= {‘Rīts’, ‘Saulains’, ‘?’, ‘Jā’, ‘?’, ‘?’}

h2= {‘?’, ‘Saulains’, ‘?’, ‘Jā’, ‘?’, ‘?’}

Lai iegūtu rezultatīvu hipotēzi, mēs aizstājām visas dažādās hipotēzes dažādās vērtības. Tagad, kad mēs zinām, kā darbojas Find-S algoritms, ļaujiet mums apskatīt ieviešanu, izmantojot Python .

Izmantot gadījumu

Mēģināsim īstenot iepriekš minēto piemēru, izmantojot . Tālāk ir norādīts kods, lai ieviestu Find-S algoritmu, izmantojot iepriekš minētos datus.

importēt pandas kā pd importēt numpy kā np #, lai nolasītu datus csv failā data = pd.read_csv ('data.csv') print (data, 'n') #izveidot visu atribūtu masīvu d = np.array (dati) [:,: - 1] print ('n Atribūti ir:', d) #gregē mērķi, kuram ir pozitīvi un negatīvi piemēri target = np.array (dati) [:, - 1] print ('n Mērķis ir: ', target) # apmācības funkcija, lai ieviestu meklējumu algoritmu def vilciens (c, t): priekš i, val uzskaitījumā (t): ja val ==' Jā ': specifiska_hipotēze = c [i]. copy () pārtraukums i, val uzskaitījumā (c): ja t [i] == 'Jā': x diapazonā (len (specifiska_hipotēze)): ja val [x]! = specifiska_hipotēze [x]: specifiska_hipotēze [ x] = '?' cits: nokārtot atgriešanās specifisko_hipotēzi # galīgās hipotēzes izdrukas iegūšana ('n Pēdējā hipotēze ir:', vilciens (d, mērķis))

Izeja:

Tas noved mūs pie šī raksta beigām, kur mēs esam iemācījušies Find-S algoritmu MachMācīšanās ar tās ieviešanas un izmantošanas gadījumu. Es ceru, ka jums ir skaidrs viss, kas ar jums ir kopīgots šajā apmācībā.

Ja jums šķita atbilstošs šis raksts “Find-S algoritms mašīnmācībā”, pārbaudiet uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.

Mēs esam šeit, lai palīdzētu jums ik uz soļa jūsu ceļojumā un izdomātu mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt . Kurss ir paredzēts, lai dotu jums sākumu Python programmēšanā un apmācītu gan pamata, gan uzlabotas Python koncepcijas kopā ar dažādām patīk , utt.

Ja rodas kādi jautājumi, droši uzdodiet visus jautājumus komentāru sadaļā “Find-S algoritms mašīnmācībā”, un mūsu komanda ar prieku atbildēs.