Nadzorovano učenje proti algoritmom nenadzorovanega učenja

Nadzorovano učenje proti algoritmom nenadzorovanega učenja

Predstavitev

Strojno učenje (ML) je študijsko področje, ki se osredotoča na razvijanje algoritmov za samodejno učenje iz podatkov, napovedovanje in sklepanje vzorcev, ne da bi nam bilo izrecno rečeno, kako to storiti. Njegov namen je ustvariti sisteme, ki se samodejno izboljšujejo z izkušnjami in podatki.

To je mogoče doseči z nadzorovanim učenjem, kjer se model usposablja z uporabo označenih podatkov za izdelavo napovedi, ali z nenadzorovanim učenjem, kjer želi model odkriti vzorce ali korelacije v podatkih brez posebnih ciljnih rezultatov, ki bi jih bilo treba predvideti.

ML se je pojavil kot nepogrešljivo in široko uporabljeno orodje v različnih disciplinah, vključno z računalništvom, biologijo, financami in trženjem. Dokazal je svojo uporabnost v različnih aplikacijah, kot so klasifikacija slik, obdelava naravnega jezika in odkrivanje goljufij.

Naloge strojnega učenja

Strojno učenje je mogoče na splošno razvrstiti v tri glavne naloge:

  • Nadzorovano učenje
  • Nenadzorovano učenje
  • Okrepitveno učenje

Tu se bomo osredotočili na prva dva primera.

Strojno učenje

Nadzorovano učenje

Nadzorovano učenje vključuje usposabljanje modela na označenih podatkih, kjer so vhodni podatki povezani z ustreznim izhodom ali ciljno spremenljivko. Cilj je naučiti se funkcije, ki lahko preslika vhodne podatke v pravilen izhod. Pogosti algoritmi nadzorovanega učenja vključujejo linearno regresijo, logistično regresijo, drevesa odločitev in podporne vektorske stroje.

Primer kode za nadzorovano učenje z uporabo Pythona:

from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(X_train, y_train) predictions = model.predict(X_test)

V tem preprostem primeru kode usposabljamo LinearRegression algoritem scikit-learn na naših podatkih o usposabljanju in ga nato uporabite za pridobitev napovedi za naše testne podatke.

Linearna regresija

Eden primerov uporabe nadzorovanega učenja v resničnem svetu je razvrščanje vsiljene e-pošte. Z eksponentno rastjo e-poštne komunikacije je prepoznavanje in filtriranje neželene e-pošte postalo ključnega pomena. Z uporabo algoritmov za nadzorovano učenje je mogoče usposobiti model za razlikovanje med zakonito e-pošto in neželeno pošto na podlagi označenih podatkov.

Model nadzorovanega učenja je mogoče učiti na naboru podatkov, ki vsebuje e-poštna sporočila, označena kot »neželena pošta« ali »ni neželena pošta«. Model se nauči vzorcev in funkcij iz označenih podatkov, kot so prisotnost določenih ključnih besed, struktura e-pošte ali informacije o pošiljatelju e-pošte. Ko je model usposobljen, ga je mogoče uporabiti za samodejno razvrščanje dohodnih e-poštnih sporočil kot neželene ali neželene e-pošte, kar učinkovito filtrira neželena sporočila.

Nenadzorovano učenje

Pri nenadzorovanem učenju so vhodni podatki neoznačeni, cilj pa je odkriti vzorce ali strukture znotraj podatkov. Cilj algoritmov za nenadzorovano učenje je iskanje smiselnih predstavitev ali skupin v podatkih.

Primeri algoritmov za nenadzorovano učenje vključujejo k-pomeni združevanje v gruče, hierarhično združevanjein analiza glavnih komponent (PCA).

Primer kode za nenadzorovano učenje:

from sklearn.cluster import KMeans model = KMeans(n_clusters=3) model.fit(X) predictions = model.predict(X_new)

V tem preprostem primeru kode usposabljamo KMeans algoritem iz scikit-learn za prepoznavanje treh skupin v naših podatkih in nato v te skupine prilega nove podatke.

Grozdenje

