Webové Aplikace

Co je strojové učení?

30. října 2021

Obsah

Úvod do strojového učení

Vědci dlouho snili o sestrojení nápaditých strojů. Když byly poprvé vynalezeny programovatelné počítače, lidé se zajímali, zda se takové stroje jednoho dne stanou inteligentními jako lidé a budou schopny dělat úkoly jako lidé. Dnes je umělá inteligence nově vznikající technologií s širokou škálou aplikací v různých oblastech. Konceptem AI je simulovat lidskou inteligenci do umělých strojů tak, aby stroje byly schopny myslet a vykonávat úkoly jako lidé.

Proč potřebujeme nějakou technologii, která ve všech ohledech funguje jako lidé?

Lidé mají velmi dobrou přesnost práce, ale efektivita práce není uspokojivá a vždy existuje limit pro urychlení práce lidmi, ale to není případ strojů a také práce prováděná stroji je velmi přesná, jednotná a škálovatelné.

V devatenáctém století došlo k softwarové revoluci, která měla tyto problémy překonat, ale na řešení těchto problémů to nestačí. Software je schopen vykonávat úlohu, která je formálně definována v sadě pravidel tak, že je schopen napsat program programátorem s ohledem na tato pravidla.

Například výpočet součtu dvou daných čísel. V dnešním světě, pokud jde o rychlost a přesnost, mohou počítače v tomto úkolu porazit každého člověka. Ale problémy, které nemají soubor formálních pravidel a vyžadují lidskou inteligenci, pak takový problém počítače řeší jen velmi těžko.

Například pro rozpoznání tváří jsou lidé schopni rozpoznat tváře velmi snadno, ale pro počítače je to velmi obtížné rozpoznat, protože je velmi složité napsat formální pravidla tváří. Skutečnou výzvou umělé inteligence je tedy řešení úkolů, které lidé snadno vykonávají, ale pro lidi je těžké je formálně popsat.

Vezměme si příklad šachového systému Deep Blue vyvinutého IBM. Šachová pravidla mohou být zcela definována souborem formálních pravidel. Takže tato pravidla byla snadno převedena do programu programátorem a poskytnuta předem programátorem.

Umělá inteligence se snaží tento problém řešit tím, že přenáší lidskou inteligenci na stroje s nesrovnatelnými výpočetními schopnostmi.

V každodenním životě člověk potřebuje znalosti o světě k řešení svého úkolu a tyto znalosti jsou subjektivní a intuitivní, proto je pro programátora obtížné artikulovat v souboru pravidel.

Takže odtud jsme schopni pochopit, že chovat se jako lidé nebo jinými slovy chovat se inteligentně, počítače vyžadují podobné znalosti. Klíčovou výzvou v AI je tedy vložit tyto neformální nebo subjektivní informace do počítače a výzkumníci v Umělém Inteligence pole se v podstatě snaží dosáhnout tohoto cíle.

Výzkumníci zjistili velmi základní způsob, jak tohoto cíle dosáhnout. Použili znalostní přístup. V tomto přístupu výzkumníci tvrdě kódují znalosti o světě ve formálních jazycích.

Počítače mohou automaticky uvažovat o prohlášeních v těchto formálních jazycích pomocí logických inferenčních pravidel. Vzhledem k tomu, že se jedná o velmi základní, jednoduchý a naivní přístup, projekt využívající tento přístup není úspěšný, protože výzkumníci se snaží navrhnout formální pravidla dostatečně složitá, aby přesně vymysleli svět. Jedním z příkladů takového projektu je Cyc. Cyc je inferenční motor.

Problém, kterému čelí výše uvedené projekty (založené na přístupu založeném na znalostech), spočívá v spoléhání se na pevně zakódované znalosti. K překonání tohoto problému potřebují systémy umělé inteligence schopnost získávat své vlastní znalosti ze světa extrahováním vzorců z nezpracovaných dat. Tato schopnost je známá jako strojové učení.

Strojové učení

Zavedení strojového učení dává počítačům možnost získat znalosti o reálném světě a činit rozhodnutí, která se zdají subjektivní. Tímto způsobem je strojové učení schopné překonat omezení znalostního přístupu.

Podle Wikipedie

