Kako začeti s strojnim učenjem

Poskusi oblikovanja strojev pametnejši od ljudi niso novi. Eden zelo zgodnjih napadov računalniške znanosti na človekovo “inteligenco” je bil skozi igra šaha. Šah je (ali naj rečemo, da je bil?) Marsikdo prevzel kot vrhunski test človekovega intelekta in ustvarjalnosti; v šestdesetih in sedemdesetih letih prejšnjega stoletja so znotraj računalništva obstajale različne šole razmišljanja.


Nekateri so menili, da je samo vprašanje časa, kdaj bodo računalniki prehiteli ljudi pri igranju šaha, drugi pa so verjeli, da se to nikoli ne bo zgodilo.

Kasparov proti Deep Blue

Najbolj senzacionalen dogodek, ki je v boju z mislimi prikazal človeka proti strojem, je bil šah iz leta 1996 med takratnim svetovnim prvakom Garryjem Kasparovom (in zagotovo najboljši šahist doslej) in Temno modra, superračunalnik, ki ga je IBM oblikoval prav za ta dogodek.

Kreditna slika: Wikipedija

Če za konec skratimo, je Kasparov prepričljivo zmagal na tekmi leta 1996 (4-2), a je izgubil revanš 1997 (4,5-3,5), veliko polemiko in Kasparovih neposrednih varanj obtožb zoper IBM.

Ne glede na to je bilo obdobje šaha in računalništva konec. Računalniki so imeli naslov pametnejši od katerega koli živega človeka. IBM, vesel maščevanja, je razstavil Deep Blue in nadaljeval.

Danes je nemogoče, da bi kateri koli velemojster premagal vsakega običajnega šahovskega motorja, ki deluje na osnovni strojni opremi.

Kaj strojnega učenja ni

Preden si bolj podrobno ogledamo strojno učenje, naj nas odmaknejo nekatere napačne predstave. Strojno učenje z nobenim dometom ni poskus posnemanja človeških možganov. Kljub senzacionalističnim prepričanjem pripadnikov Elona Muska, raziskave računalništva trdijo, da ne iščejo tega svetega žita in zagotovo niso nikjer blizu tega.

Preprosto povedano, strojno učenje je praksa uporabe procesov učenja na primeru na računalnikih. To je v nasprotju s tradicionalnim pristopom, da se zanašajo na človeškega programerja, da si zamisli vse možne scenarije in pravila trdega koda v sistem.

Iskreno, to je tisto, kar pomeni strojno učenje: hranjenje ton in ton in ton podatkov v računalnik, da se lahko uči iz primerov (preizkus → napaka → primerjava → izboljšanje), namesto da se zanaša na izvorno kodo.

Uporaba strojnega učenja

Torej, če strojno učenje ni črna magija in ne bo ničesar, kar bo sprožilo Terminatorje, kaj je koristno za?

Strojno učenje pomaga v primerih, ko tradicionalno programiranje izgine, in ti primeri običajno spadajo v eno od obeh kategorij.

  1. Razvrstitev
  2. Napoved

Kot pove že ime, se klasifikacija nanaša na pravilno označevanje stvari, medtem ko želi napoved popraviti prihodnje projekcije glede na dovolj velik nabor podatkov o preteklih vrednostih.

Nekateri zanimive aplikacije Strojnega učenja so:

Filtriranje neželene pošte

Neželena pošta e-pošte je razširjena, toda poskusiti je preprečiti, je lahko nočna mora. Kako je definirana neželena pošta? Ali gre za prisotnost določenih ključnih besed? Ali morda tako, kot je napisano? Programsko je težko izmisliti izčrpen sklop pravil.

Zato uporabljamo strojno učenje. Sistemu pokažemo na milijone neželenih sporočil in ne-neželenih sporočil ter pustimo, da razbere ostalo. V tem je bila skrivnost neverjetnih dobrih filtrov za neželeno pošto, ki so v začetku 2000-ih pretresli osebno e-pošto!

Priporočila

Vsa večja podjetja za e-trgovino imajo danes zmogljive sisteme priporočil. Včasih je njihova sposobnost, da priporočajo stvari, ki bi se jim lahko zdele uporabne, izjemno natančna, čeprav še nikoli nismo kliknili na to postavko.

Naključje? Sploh ne!

Strojno učenje je tu težko delati, povišati terabajte po terabajtih podatkov in poskušati napovedati naše spremenljivo razpoloženje in želje.

Klepeti

Ste naleteli na podporo strankam na prvi ravni, ki se je zdela čudno robotizirana in je kljub temu lahko vodila zanimive pogovore?

No, potem vas je prešinilo strojno učenje!

Učenje iz pogovorov in določanje, kaj povedati, kdaj je prihajajoče in vznemirljivo področje aplikacije chatbot.

Odstranjevanje plevela

V kmetijstvu se roboti, ki jih poganja strojno učenje, uporabljajo za selektivno škropljenje plevela in drugih nezaželenih rastlin sredi poljščin.

V nasprotnem primeru bi to morali storiti ročno ali pa bi bilo divje potratno, saj bi sistem poškropil izdelke tudi z ubijalsko tekočino!

Glasovno iskanje

Glasovna interakcija z računalniškimi sistemi ni več znanstvena fantastika. Danes imamo digitalne pomočnike, kot so Alexa, Siri in Google Home, ki lahko ukaze sprejemajo ustno in ne zmedejo (no, skoraj!).