Primer primera uporabe nenadzorovanega učenja je segmentacija strank. V različnih panogah si podjetja prizadevajo bolje razumeti svojo bazo strank, da lahko prilagodijo svoje tržne strategije, prilagodijo svoje ponudbe in optimizirajo izkušnje strank. Nenadzorovane učne algoritme je mogoče uporabiti za segmentacijo strank v ločene skupine na podlagi njihovih skupnih značilnosti in vedenja.

Oglejte si naš praktični, praktični vodnik za učenje Gita z najboljšimi praksami, standardi, sprejetimi v panogi, in priloženo goljufijo. Nehajte Googlati ukaze Git in pravzaprav naučiti it!

Z uporabo nenadzorovanih učnih tehnik, kot je združevanje v gruče, lahko podjetja odkrijejo pomembne vzorce in skupine v svojih podatkih o strankah. Na primer, algoritmi združevanja v gruče lahko identificirajo skupine strank s podobnimi nakupovalnimi navadami, demografskimi podatki ali preferencami. Te informacije je mogoče uporabiti za ustvarjanje ciljno usmerjenih trženjskih kampanj, optimizacijo priporočil za izdelke in izboljšanje zadovoljstva strank.

Glavni razredi algoritmov

Algoritmi nadzorovanega učenja

  1. Linearni modeli: Uporabljajo se za napovedovanje zveznih spremenljivk na podlagi linearnih odnosov med funkcijami in ciljno spremenljivko.

  2. Drevesni modeli: izdelani z uporabo niza binarnih odločitev za napovedovanje ali klasifikacijo.

  3. Ansambelski modeli: Metoda, ki združuje več modelov (drevesnih ali linearnih) za natančnejše napovedi.

  4. Modeli nevronske mreže: metode, ki temeljijo na človeških možganih, kjer več funkcij deluje kot vozlišča omrežja.

Algoritmi za nenadzorovano učenje

  1. Hierarhično združevanje v gruče: gradi hierarhijo gruč tako, da jih iterativno združuje ali deli.

  2. Nehierarhično združevanje v gruče: razdeli podatke v ločene gruče na podlagi podobnosti.

  3. Zmanjšanje dimenzionalnosti: Zmanjša dimenzionalnost podatkov, hkrati pa ohrani najpomembnejše informacije.

Vrednotenje modela

Nadzorovano učenje

Za ovrednotenje uspešnosti modelov nadzorovanega učenja se uporabljajo različne metrike, vključno s točnostjo, natančnostjo, priklicem, oceno F1 in ROC-AUC. Tehnike navzkrižne validacije, kot je k-kratna navzkrižna validacija, lahko pomagajo oceniti uspešnost posploševanja modela.

Nenadzorovano učenje

Vrednotenje algoritmov za nenadzorovano učenje je pogosto bolj zahtevno, saj ni temeljne resnice. Meritve, kot je rezultat silhuete ali vztrajnost, se lahko uporabijo za oceno kakovosti rezultatov združevanja v gruče. Tehnike vizualizacije lahko zagotovijo tudi vpogled v strukturo grozdov.

Nasveti in triki

Nadzorovano učenje

  • Vnaprej obdelajte in normalizirajte vhodne podatke za izboljšanje zmogljivosti modela.
  • Ustrezno obravnavajte manjkajoče vrednosti, bodisi z imputacijo ali odstranitvijo.
  • Inženiring funkcij lahko izboljša sposobnost modela za zajemanje ustreznih vzorcev.

Nenadzorovano učenje

  • Izberite ustrezno število grozdov na podlagi poznavanja področja ali z uporabo tehnik, kot je metoda komolca.
  • Upoštevajte različne metrike razdalje za merjenje podobnosti med podatkovnimi točkami.
  • Uredite postopek združevanja v gruče, da se izognete prekomernemu opremljanju.

Če povzamemo, strojno učenje vključuje številne naloge, tehnike, algoritme, metode vrednotenja modela in koristne namige. Z razumevanjem teh vidikov lahko strokovnjaki učinkovito uporabijo strojno učenje za težave v resničnem svetu in pridobijo pomembne vpoglede iz podatkov. Podani primeri kode prikazujejo uporabo nadzorovanih in nenadzorovanih učnih algoritmov ter poudarjajo njihovo praktično implementacijo.

Časovni žig:

Več od Stackabuse