Video: SCP-093 Red Sea Object | euclid | portal / extradimensional scp 2024
Oavsett om maskininlärningsproblemet är att gissa ett tal eller en klass, Tanken bakom inlärningsstrategin för k-NN-algoritmen är alltid densamma. Algoritmen finner de mest likartade observationerna till den du måste förutsäga och från vilken du får en bra intuition av det möjliga svaret genom att medelvärda de närliggande värdena eller genom att välja den vanligaste svarklassen bland dem.
Lärandestrategin i ett kNN är mer som memorisering. Det är precis som att komma ihåg vad svaret ska vara när frågan har vissa egenskaper (baserat på omständigheter eller tidigare exempel) istället för att verkligen veta svaret, eftersom du förstår frågan med hjälp av specifika klassificeringsregler. På ett sätt definieras kNN ofta som en lat algoritm eftersom ingen riktig inlärning görs under träningstiden, bara datainspelning.
Att vara en lat algoritm innebär att kNN är ganska snabb vid träning men väldigt långsam för att förutsäga. (De flesta sökande aktiviteterna och beräkningarna på grannarna görs vid den tiden.) Det innebär också att algoritmen är ganska minnesintensiv eftersom du måste lagra din dataset i minnet (vilket innebär att det finns en gräns för möjliga applikationer när hantera stora data).
Idealiskt kan kNN göra skillnaden när du arbetar med att klassificera och du har många etiketter att hantera (till exempel när en programvaruagent postar en tagg på ett socialt nätverk eller när man lägger fram en säljrekommendation). kNN kan enkelt hantera hundratals etiketter, medan andra inlärningsalgoritmer måste ange en annan modell för varje etikett.
Vanligtvis fungerar kNN grannarna av en observation efter att ha använt en mått av avstånd som euklidisk (det vanligaste valet) eller Manhattan (fungerar bättre när du har många överflödiga funktioner i dina data). Det finns inga absoluta regler om vilken distansåtgärd som är bäst att använda. Det beror verkligen på genomförandet du har. Du måste också testa varje distans som en distinkt hypotes och verifiera genom tvärvalidering om vilken åtgärd som fungerar bättre med det problem du löser.