Strojové učení je studium počítačových algoritmů, které se automaticky zdokonalují prostřednictvím zkušeností.

Podle Mitchella

Říká se, že počítačový program se učí ze zkušenosti E s ohledem na nějakou třídu úkolů T a měří výkon P, pokud se jeho výkon v úloze v T, měřený pomocí P, zlepšuje se zkušeností E.

V literatuře existuje mnoho typů algoritmů strojového učení. Zde se seskupení algoritmů provádí na základě stylu učení. Široké seskupení algoritmů algoritmů strojového učení je znázorněno na obrázku 1. Podívejme se podrobně jeden po druhém.

strojové učení

Seskupování algoritmu strojového učení na základě stylu učení

Učení pod dohledem

Supervised Learning, jak název napovídá, je přítomnost supervizora jako učitele. V Supervised Learning trénujeme náš stroj pomocí označených dat. Označená data znamenají, že pro každý vstup existuje dobře označený výstup.

V procesu školení získávají stroje znalosti světa z označených dat. Po tréninku je stroj vybaven novou sadou dat pro předvídání výsledku. Cílem je přimět stroje, aby se učily z nějakého podobného druhu vzorů získaných z trénovací datové sady a aplikovaly naučené znalosti na testovanou datovou sadu k předpovědi skutečné hodnoty výstupu.

Pro lepší pochopení si uveďme příklad datové sady Iris. Datový soubor Iris je souborem měření různých částí 150 rostlin kosatce. Každý příklad v souboru dat se skládá z měření každé části rostliny, jako je délka sepalu, šířka sepalu, délka okvětního lístku, šířka okvětního lístku. Soubor dat také zaznamenává, ke kterému druhu jednotlivé rostliny patří. V souboru dat jsou přítomny tři různé druhy. Takže jak vidíme zde v datovém souboru Iris, každá rostlina Iris je označena svým druhem.

Viz také Top 15 nejlepších softwaru pro řízení prodeje

Algoritmy supervizovaného učení mohou studovat tento soubor dat a naučit se klasifikovat rostlinu kosatce do tří různých druhů na základě svých měření

Termín řízené učení v podstatě znamená, že cíl y poskytuje učitel, který stroji ukazuje, co má dělat.

Řízené učení rozdělené do dvou kategorií algoritmů, jak je znázorněno na obrázku:2.

Učení pod dohledem

Regrese

Regresní algoritmy předpovídají spojitý výsledek (cíl) na základě jedné nebo více vstupních nebo prediktorových hodnot. Jednoduše řečeno, výstupní hodnota je skutečná hodnota jako váhy.

Existují různé druhy regresních algoritmů. Typy různých regresních algoritmů závisí na počtu nezávislých proměnných, tvaru regresní přímky a typu závislé proměnné. Podívejme se na některé typy regresních technik.

Lineární regrese je jedním z nejzákladnějších a nejoblíbenějších regresních algoritmů pro předpovídání spojité hodnoty. Zde předpokládá lineární vztah mezi vstupem (prediktorem) a výstupem.

Algoritmus lineární regrese

Názvy lineární regrese naznačují, že je schopna řešit regresní problémy. Cílem těchto algoritmů je sestavit systém, který dokáže vzít vektor x a předpovědět skalární hodnotu y jako výstup. Jednoduše řečeno, tento algoritmus stanoví vztah mezi vstupem a výstupem pomocí nejvhodnější přímky.

y=wTx

Zde w je vektor parametrů. Parametry jsou hodnoty, které řídí chování systému.

Můžeme si představit „w“ jako sadu vah, které určují, jak každý prvek ovlivňuje výstup. Funkce není nic jiného než charakteristika vstupu.

Například

Řekněme, že chceme mít systém, který je schopen předpovídat cenu ojetých vozů. Zde jsou vlastnosti vozu, o kterých si myslíme, že ovlivňují hodnotu vozu, jako je značka, rok, účinnost motoru, kapacita, počet najetých kilometrů a mnoho dalších informací.

y=w0 * kapacita+w1 * kilometrový výkon +w3 * účinnost motoru

pokud tyto vlastnosti obdrží kladné váhy wi, pak zvýšení těchto vah zvyšuje hodnotu naší predikce a naopak. Pokud jsou váhy „wi“ velké, pak to má velký vliv na předpověď. Pokud je váha „wi“ 0, nemá to žádný vliv na předpověď.

