Strojno učenje je podmnožica umetne inteligence, ki stroju omogoča samodejno učenje iz podatkov, izboljšanje zmogljivosti iz preteklih izkušenj in napovedovanje . Strojno učenje vsebuje nabor algoritmov, ki delujejo na ogromni količini podatkov. Podatki se posredujejo tem algoritmom, da jih usposobijo, in na podlagi urjenja zgradijo model in izvedejo določeno nalogo.
Ti algoritmi ML pomagajo rešiti različne poslovne težave, kot so regresija, klasifikacija, napovedovanje, združevanje v gruče in povezave itd.
Strojno učenje glede na metode in način učenja delimo predvsem na štiri vrste, ki so:
- Nadzorovano strojno učenje
- Nenadzorovano strojno učenje
- Polnadzorovano strojno učenje
- Okrepitveno učenje
V tej temi bomo podali podroben opis vrst strojnega učenja skupaj z njihovimi ustreznimi algoritmi:
1. Nadzorovano strojno učenje
Kot že ime pove, Nadzorovano strojno učenje temelji na nadzoru. To pomeni, da pri tehniki nadzorovanega učenja usposabljamo stroje z uporabo 'označenega' nabora podatkov in na podlagi usposabljanja stroj napove rezultat. Tukaj označeni podatki določajo, da so nekateri vhodi že preslikani v izhod. Bolj dragoceno, lahko rečemo; najprej usposobimo stroj z vhodom in ustreznim izhodom, nato pa od stroja zahtevamo, da predvidi izhod z uporabo testnega nabora podatkov.
Razumejmo nadzorovano učenje na primeru. Recimo, da imamo vhodni nabor slik mačk in psov. Torej, najprej bomo zagotovili usposabljanje stroja za razumevanje slik, kot je oblika in velikost repa mačke in psa, oblika oči, barva, višina (psi so višji, mačke so manjše) itd. Po končanem usposabljanju vnesemo sliko mačke in zahtevamo od stroja, da identificira predmet in napove rezultat. Zdaj je stroj že dobro izurjen, tako da bo preveril vse lastnosti predmeta, kot so višina, oblika, barva, oči, ušesa, rep itd., in ugotovil, da gre za mačko. Torej ga bo uvrstil v kategorijo Cat. To je postopek, kako naprava identificira predmete v nadzorovanem učenju.
Glavni cilj tehnike nadzorovanega učenja je preslikati vhodno spremenljivko (x) z izhodno spremenljivko (y). Nekatere resnične aplikacije nadzorovanega učenja so Ocena tveganja, odkrivanje goljufij, filtriranje neželene pošte, itd.
Kategorije nadzorovanega strojnega učenja
Nadzorovano strojno učenje je mogoče razvrstiti v dve vrsti težav, ki sta navedeni spodaj:
a) Razvrstitev
Klasifikacijski algoritmi se uporabljajo za reševanje problemov klasifikacije, pri katerih je izhodna spremenljivka kategorična, kot je ' Da ali Ne, moški ali ženska, rdeča ali modra itd . Klasifikacijski algoritmi predvidevajo kategorije, prisotne v naboru podatkov. Nekateri primeri klasifikacijskih algoritmov iz resničnega sveta so Zaznavanje neželene pošte, filtriranje e-pošte itd.
logično v niz
Spodaj je navedenih nekaj priljubljenih algoritmov za razvrščanje:
b) Regresija
Regresijski algoritmi se uporabljajo za reševanje regresijskih problemov, pri katerih obstaja linearna povezava med vhodnimi in izhodnimi spremenljivkami. Uporabljajo se za napovedovanje stalnih izhodnih spremenljivk, kot so tržni trendi, vremenske napovedi itd.
Nekaj priljubljenih regresijskih algoritmov je navedenih spodaj:
Prednosti in slabosti nadzorovanega učenja
Prednosti:
- Ker nadzorovano učenje deluje z označenim naborom podatkov, tako da lahko imamo natančno predstavo o razredih predmetov.
- Ti algoritmi so v pomoč pri napovedovanju rezultatov na podlagi predhodnih izkušenj.
Slabosti:
- Ti algoritmi ne morejo rešiti kompleksnih nalog.
- Lahko predvidi napačen izhod, če se testni podatki razlikujejo od podatkov o usposabljanju.
- Za urjenje algoritma je potrebno veliko računskega časa.
Aplikacije nadzorovanega učenja
Nekatere običajne uporabe nadzorovanega učenja so navedene spodaj:
Pri segmentaciji slik se uporabljajo algoritmi nadzorovanega učenja. V tem procesu se klasifikacija slik izvaja na različnih slikovnih podatkih z vnaprej določenimi oznakami.
Nadzorovani algoritmi se uporabljajo tudi v medicini za diagnostične namene. Izvaja se z uporabo medicinskih slik in preteklih označenih podatkov z oznakami za bolezenska stanja. S takim postopkom lahko stroj identificira bolezen pri novih bolnikih.
2. Nenadzorovano strojno učenje
Učenje brez nadzora g se razlikuje od tehnike nadzorovanega učenja; kot že ime pove, ni potrebe po nadzoru. To pomeni, da se pri nenadzorovanem strojnem učenju stroj uri z uporabo neoznačenega nabora podatkov in stroj predvidi izhod brez kakršnega koli nadzora.
Pri nenadzorovanem učenju se modeli usposabljajo s podatki, ki niso niti klasificirani niti označeni, model pa na te podatke deluje brez nadzora.
Glavni cilj algoritma za nenadzorovano učenje je združiti ali razvrstiti nerazvrščen nabor podatkov glede na podobnosti, vzorce in razlike. Stroji dobijo navodila, naj najdejo skrite vzorce iz vhodnega nabora podatkov.
Vzemimo primer, da ga bolje razumemo; Recimo, da obstaja košara s slikami sadja in jo vnesemo v model strojnega učenja. Slike so modelu popolnoma neznane, naloga stroja pa je najti vzorce in kategorije predmetov.
pretvori int v niz v javi
Tako bo zdaj stroj odkril svoje vzorce in razlike, kot so barvne razlike, razlike v obliki, in predvidel izhod, ko bo testiran s testnim naborom podatkov.
Kategorije nenadzorovanega strojnega učenja
Učenje brez nadzora lahko nadalje razvrstimo v dve vrsti, ki sta navedeni spodaj:
1) Grozdenje
Tehnika združevanja v gruče se uporablja, ko želimo iz podatkov poiskati inherentne skupine. To je način za združevanje predmetov v gručo, tako da objekti z največ podobnosti ostanejo v eni skupini in imajo manj ali nič podobnosti s predmeti drugih skupin. Primer algoritma združevanja v skupine je združevanje strank glede na njihovo nakupovalno vedenje.
Spodaj je navedenih nekaj priljubljenih algoritmov za združevanje v gruče:
2) Združenje
Učenje asociacijskih pravil je nenadzorovana tehnika učenja, ki najde zanimive odnose med spremenljivkami znotraj velikega nabora podatkov. Glavni cilj tega učnega algoritma je najti odvisnost ene podatkovne postavke od druge podatkovne postavke in ustrezno preslikati te spremenljivke, tako da lahko ustvari največji dobiček. Ta algoritem se uporablja predvsem v Analiza tržne košarice, rudarjenje spletne uporabe, kontinuirana proizvodnja itd.
java povratni niz
Nekateri priljubljeni algoritmi učenja asociacijskih pravil so Apriorni algoritem, Eclat, algoritem rasti FP.
Prednosti in slabosti algoritma nenadzorovanega učenja
Prednosti:
- Te algoritme je mogoče uporabiti za zapletene naloge v primerjavi z nadzorovanimi, ker ti algoritmi delujejo na neoznačenem nizu podatkov.
- Nenadzorovani algoritmi so bolj primerni za različne naloge, saj je pridobivanje neoznačenega nabora podatkov lažje v primerjavi z označenim naborom podatkov.
Slabosti:
- Izhod nenadzorovanega algoritma je lahko manj natančen, ker nabor podatkov ni označen, algoritmi pa niso vnaprej usposobljeni z natančnim izhodom.
- Delo z nenadzorovanim učenjem je težje, saj deluje z neoznačenim naborom podatkov, ki se ne preslika z izhodom.
Aplikacije nenadzorovanega učenja
3. Polnadzorovano učenje
Polnadzorovano učenje je vrsta algoritma strojnega učenja, ki je med nadzorovanim in nenadzorovanim strojnim učenjem. . Predstavlja vmesno podlago med algoritmi za nadzorovano (z označenimi podatki o usposabljanju) in algoritmi za nenadzorovano učenje (brez označenih podatkov za usposabljanje) ter uporablja kombinacijo označenih in neoznačenih naborov podatkov med obdobjem usposabljanja.
A Čeprav je delno nadzorovano učenje srednja pot med nadzorovanim in nenadzorovanim učenjem in deluje na podlagi podatkov, ki so sestavljeni iz nekaj oznak, je večinoma sestavljeno iz neoznačenih podatkov. Ker so etikete drage, imajo lahko za poslovne namene malo etiket. Popolnoma se razlikuje od nadzorovanega in nenadzorovanega učenja, saj temeljita na prisotnosti in odsotnosti oznak.
Za premagovanje pomanjkljivosti nadzorovanega učenja in algoritmov nenadzorovanega učenja je uveden koncept delno nadzorovanega učenja. . Glavni cilj delno nadzorovanega učenja je učinkovita uporaba vseh razpoložljivih podatkov in ne le označenih podatkov, kot je pri nadzorovanem učenju. Na začetku so podobni podatki združeni v skupine skupaj z nenadzorovanim učnim algoritmom, nato pa pomaga pri označevanju neoznačenih podatkov v označene podatke. To je zato, ker so označeni podatki sorazmerno dražja pridobitev kot neoznačeni podatki.
Te algoritme si lahko predstavljamo s primerom. Nadzorovano učenje je, kjer je študent pod nadzorom inštruktorja doma in na fakulteti. Nadalje, če ta učenec sam analizira isti koncept brez pomoči inštruktorja, gre za nenadzorovano učenje. Pri delno nadzorovanem učenju se mora študent ponovno pregledati po analizi istega koncepta pod vodstvom inštruktorja na fakulteti.
Prednosti in slabosti delno nadzorovanega učenja
Prednosti:
- Algoritem je preprost in enostaven za razumevanje.
- Je zelo učinkovit.
- Uporablja se za odpravljanje pomanjkljivosti algoritmov nadzorovanega in nenadzorovanega učenja.
Slabosti:
- Rezultati ponovitev morda niso stabilni.
- Teh algoritmov ne moremo uporabiti za podatke na ravni omrežja.
- Natančnost je nizka.
4. Učenje s krepitvijo
Okrepljeno učenje deluje na podlagi procesa, ki temelji na povratnih informacijah, v katerem agent AI (programska komponenta A) samodejno raziskuje svojo okolico z udarjanjem in sledenjem, ukrepanjem, učenjem iz izkušenj in izboljšanjem svoje učinkovitosti. Agent je nagrajen za vsako dobro dejanje in kaznovan za vsako slabo dejanje; zato je cilj agenta za okrepitveno učenje čim večje nagrade.
Pri učenju z okrepitvijo ni označenih podatkov, kot je nadzorovano učenje, in agenti se učijo le iz svojih izkušenj.
Proces učenja s krepitvijo je podoben človeškemu; na primer, otrok se nauči različnih stvari iz izkušenj v svojem vsakdanjem življenju. Primer učenja s krepitvijo je igranje igre, kjer je igra okolje, poteze agenta na vsakem koraku določajo stanja, cilj agenta pa je doseči visoko oceno. Agent prejme povratne informacije v smislu kazni in nagrad.
Zaradi svojega načina dela se utrjevalno učenje uporablja na različnih področjih, kot npr Teorija iger, operacijske raziskave, teorija informacij, večagentni sistemi.
Učni problem z okrepitvijo je mogoče formalizirati z uporabo Markovljev postopek odločanja (MDP). V MDP je agent nenehno v interakciji z okoljem in izvaja dejanja; na vsako dejanje se okolje odzove in ustvari novo stanje.
Kategorije učenja s krepitvijo
Učenje s krepitvijo je kategorizirano predvsem v dve vrsti metod/algoritmov:
psevdokoda java
Primeri uporabe okrepitvenega učenja v resničnem svetu
Algoritmi RL so zelo priljubljeni v igralnih aplikacijah. Uporablja se za pridobitev nadčloveške zmogljivosti. Nekatere priljubljene igre, ki uporabljajo algoritme RL, so AlphaGO in AlphaGO Zero .
Prispevek »Upravljanje virov z učenjem globoke krepitve« je pokazal, kako uporabljati RL v računalniku za samodejno učenje in razporejanje virov, da čakajo na različna opravila, da bi zmanjšali povprečno upočasnitev opravil.
RL se pogosto uporablja v aplikacijah robotike. Roboti se uporabljajo v industriji in proizvodnji, zmogljivejši pa so ti roboti z učenjem s krepitvijo. Obstajajo različne industrije, ki imajo svojo vizijo gradnje inteligentnih robotov z uporabo umetne inteligence in tehnologije strojnega učenja.
Rudarjenje po besedilu, ena od odličnih aplikacij NLP-ja, se zdaj izvaja s pomočjo Reinforcement Learning podjetja Salesforce.
Prednosti in slabosti učenja s krepitvijo
Prednosti
- Pomaga pri reševanju zapletenih problemov iz resničnega sveta, ki jih je težko rešiti s splošnimi tehnikami.
- Učni model RL je podoben učenju ljudi; zato je mogoče najti najbolj natančne rezultate.
- Pomaga pri doseganju dolgoročnih rezultatov.
Slabost
- Algoritmi RL niso prednostni za preproste probleme.
- Algoritmi RL zahtevajo ogromno podatkov in izračunov.
- Preveč učenja s krepitvijo lahko povzroči preobremenitev stanj, kar lahko oslabi rezultate.
Prekletstvo dimenzionalnosti omejuje učenje s krepitvijo za resnične fizične sisteme.