v lze konceptuální učení nazvat „ problém hledání předem definovaného prostoru potenciální hypotézy pro hypotézu, která nejlépe odpovídá příkladům tréninku “- Tom Mitchell. V tomto článku projdeme jedním takovým algoritmem konceptuálního učení známým jako algoritmus Find-S. V tomto článku jsou popsána následující témata.
- Co je algoritmus Find-S ve strojovém učení?
- Jak to funguje?
- Omezení algoritmu Find-S
- Implementace algoritmu Find-S
- Pouzdro
Co je algoritmus Find-S ve strojovém učení?
Abyste porozuměli algoritmu Find-S, musíte mít základní představu také o následujících konceptech:
- Koncept učení
- Obecná hypotéza
- Specifická hypotéza
1. Konceptuální učení
Zkusme pochopit koncepční učení na příkladu z reálného života. Většina lidského učení je založena na minulých příkladech nebo zkušenostech. Například jsme schopni identifikovat jakýkoli typ vozidla na základě určité sady funkcí, jako je značka, model atd., Které jsou definovány prostřednictvím velké sady funkcí.
ansible vs chef vs loutka
Tyto speciální funkce odlišují sadu osobních, nákladních vozidel atd. Od větší sady vozidel. Tyto funkce, které definují sadu osobních, nákladních automobilů atd., Jsou známé jako koncepty.
Podobně jako v tomto případě se stroje mohou z konceptů učit, aby zjistily, zda objekt patří do konkrétní kategorie či nikoli. Žádný který podporuje koncepční učení, vyžaduje následující:
- Údaje o školení
- Koncept cíle
- Skutečné datové objekty
2. Obecná hypotéza
Hypotéza je obecně vysvětlením něčeho. Obecná hypotéza v zásadě uvádí obecný vztah mezi hlavními proměnnými. Například by byla obecná hypotéza pro objednání jídla Chci hamburger.
G = {‚?‘, ‚?‘, ‚?‘,… .. ‘?‘}
3. Specifická hypotéza
Specifická hypotéza vyplňuje všechny důležité podrobnosti o proměnných uvedených v obecné hypotéze. Konkrétnější podrobnosti do výše uvedeného příkladu by byly Chci cheeseburger s kuřecí feferonkovou náplní se spoustou salátu.
S = {‘& Phi’, ‘& Phi ',' & Phi ', ……,' & Phi '}
java rozdíl mezi implementuje a rozšiřuje
Nyní si promluvme o algoritmu Find-S ve strojovém učení.
Algoritmus Find-S se řídí následujícími kroky:
- Inicializujte „h“ na nejkonkrétnější hypotézu.
- Algoritmus Find-S bere v úvahu pouze pozitivní příklady a vylučuje negativní příklady. U každého pozitivního příkladu algoritmus kontroluje každý atribut v příkladu. Pokud je hodnota atributu stejná jako hodnota hypotézy, algoritmus pokračuje beze změn. Pokud je ale hodnota atributu jiná než hodnota hypotézy, algoritmus ji změní na „?“.
Nyní, když jsme skončili se základním vysvětlením algoritmu Find-S, podívejme se, jak to funguje.
Jak to funguje?
- Proces začíná inicializací „h“ s nejkonkrétnější hypotézou, obecně jde o první pozitivní příklad v datové sadě.
- Zkontrolujeme každý pozitivní příklad. Pokud je příklad záporný, přejdeme k dalšímu příkladu, ale pokud se jedná o pozitivní příklad, zvážíme jej pro další krok.
- Zkontrolujeme, zda se každý atribut v příkladu rovná hodnotě hypotézy.
- Pokud se hodnota shoduje, neprovedou se žádné změny.
- Pokud se hodnota neshoduje, změní se na „?“.
- Děláme to, dokud nedosáhneme posledního pozitivního příkladu v datové sadě.
Omezení algoritmu Find-S
Níže je uvedeno několik omezení algoritmu Find-S:
- Neexistuje žádný způsob, jak určit, zda je hypotéza konzistentní v celém rozsahu dat.
- Nekonzistentní tréninkové sady mohou ve skutečnosti zavést algoritmus Find-S, protože ignoruje negativní příklady.
- Algoritmus Find-S neposkytuje techniku zpětného sledování k určení nejlepších možných změn, které lze provést ke zlepšení výsledné hypotézy.
Nyní, když jsme si vědomi omezení algoritmu Find-S, pojďme se podívat na praktickou implementaci algoritmu Find-S.
Implementace algoritmu Find-S
Abychom pochopili implementaci, zkusme ji implementovat do menší datové sady s hromadou příkladů, abychom se rozhodli, jestli chce někdo jít na procházku.
Koncept tohoto konkrétního problému bude v jaké dny má člověk rád chodit na procházku.
Čas | Počasí | Teplota | Společnost | Vlhkost vzduchu | Vítr | Jde |
Ráno | Slunný | Teplý | Ano | Mírný | Silný | Ano |
Večer | Deštivý | Studený | Ne | Mírný | Normální | Ne |
Ráno | Slunný | Mírný | Ano | Normální | Normální | Ano |
Večer | Slunný | Studený | Ano | Vysoký | Silný | Ano |
Při pohledu na datovou sadu máme šest atributů a konečný atribut, který definuje pozitivní nebo negativní příklad. V tomto případě je ano pozitivním příkladem, což znamená, že osoba půjde na procházku.
Obecná hypotéza tedy nyní zní:
h0= {„Ráno“, „Slunečno“, „Teplé“, „Ano“, „Mírně“, „Silně“}
Toto je naše obecná hypotéza a nyní budeme zvažovat každý příklad jeden po druhém, ale pouze pozitivní příklady.
hjeden= {„Ráno“, „Slunečno“, „?“, „Ano“, „?“, „?“}
h2= {‚?‘, ‚Sunny‘, ‚?‘, ‚Ano‘, ‚?‘, ‚?‘}
Nahradili jsme všechny různé hodnoty v obecné hypotéze, abychom získali výslednou hypotézu. Nyní, když víme, jak funguje algoritmus Find-S, pojďme se podívat na implementaci pomocí Krajta .
Pouzdro
Pokusme se implementovat výše uvedený příklad pomocí . Níže je uveden kód pro implementaci algoritmu Find-S pomocí výše uvedených dat.
importovat pandy jako pd importovat numpy jako np # číst data v souboru csv data = pd.read_csv ('data.csv') print (data, 'n') # vytvořit pole všech atributů d = np.array (data) [:,: - 1] print ('n Atributy jsou:', d) #segragating cíl, který má pozitivní a negativní příklady target = np.array (data) [:, - 1] print ('n Cíl je: ', target) #training function to implement find-s algorithm 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] = '?' else: pass return specific_hypothesis # získání závěrečného tisku hypotéz ('n Konečná hypotéza je:', train (d, target))
Výstup:
co dělá vývojář tabla
Tím se dostáváme na konec tohoto článku, kde jsme se naučili algoritmus Find-S v Machoviine Learning s jeho implementací a případem použití. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.
Pokud vám tento článek „Algoritmus Find-S ve strojovém učení“ připadá relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.
Jsme tu, abychom vám pomohli s každým krokem na vaší cestě a vytvořili osnovy určené pro studenty a profesionály, kteří chtějí být . Kurz je navržen tak, aby vám poskytl náskok v programování v Pythonu a naučil vás základní i pokročilé koncepty Pythonu spolu s různými jako , , atd.
Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „Find-S Algorithm In Machine Learning“ a náš tým vám rád odpoví.