Klasifikace

Klasifikace je koncept učení pod dohledem, který se snaží předvídat kategorie, do kterých vstup patří. Aby se vyřešil problém klasifikace, algoritmy učení se pokusí vytvořit funkci něco jako f:R-{1,2,…k}. Jednoduše řečeno, když je výstup proměnný, je to kategorie jako nemoc nebo nenemoc, tj. v tomto problému je výstup diskrétní. Například v datovém souboru Iris musíme předpovědět tři třídy druhů dané třemi znaky (délka kališního lístku (sl), šířka okvětního lístku (sw), délka okvětního lístku (pl), šířka okvětního lístku (pw)) ve vstupu.

Vezměme si další příklad rozpoznávání objektů, abychom tomu jasně porozuměli

Zde je vstupem obrázek a výstupem je číselný kód identifikující objekt na obrázku.

Existuje řada klasifikačních algoritmů. Klasifikační algoritmy zahrnují podporu vektorové strojové logistické regrese, rozhodovací strom, náhodný les atd. Podívejme se na některé algoritmy podrobně.

Podpora Vector Machine

Podporný vektorový stroj je řízený algoritmus učení, který lze použít pro klasifikační i regresní problémy, ale většinou se používá pro klasifikační problémy.

Vzhledem k trénovací datové množině, z nichž každá je označena jako jedna nebo druhá ze dvou tříd, vytváří cvičný algoritmus SVM model, který přiřazuje nové příklady jedné nebo druhé kategorii, čímž se z něj stává nepravděpodobnostní binární lineární klasifikátor.

V podstatě se tento algoritmus snaží najít optimální nadrovinu v n-rozměrném místě, které klasifikuje nové příklady. Ve dvourozměrném prostoru (když je počet vstupních prvků dva) tato nadrovina není nic jiného než čára rozdělující rovinu na dvě části, jak je znázorněno na obrázku3.

Podle wikipedie

Model SVM je reprezentace příkladů jako bodů v prostoru, zmapovaných tak, že příklady jednotlivých kategorií jsou rozděleny jasnou mezerou, která je co největší. Nové příklady jsou pak mapovány do stejného prostoru a předpokládá se, že patří do kategorie založené na straně mezery, na kterou spadají.

img 617dd7d8dd962

Obrázek 3

SVM se snaží maximalizovat rozpětí mezi těmito dvěma třídami. Maximální rezervy je dosaženo nadrovinou, která má největší vzdálenost k nejbližšímu bodu tréninkových dat v jakékoli třídě.

To je velmi intuitivní na pochopení. Na obrázku vidíme, že všechny datové body, které spadají na stranu čáry, budou označeny jako jedna třída a body, které spadají na druhou stranu čáry, budou označeny jako druhá třída. Nyní, jak vidíme na obrázku 3, mezi nimi prochází nekonečné množství čar.

Jak tedy poznáme, která řada funguje nejlépe? Tento algoritmus se pokouší vybrat linii, která nejen odděluje dvě třídy, ale zůstává co nejdále od nejbližších vzorků, jak je znázorněno na obrázku 3.

Učení bez dozoru

Při učení pod dohledem je cílem naučit se mapování od vstupu k výstupu, jehož správné hodnoty poskytuje supervizor. Při učení bez dozoru jsou zadána pouze vstupní data a žádný takový supervizor neexistuje. Cílem je najít zákonitosti zadání.

Vstupní prostor má takovou strukturu, že některé vzory se vyskytují více než jiné.

Viz také 9 oprav pro problém s více procesy v prohlížeči Google Chrome

V učení bez dozoru se používají dvě hlavní metody, a to shluková analýza a hlavní složka.

Při shlukové analýze je cílem najít seskupení vstupu.

Vezměme si příklad, abychom to jasně pochopili

Všechny společnosti mají mnoho zákaznických dat. Údaje o zákaznících obsahují demografické informace a také minulou transakci se společností. Společnost může mít zájem vidět rozložení profilu své společnosti, zjistit, jaký typ zákazníka se často vyskytuje. V takových scénářích klastrování přiděluje zákazníky podobné svými atributy do stejné skupiny. Tyto seskupené skupiny mohou pomoci při rozhodování o strategiích společnosti, například služeb a produktů, specifických pro různé skupiny.

