cung Çfarë është një KNN (K-Fqinjët më të afërt)? - Bashkohu.AI
Lidhu me ne
Masterclass i AI:

UA 101

Çfarë është një KNN (K-Fqinjët më të afërt)?

mm
Përditësuar on

Çfarë është K-Neighbors më të afërt (KNN)?

K-Nearest Neighbors është një teknikë dhe algoritëm i mësimit të makinës që mund të përdoret si për detyra regresioni ashtu edhe për klasifikim. K-Fqinjët më të afërt shqyrtuar etiketat e një numri të zgjedhur pikash të dhënash rrethon një pikë të të dhënave të synuar, në mënyrë që të bëhet një parashikim për klasën në të cilën bie pika e të dhënave. K-Nearest Neighbors (KNN) është një algoritëm konceptualisht i thjeshtë por shumë i fuqishëm, dhe për këto arsye, është një nga algoritmet më të njohura të mësimit të makinerive. Le të bëjmë një zhytje të thellë në algoritmin KNN dhe të shohim saktësisht se si funksionon. Të kuptuarit e mirë se si funksionon KNN do t'ju lejojë të vlerësoni rastet më të mira dhe më të këqija të përdorimit për KNN.

Përmbledhje e K-Fqinjëve më të Afërt (KNN)

Foto: Antti Ajanki AnAj nëpërmjet Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

Le të përfytyrojmë një grup të dhënash në një plan 2D. Imagjinoni një grup pikash të dhënash në një grafik, të shpërndara përgjatë grafikut në grupime të vogla. KNN ekzaminon shpërndarjen e pikave të të dhënave dhe, në varësi të argumenteve që i jepen modelit, i ndan pikat e të dhënave në grupe. Këtyre grupeve më pas u caktohet një etiketë. Supozimi kryesor që bën një model KNN është se pikat/instancat e të dhënave që ekzistojnë në afërsi me njëra-tjetrën janë shumë të ngjashme, ndërsa nëse një pikë e të dhënave është larg nga një grup tjetër, është e ndryshme me ato pika të dhënash.

Një model KNN llogarit ngjashmërinë duke përdorur distancën midis dy pikave në një grafik. Sa më e madhe të jetë distanca midis pikave, aq më pak të ngjashme janë ato. Ka shumë mënyra për të llogaritur distancën midis pikave, por metrika më e zakonshme e distancës është vetëm distanca Euklidiane (distanca midis dy pikave në një vijë të drejtë).

KNN është një algoritëm i mbikqyrur mësimor, që do të thotë se shembujt në grupin e të dhënave duhet të kenë etiketa të caktuara për to/ klasat e tyre duhet të jenë të njohura. Ka dy gjëra të tjera të rëndësishme për të ditur rreth KNN. Së pari, KNN është një algoritëm joparametrik. Kjo do të thotë se nuk bëhen supozime për grupin e të dhënave kur përdoret modeli. Përkundrazi, modeli është ndërtuar tërësisht nga të dhënat e ofruara. Së dyti, nuk ka ndarje të të dhënave në grupe trajnimi dhe testimi kur përdoret KNN. KNN nuk bën përgjithësime midis një grupi trajnimi dhe testimi, kështu që të gjitha të dhënat e trajnimit përdoren gjithashtu kur modelit i kërkohet të bëjë parashikime.

Si funksionon një algoritëm KNN

Një algoritëm KNN kalon nëpër tre faza kryesore ndërsa kryhet:

  1. Vendosja e K në numrin e zgjedhur të fqinjëve.
  2. Llogaritja e distancës midis një shembulli të dhënë/testit dhe shembujve të të dhënave.
  3. Renditja e distancave të llogaritura.
  4. Marrja e etiketave të K hyrjeve kryesore.
  5. Kthimi i një parashikimi për shembullin e testit.

Në hapin e parë, K zgjidhet nga përdoruesi dhe i tregon algoritmit se sa fqinjë (sa pika të dhënash përreth) duhet të merren parasysh kur jepet një gjykim për grupin të cilit i përket shembulli i synuar. Në hapin e dytë, vini re se modeli kontrollon distancën midis shembullit të synuar dhe çdo shembulli në grupin e të dhënave. Distancat më pas shtohen në një listë dhe renditen. Më pas, kontrollohet lista e renditur dhe kthehen etiketat për elementët kryesorë K. Me fjalë të tjera, nëse K është vendosur në 5, modeli kontrollon etiketat e 5 pikave të të dhënave më të afërta me pikën e të dhënave të synuar. Kur jepni një parashikim për pikën e të dhënave të synuar, ka rëndësi nëse detyra është a regres or klasifikim detyrë. Për një detyrë regresioni, përdoret mesatarja e etiketave K të sipërme, ndërsa mënyra e etiketave K të sipërme përdoret në rastin e klasifikimit.

