"Machine learning" tanulásához mit ajánlotok?
"Nem tudom miert pontozzatok le az egyetemet. Aki ilyennel szeretne foglalkozni vagy ez érdekli annak igenis elkell mennie...."
Mert a kérdésből egyértelműen kiderül, hogy a kérdező nem pályaválasztási tanácsot kért, hanem arra kíváncsi, hogy hobbi szinten merre érdemes indulni. Ahogy írta, a Pythonnal is csak nemrég kezdett ismerkedni és nem szándéka ebből megélni.
"Azért, mert ez nekem egy hobbi lenne, az egyetem abszolút overkill."
Csak egy nagy elődöt tudok idézni:
A matematikához nem vezet királyi út.
Euklidész
Bővebben: Ahhoz, hogy a gépi tanulásból bármit kihozz, elég komoly matektudás kell, a metek meg nem olyan, mint a történelem, hogy lehet valaki Tudor-kori specialista úgy is, hogy a Ptolemaiosokról még életében nem hallott.
A matek magasabb szintjeit csak az alsóbb szintek maradéktalan elsajátítása árán lehet elérni.
"A matematikához nem vezet királyi út."
Ez igaz. Az viszont nem, hogy ML-hez csak a magas szintű matematikán keresztül vezet az út. Ha bele akarsz kóstolni a ML-be, akkor itt van pl az a kaggle tutorial, ahol lépésről lépésre végigviszik, hogy ML alkalmazásával hogyan lehet előre jelezni a Titanic utasainak túlélését: [link]
Végigveszik, hogy hogyan olvasd be az input adatokat, hogy tisztítsd meg, és hogyan eressz egy random forest algoritmust az adatokra. Nagy vonalakban még azt is elmagyarázzák, hogy mi az a random forest. Végignyomod a tutorialt és lesz egy elképzelésed arról, hogy mi ez az egész. Kell hozzá magasabb szintű matek? Nem. Kell hozzá egyetemi diploma? Nem. El tudsz helyezkedni ML specialistaként? Nem, de ki a francot érdekel, hiszen nem ez volt a cél.
Szóval tutoriál alapján más kódját összerakod anélkül hogy tudnád mi is történtik. Nagyszerű...nem mondok semmit inkább.
A gépi tanuláshoz nem elég ennyi. Sőt. Nem is programozással kell kezdeni.
"ahhoz, hogy a gépi tanulásból bármit kihozz, elég komoly matektudás kell"
Hallod, inkább ne mondj semmit egy ilyen mondat után.
Teljesen más megérteni a mögöttes matekot, mint készség szinten megismerkedni a már elkészített algoritmusokkal. Elmondom neked, hogy a legtöbb esetben mögöttes matek tudás nélkül használják ezeket, mivel a legtöbb esetben csak felhasználják a kész algoritmust, nem pedig újat fejlesztenek, teljesítményt növelnek.
Ha szeretnél jó, hatékony algoritmusokat írni, akkor igen, kellene fog a matek. Arra, hogy pár adathalmazzal játsz, baromi nem kell semmilyen matek.
"És ezek az emberek nem érnek el semmit akik csak felhasználják. :). Semmi újat nem alkotsz, csak mások munkáját copyzod."
Amikor egy tömb elemeit kell rendezned, ugye sosem használod más emberek kódját, hanem minden esetben implementálod az adatszettednek megfelelő rendezési algoritmust, ugye? Persze, hogy nem. Mert nem az a lényeg, hogy hogyan, hanem az, hogy legyen rendezve a tömb.
A ML pont ugyan ilyen: ML szakembereknek sem az a feladatuk (többnyire), hogy 30 éve leírt algorimusokat implementáljanak, hanem az, hogy felderítsenek összefüggéseket az adatokban. Pont erre a célra lettek kifejlesztve különböző ML könyvtárak (pytorch, sklearn stb.) De most őszintén, te még soha semmilyen ML aklamazást nem fejlesztettél vagy használtál, ugye?
15:
"Teljesen más megérteni a mögöttes matekot, mint készség szinten megismerkedni a már elkészített algoritmusokkal."
Hát, ez a megállapításod szépen megvilágítja, hogy te az életedben még csak közel sem voltál ahhoz, hogy használj ilyesmit.
"ez a megállapításod szépen megvilágítja, hogy te az életedben még csak közel sem voltál ahhoz, hogy használj ilyesmit"
A valóság az, hogy én fejlesztek ilyesmit. Csak sok ismerősöm van más területekről, ahol használják, de a mögöttes matek nem kell.
Pont a te kommented bizonyítja, hogy közöd nincs ehhez, mivel nem látsz rá eléggé az ML algoritmusok felhasználási felületére.
De nem is lenne baj, ha nem értesz hozzá, csak akkor nem kell hülyeségeket írni róla.
Ha mondjuk az a feladat, hogy készítsünk egy körrajzoló függvényt, akkor annak a függvénynek a megértéséhez szükség van legalább annak ismeretére, hogy a rádiusz, a PI-vel és a cosinus függvénnyel milyen kapcsolatban áll. Ha ezt nem érti, akkor a körrajzoló algoritmust sem fogja megérteni.
Az ML használata két szinten értelmezhető.
Az egyik, hogy a user a programba adatot bevisz és a feldolgozott adatokat hasznosítja. A dolog működéáséhez köze nincs.
A másik, hogy a dolog működési mechanizmusát érti, azt képes esetleg módosítani is, úgy, hogy az eredmény egybevágjon az általa elvártakkal.
Na, ez utóbbit szeretné a kérdező, legalábbis szerintem. De ehhez már kelleni fog neki a matek.
Te ezt írtad:
"Teljesen más megérteni a mögöttes matekot, mint készség szinten megismerkedni a már elkészített algoritmusokkal."
Azt hiszem a fentiekből világosan látszik, hogy nincs igazad. Egy algoritmus működésének megértése csak a benne alkalmazott matek ismeretében várható el.
Itt jegyzem meg, hogy aki megért egy algoritmust, az még nem feltétlenül fog tudni implementálni is hasonlót! De legalább érti mi történik. Az user space felhasználó viszont nem érti. Igaz, nem is ez a dolga.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!