Populárním algoritmem pro provedení této shlukovací analýzy je shlukování K-means. Pojďme diskutovat o K-means podrobněji.

K-means Clustering

K-means clustering je jedním z populárních a nejjednodušších algoritmů učení bez dozoru.

K-means je algoritmus založený na centroidech, kde počítáme vzdálenosti daných bodů od těžiště, abychom přiřadili bod ke shluku. V K-Means je každý shluk spojen s těžištěm.

Tento algoritmus funguje následovně:

  1. Nejprve inicializujte k bodů náhodně nazývaných prostředky
  2. Poté kategorizujte každou položku podle nejbližšího průměru a aktualizujte souřadnice průměru, což jsou průměry položek kategorizovaných v tomto průměru.
  3. Opakujte tyto kroky pro daný počet iterací a po daném počtu iterací máme své shluky.
strojové učení

Obrázek:4

Polořízený algoritmus

Při učení pod dohledem jsme viděli, že soubor dat musí být ručně označen lidmi. Tento proces je velmi nákladný, protože objem datové sady je velmi velký. Při učení bez dozoru není značená datová sada vyžadována, ale její aplikační spektrum je omezené.

Aby se tato omezení vyřešila, zavádí se koncept učení s částečným dohledem. V tomto stylu učení je algoritmus trénován kombinací malého množství označených dat a velkého množství neoznačených dat. Učení s částečným dohledem spadá mezi učení pod dohledem a učení bez dohledu.

Aby bylo možné jakkoli použít neoznačená data, předpokládá algoritmus semi-supervised o datech následující vztah:

    Kontinuita :Předpokládá, že body, které jsou blíže k sobě, budou s větší pravděpodobností sdílet stejné výstupní označení.Cluster:Pokud lze data rozdělit do samostatných shluků, pak body ve stejném shluku budou s větší pravděpodobností sdílet označení.Rozdělovač:Data leží přibližně na množině mnohem nižší dimenze, než je vstupní prostor. Tento předpoklad umožňuje použití vzdáleností a hustot, které jsou definovány na a potrubí .

Těmto třem typům učebních stylů, jmenovitě učení pod dohledem, učení bez dozoru a učení částečně pod dohledem, můžeme porozumět tak, že se vztáhneme k reálnému světu.

Učení pod dohledem, kdy je student pod dohledem učitele. V učení bez dozoru, kde student musí přijít na koncept sám. Semi-supervised learning, kdy učitel ve třídě učí několik konceptů a dává otázky jako domácí úkol, které jsou založeny na podobných konceptech.

Posílení učení

Posílení učení je učení interakcí s prostředím. Proces učení zahrnuje aktéra, prostředí a signál odměny. Herec se rozhodne jednat v prostředí, za které je herec patřičně odměněn. Zde je výstupem systému sekvence akcí.

V takovém případě není důležitá jediná akce, zde je důležitá posloupnost nápravných akcí k dosažení cíle. Tomu se také říká politika. Aktér chce zvýšit odměnu, kterou dostává, a proto se musí naučit optimální a dobré politice pro interakci s prostředím. Dobrým příkladem jsou hry. Ve hře není jediný tah sám o sobě důležitý, vyžaduje sekvenci správných tahů, která je dobrá (tj. tahy vedou k vítězství)

Nastavení učení posilování

Obrázek 5: Nastavení učení posilování

„Posilové učení se velmi liší od jiných typů učení, které jsme doposud pokrývali. Jak jsme viděli v učení pod dohledem, dostáváme data a štítky a máme za úkol předvídat výstupní daná data. Při učení bez dozoru dostáváme pouze data a máme za úkol najít základní strukturu v datech. U výztuže nám nejsou zadány údaje ani štítky.

Aplikace posilovacího učení jsou

  1. Samořídící auto
  2. Robotické ovládání motoru
  3. Ovládání klimatizace
  4. Optimalizace umístění reklamy
  5. Strategie obchodování na burze
  6. Hraní hry

Hluboké učení