Nekateri bi lahko trdili, da se je izumu najbolje izogniti, saj človeški rod postane laziran kot kdajkoli prej, vendar se z učinkovitostjo ne morete trditi. Na primer, v podjetju Google I / O 2018 je podjetje podalo oceno osupljiv demo tega, kar se je lotila njegova raziskovalna skupina.

Medicinska diagnoza

Na robu smo revolucije v medicinski diagnostiki, saj sistemi, ki temeljijo na strojnem učenju, začenjajo prekašati izkušene zdravnike v diagnoza s pomočjo rentgenskih žarkov itd.

Upoštevajte, da to ne pomeni, da zdravniki kmalu ne bodo potrebni, ampak da bo kakovost zdravstvene oskrbe močno naraščala, stroški pa bodo padli (razen če poslovni karteli ne narekujejo drugače!).

To je bil le vzorec tega, za kar se uporablja strojno učenje. Avtomobili, ki se vozijo samostojno, strateško igranje botov, zložljivi stroji za majice, lomljenje captcha, barvanje črno-belih fotografij – v teh dneh se veliko dogaja.

Vrste strojnega učenja

Tehnike strojnega učenja sta dve vrsti.

Nadzorovano učenje, v katerem je sistem usmerjen s človeško presojo, in Nenadzorovano učenje, v katerem je sistem prepuščen, da se vse nauči sam. Drug način, da rečemo isto, bi bilo, da imamo v Nadzorovanem učenju nabor podatkov, ki vsebuje vhode in pričakovani izhod, ki jih sistem uporablja za primerjavo in samopopravljanje. Vendar pri nenadzorovanem učenju ni nobenega izida, ki bi ga merili, in tako se lahko rezultati zelo razlikujejo.

Navdušujoča in ohlajujoča aplikacija nenadzorovanega strojnega učenja?

To bi bili boti, ki igrajo družabne igre, v katerih se program nauči pravil igre in zmagovalnih pogojev, nato pa jih prepusti lastnim napravam. Program nato odigra na milijone iger proti sebi, se uči iz svojih napak in okrepi ugodne odločitve.

Če imate dovolj zmogljiv računalnik, se lahko v nekaj urah pripravi svetovno igranje AI, ki se bije v svetu!

Naslednje slike nazorno prikazujejo te ideje (vir: Srednja):

Viri za začetek strojnega učenja

Torej, ko ste že vsi razburjeni o strojnem učenju in kako vam lahko pomaga osvojiti svet, kje začeti?

Spodaj sem navedel nekaj fantastičnih virov na spletu, ki vam lahko pomagajo doseči tekoče strojno učenje, ne da bi morali pridobiti doktorat. v računalništvu! Če niste raziskovalec strojnega učenja, se vam zdi področje strojnega učenja enako praktično in prijetno kot programiranje na splošno..

Torej, ne skrbite, ne glede na trenutno raven, lahko kot dober program strojnega učenja podučite sebe in se izboljšate. ��

Programiranje

Prva zahteva za vključitev v strojno učenje je učenje programiranja. To je zato, ker sistemi strojnega učenja prihajajo v obliki knjižnic za različne programske jezike.

Najbolj priporočljiv je Python, deloma zato, ker je neverjetno prijeten za učenje, deloma pa zato, ker ima ogromen ekosistem knjižnic in virov.

The uradni Vodnik za začetnike je odličen kraj za začetek, četudi ste Python že nekoliko seznanjeni. Ali pa vzemite to Tečaj Bootcamp postati junak iz ničle.

Misli statistika

Ko končate z osnovami Pythona, bi moje drugo priporočilo, da se podružite po dveh neverjetno dobrih knjigah. So 100% brezplačno in je na voljo kot PDF za prenos. Misli statistika in Misli Bayes sta dve sodobni klasiki, ki bi ju moral vsak poizvedeni inženir strojnega učenja ponotranjiti.

Udemy

V tem trenutku priporočam, da si ogledate nekaj tečajev Udemy. Interaktivni format s samostojno hitrostjo vam bo pomagal priti v trdoživo dušico in graditi samozavest.

Preden začnete, si oglejte predogled tečaja, ocene (zlasti negativne!) In splošno občutek tečaja.

Brezplačno lahko na YouTubu naletite tudi na neverjetne vaje. Sentdex je eden takšnih kanalov, ki ga lahko priporočim, kjer se vedno znova zabava, vendar pristop, ki ga je uporabil, ni prijazen začetnikom.

Andrew Ng

Tečaj, ki ga predava Andrew Ng Coursera je zagotovo najbolj priljubljen učni vir za osnove strojnega učenja.

Čeprav uporablja programski jezik R, ostaja brez primere pri obravnavi teme in lucidnih razlag. Zaradi tega tečaja je Andrew Ng v krogih ML dosegel nekoliko božje drže in ljudje se za njega trudijo za vrhunsko modrost (ne šalim!).

To res ni tečaj za začetnike, toda če ste že v dobrem branju podatkov in nimate ničesar pri stranskih raziskavah, je ta tečaj najboljše priporočilo.

Res je, da viri na internetu nimajo konca in se zlahka izgubite, ko začnete. Večina vaj in razprav tam je matematično zahtevnih ali pa jim manjka struktura in vam lahko poruši samozavest, preden sploh začnete.

Torej, rad bi vas opozoril pred samouničenjem: naj bo cilj skromen in se premikajte v minimalnih korakih. Strojno učenje ni nekaj, kar vam lahko postane udobno v dnevu ali dveh, a kmalu začnete uživati ​​v sebi in kdo ve, morda celo ustvarite nekaj zastrašujočega!

Zabavaj se! ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map