Operacionet e sakta matematikore të përdorura për të kryer KNN ndryshojnë në varësi të metrikës së zgjedhur të distancës. Nëse dëshironi të mësoni më shumë se si llogariten metrikat, mund të lexoni për disa nga metrikat më të zakonshme të distancës, si p.sh. Euklidiane, Manhatëndhe Minkowski.

Pse ka rëndësi vlera e K

Kufizimi kryesor kur përdoret KNN është se në një vlerë të papërshtatshme të K (numri i gabuar i fqinjëve që duhet të merret parasysh) mund të zgjidhet. Nëse kjo ndodh, parashikimet që kthehen mund të jenë në mënyrë të konsiderueshme jashtë. Është shumë e rëndësishme që kur përdorni një algoritëm KNN, të zgjidhet vlera e duhur për K. Ju dëshironi të zgjidhni një vlerë për K që maksimizon aftësinë e modelit për të bërë parashikime mbi të dhënat e padukshme duke reduktuar numrin e gabimeve që bën.

Foto: Agor153 nëpërmjet Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

Vlerat më të ulëta të K nënkuptojnë se parashikimet e bëra nga KNN janë më pak të qëndrueshme dhe të besueshme. Për të marrë një intuitë se pse është kështu, merrni parasysh një rast ku kemi 7 fqinjë rreth një pike të të dhënave të synuar. Le të supozojmë se modeli KNN është duke punuar me një vlerë K prej 2 (po i kërkojmë të shikojë dy fqinjët më të afërt për të bërë një parashikim). Nëse shumica dërrmuese e fqinjëve (pesë nga shtatë) i përkasin klasës Blu, por dy fqinjët më të afërt thjesht janë Red, modeli do të parashikojë që shembulli i pyetjes është Red. Pavarësisht supozimit të modeles, në një skenar të tillë Blu do të ishte një supozim më i mirë.

Nëse është kështu, pse të mos zgjedhim vetëm vlerën më të lartë K që mundemi? Kjo sepse t'i thuash modelit të marrë parasysh shumë fqinjë do të zvogëlojë gjithashtu saktësinë. Ndërsa rrezja që modeli KNN konsideron rritet, ai përfundimisht do të fillojë të marrë në konsideratë pikat e të dhënave që janë më afër grupeve të tjera sesa ato janë pika e të dhënave të synuara dhe klasifikimi i gabuar do të fillojë të ndodhë. Për shembull, edhe nëse pika që u zgjodh fillimisht ishte në një nga rajonet e kuqe të mësipërme, nëse K ishte vendosur shumë lart, modeli do të arrinte në rajonet e tjera për të marrë parasysh pikat. Kur përdorni një model KNN, vlera të ndryshme të K-së provohen për të parë se cila vlerë i jep modelit performancën më të mirë.

Të mirat dhe të këqijat e KNN

Le të shqyrtojmë disa nga të mirat dhe të këqijat e modelit KNN.

Pro:

KNN mund të përdoret si për detyrat e regresionit ashtu edhe për klasifikimin, ndryshe nga disa algoritme të tjera mësimore të mbikëqyrura.

KNN është shumë i saktë dhe i thjeshtë për t'u përdorur. Është e lehtë për t'u interpretuar, kuptuar dhe zbatuar.

KNN nuk bën asnjë supozim në lidhje me të dhënat, që do të thotë se ato mund të përdoren për një shumëllojshmëri të gjerë problemesh.

Cons:

KNN ruan shumicën ose të gjitha të dhënat, që do të thotë se modeli kërkon shumë memorie dhe është i shtrenjtë nga ana llogaritëse. Grupet e mëdha të të dhënave gjithashtu mund të bëjnë që parashikimet të zgjasin shumë.

KNN provon të jetë shumë i ndjeshëm ndaj shkallës së grupit të të dhënave dhe mund të hidhet jashtë nga karakteristika të parëndësishme mjaft lehtë në krahasim me modelet e tjera.

Përmbledhje e K-Fqinjëve më të Afërt (KNN)

K-Nearest Neighbors është një nga algoritmet më të thjeshtë të mësimit të makinerive. Pavarësisht se sa e thjeshtë është KNN, në koncept, është gjithashtu një algoritëm i fuqishëm që jep saktësi mjaft të lartë në shumicën e problemeve. Kur përdorni KNN, sigurohuni që të eksperimentoni me vlera të ndryshme të K në mënyrë që të gjeni numrin që ofron saktësinë më të lartë.

Bloger dhe programues me specialitete në Mësim Machine Mësim i thellë temave. Daniel shpreson të ndihmojë të tjerët të përdorin fuqinë e AI për të mirën sociale.