Když analyzujeme obrázek auta, pak je jednotlivý pixel na obrázku červeného auta v noci velmi blízký černé. Tento příklad vám může poskytnout přehled o obtížích, kterým čelí mnoho aplikací umělé inteligence. Je velmi obtížné získat tak vysokou úroveň a abstraktní rysy, protože to vyžaduje porozumění na lidské úrovni.

Deep Learning řeší tento problém tím, že vytváří složité funkce z jednoduchých. Nejzákladnějším příkladem modelu hlubokého učení je Multilayer Perceptron. Vícevrstvý Perceptron je pouze matematická funkce mapující vstupní hodnoty na výstupní hodnoty. Tato funkce se skládá z mnoha jednodušších funkcí.

Hluboké učení je zvláštní druh strojového učení, které dosahuje velké síly a flexibility tím, že představuje svět jako vnořenou hierarchii pojmů. Každý pojem je definován ve vztahu k jednodušším pojmům a abstraktnější reprezentace počítané z hlediska méně abstraktních.

Algoritmy hlubokého učení, jako je hluboká neuronová síť, síť hlubokého přesvědčení, konvoluční neuronová síť, rekurentní neuronová síť, byly použity v oblastech včetně počítačového vidění, rozpoznávání řeči, zpracování přirozeného jazyka a mnoha dalších.

Hluboká neuronová síť

Deep Neural Network je inspirována funkcí lidského mozku a způsobem, jakým funguje. Základním stavebním kamenem hlubokých neuronových sítí jsou uzly. Uzly jsou jako neurony lidského mozku. Když je podnět zasáhne, v uzlu proběhne proces. Obecně jsou uzly seskupeny do vrstev, jak je znázorněno na obrázku 6.

Hluboká neuronová síť

Obrázek 6: Hluboká neuronová síť

Existují různé typy hlubokých neuronových sítí a rozdíly mezi nimi spočívají v principech jejich fungování, schématu akcí a oblastech použití.

    Konvoluční neuronové sítě (CNN): Většinou se používá pro rozpoznávání obrázků, protože není potřeba kontrolovat všechny pixely jeden po druhém. CNN se skládají ze vstupní vrstvy, výstupní vrstvy a skrytých vrstev. Skryté vrstvy se obvykle skládají z konvolučních vrstev, sdružovacích vrstev a plně propojených vrstev. Konvoluční a max. sdružovací vrstvy fungují jako extraktor prvků a plně propojená vrstva, která provádí nelineární transformace extrahovaných prvků a funguje jako klasifikátor. Konvoluční vrstvy aplikují na vstup operaci konvoluce. Sdružovací vrstva se použije bezprostředně za konvoluční vrstvou ke zmenšení prostorové velikosti (pouze šířka a výška, ne hloubka). Tím se snižuje počet parametrů, a tudíž se snižuje počet výpočtů, a také to pomáhá učinit detektory prvků více invariantní vůči jejich poloze na vstupu. S touto animací je snadné pochopit operaci konvoluce
strojové učení
    Rekurentní neuronová síť (RNN):Rekurentní neuronové sítě jsou třídou neuronových sítí, které umožňují použití předchozích výstupů jako vstupů do modelu. Poprvé byl představen v 80. letech 20. století. RNN se liší od dopředných neuronových sítí, protože využívají speciální typ neuronové sítě, známý jako rekurentní vrstva. Hlavní myšlenkou rekurentní neuronové sítě je využít sekvenční informace. V tradiční neuronové síti, jako je CNN, jsme předpokládali, že všechny vstupy a výstupy jsou na sobě nezávislé. Ale u mnoha úkolů, které nejsou příliš dobrým nápadem, to předpokládat. Předpokládejme, že pokud chceme předpovědět další slovo ve větě, je lepší vědět, která slova před ním byla. RNN se nazývají rekurentní, protože provádějí stejný úkol pro každý prvek sekvence, přičemž výstup je závislý na předchozích výpočtech. Jednoduše řečeno, RNN mají paměť, která zachycuje informace o tom, co bylo dosud spočítáno. Teoreticky jsou RNN schopny používat informace v dlouhých sekvencích, ale v praxi se omezují na ohlédnutí pouze o několik kroků zpět.
Viz také Mohou iPhony dostat viry: Jak zkontrolovat a odstranit viry

Podívejme se na vztah mezi AI, strojovým učením a hlubokým učením pomocí Vennova diagramu

strojové učení

Obrázek 7: Tento obrázek ukazuje vztah mezi hlubokým učením, strojovým učením a umělou inteligencí.

Aplikace umělé inteligence

Existuje mnoho různých oblastí, kde se používá AI. Mezi obory patří marketing, bankovnictví, finance, zemědělství, zdravotnictví, hry, průzkum vesmíru, autonomní vozidla, chatboti, umělá kreativita atd.

Pojďme se podívat na oblast marketingu a bankovnictví.

Marketing

V prvních dnech (když AI není v aplikaci. Existuje pouze v knihách), pokud si chceme koupit nějaký produkt z online obchodu, musíme produkt vyhledat s jeho přesným názvem. Je tedy velmi obtížné najít produkt, pokud neznáme přesný název produktu.

Ale v dnešní době, když hledáme jakoukoli položku v jakémkoli eCommerce obchodě, dostáváme všechny možné výsledky související s položkou. Abychom produkt našli, nemusíme se obtěžovat přesným pravopisem nebo názvem produktu. Dalším příkladem je hledání správných filmů na Netflixu.

Aplikace není omezena na nalezení správného produktu. Pokrok AI je schopen doporučit produkt na základě vašeho zájmu tím, že analyzuje vaši minulou transakci a chuť nakupovat věci. Podle těchto údajů je AI schopna poznat, jaký typ produktu je pro vás relevantní a na základě toho produkt vyfiltruje a doporučí vám jej.

Tímto způsobem hraje umělá inteligence hlavní roli v marketingu a zvyšování online prodeje produktů a tedy společností elektronického obchodování, jako je Flipkart, Amazonka nebo společnosti podobné Netflixu využívají sílu AI k velmi snadnému prodeji svých produktů a dosahování zisku.

Bankovní

V oblasti bankovnictví roste systém AI rychleji. Mnoho bank již přijalo systém AI k poskytování různých služeb, jako je zákaznická podpora, detekce anomálií, podvody s kreditními kartami.

Vezměme si příklad banky HDFC. Vyvinuli chatbota založeného na umělé inteligenci s názvem Electronic Virtual Assistant (EVA). Tento chatbot již řešil více než 3 miliony zákaznických dotazů. Eva dokáže poskytnout jednoduché odpovědi za méně než 0,4 sekundy. Bank of America má svého chatbota jménem Erica. Společnost American Express využívá své chatboty AmEX ve prospěch svých zákazníků.

MasterCard a RBS WorldPay využily AI a hluboké učení k odhalení podvodných transakcí a prevenci podvodů s kartami. Tento systém umělé inteligence ušetřil miliony dolarů. Algoritmy detekce podvodů založené na AI jsou přesnější při odhalování podvodů s přesností více než 95 %. Mají schopnost rychle se přizpůsobit, aby odhalily nové pokusy o podvod v reálném čase.

Nejdůležitější aplikací AI v bankovnictví je řízení rizik, protože odhady ukazují, že průměrná ztráta obchodníků v důsledku podvodných útoků činí 1,5 % jejich ročních příjmů. Společnost JPMorgan také začala používat techniky AI k vývoji systému včasného varování, který detekuje malware, trojské koně a viry. Tento detekční systém údajně identifikuje podezřelé chování dlouho předtím, než jsou zaměstnancům skutečně zaslány podvodné e-maily.

Doporučené články

  • Co je Unsecapp.Exe a je to bezpečnéCo je Unsecapp.exe a je to bezpečné?
  • 15 nejlepších nástrojů a softwaru pro diagramy UML15 nejlepších nástrojů a softwaru pro diagramy UML
  • [OPRAVENO] Systém Windows nemůže získat přístup k zadanému zařízení, cestě nebo chybě souboru[OPRAVENÉ] Systém Windows nemůže získat přístup k zadanému zařízení, cestě nebo chybě souboru
  • 16 oprav pro Windows Update nefunguje ve Windows16 oprav pro Windows Update nefunguje ve Windows
  • 4 opravy pro nastavení AMD Radeon vyhrál4 opravy nastavení AMD Radeon se neotevře
  • Zoom Screenshot Tool: Tipy a trikyZoom Screenshot Tool: Tipy a triky