სტუბი რა არის KNN (K- უახლოესი მეზობლები)? - გაერთიანდი.აი
დაკავშირება ჩვენთან ერთად
AI მასტერკლასი:

AI 101

რა არის KNN (K- უახლოესი მეზობლები)?

mm
განახლებულია on

რა არის K- უახლოესი მეზობლები (KNN)?

K-Nearest Neighbors არის მანქანათმცოდნეობის ტექნიკა და ალგორითმი, რომელიც შეიძლება გამოყენებულ იქნას როგორც რეგრესიის, ასევე კლასიფიკაციის ამოცანებისთვის. K- უახლოესი მეზობლები შემოწმება არჩეული რაოდენობის მონაცემების ეტიკეტები სამიზნე მონაცემთა წერტილის გარშემო, რათა მოხდეს პროგნოზის გაკეთება იმ კლასის შესახებ, რომელშიც შედის მონაცემთა წერტილი. K-Nearest Neighbors (KNN) არის კონცეპტუალურად მარტივი, მაგრამ ძალიან ძლიერი ალგორითმი და ამ მიზეზების გამო, ის ერთ-ერთი ყველაზე პოპულარული მანქანათმცოდნეობის ალგორითმია. მოდით ღრმად ჩავუღრმავდეთ KNN ალგორითმს და ვნახოთ ზუსტად როგორ მუშაობს იგი. იმის გაგება, თუ როგორ მუშაობს KNN, საშუალებას მოგცემთ დააფასოთ KNN-ის გამოყენების საუკეთესო და ყველაზე ცუდი შემთხვევები.

K- უახლოესი მეზობლების მიმოხილვა (KNN)

ფოტო: Antti Ajanki AnAj Wikimedia Commons-ის მეშვეობით, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

მოდით წარმოვიდგინოთ მონაცემთა ნაკრები 2D სიბრტყეზე. წარმოიდგინეთ დიაგრამაზე მონაცემთა წერტილების თაიგულები, რომლებიც განაწილებულია გრაფიკის გასწვრივ მცირე კლასტერებში. KNN იკვლევს მონაცემთა წერტილების განაწილებას და, მოდელისთვის მიცემული არგუმენტებიდან გამომდინარე, მონაცემთა წერტილებს ჯგუფებად ჰყოფს. შემდეგ ამ ჯგუფებს ენიჭება ეტიკეტი. პირველადი დაშვება, რომელსაც KNN მოდელი აკეთებს, არის ის, რომ მონაცემთა წერტილები/მაგალითები, რომლებიც არსებობენ ერთმანეთთან ახლოს, ძალიან მსგავსია, ხოლო თუ მონაცემთა წერტილი შორს არის სხვა ჯგუფისგან, ის განსხვავებულია ამ მონაცემთა წერტილებისგან.

KNN მოდელი ითვლის მსგავსებას გრაფიკის ორ წერტილს შორის მანძილის გამოყენებით. რაც უფრო დიდია მანძილი წერტილებს შორის, მით ნაკლებია ისინი მსგავსი. წერტილებს შორის მანძილის გამოსათვლელად მრავალი გზა არსებობს, მაგრამ ყველაზე გავრცელებული მანძილის მეტრიკა არის მხოლოდ ევკლიდური მანძილი (სწორი ხაზის ორ წერტილს შორის მანძილი).

KNN არის ზედამხედველობითი სწავლის ალგორითმი, რაც ნიშნავს, რომ მონაცემთა ნაკრების მაგალითებს უნდა ჰქონდეთ მათთვის მინიჭებული ეტიკეტები/მათი კლასები უნდა იყოს ცნობილი. არსებობს კიდევ ორი ​​მნიშვნელოვანი რამ, რაც უნდა იცოდეთ KNN-ის შესახებ. პირველი, KNN არის არაპარამეტრული ალგორითმი. ეს ნიშნავს, რომ მოდელის გამოყენებისას მონაცემთა ნაკრების შესახებ არანაირი ვარაუდი არ კეთდება. პირიქით, მოდელი აგებულია მთლიანად მოწოდებული მონაცემებიდან. მეორეც, KNN-ის გამოყენებისას მონაცემთა ნაკრების დაყოფა არ ხდება სასწავლო და სატესტო ნაკრებებად. KNN არ აკეთებს განზოგადებებს სასწავლო და ტესტირების კომპლექტს შორის, ამიტომ ყველა სასწავლო მონაცემი ასევე გამოიყენება, როდესაც მოდელს სთხოვენ პროგნოზების გაკეთებას.

როგორ მუშაობს KNN ალგორითმი

KNN ალგორითმი განხორციელებისას გადის სამ ძირითად ფაზას:

  1. K-ის დაყენება მეზობლების არჩეულ რაოდენობაზე.
  2. მოწოდებულ/სატესტო მაგალითსა და მონაცემთა ნაკრების მაგალითებს შორის მანძილის გაანგარიშება.
  3. გამოთვლილი მანძილების დალაგება.
  4. საუკეთესო K ჩანაწერების ეტიკეტების მიღება.
  5. პროგნოზის დაბრუნება ტესტის მაგალითის შესახებ.

პირველ საფეხურზე K ირჩევს მომხმარებლის მიერ და ის ეუბნება ალგორითმს, რამდენი მეზობელი (რამდენი მიმდებარე მონაცემთა წერტილი) უნდა იყოს გათვალისწინებული, როდესაც მსჯელობს იმ ჯგუფის შესახებ, რომელსაც ეკუთვნის სამიზნე მაგალითი. მეორე ეტაპზე, გაითვალისწინეთ, რომ მოდელი ამოწმებს მანძილს სამიზნე მაგალითსა და მონაცემთა ნაკრების ყველა მაგალითს შორის. შემდეგ დისტანციები ემატება სიას და დალაგებულია. ამის შემდეგ მოწმდება დახარისხებული სია და ბრუნდება ზედა K ელემენტების ეტიკეტები. სხვა სიტყვებით რომ ვთქვათ, თუ K დაყენებულია 5-ზე, მოდელი ამოწმებს სამიზნე მონაცემთა წერტილთან ტოპ 5 უახლოესი მონაცემთა წერტილის ეტიკეტებს. სამიზნე მონაცემთა წერტილის შესახებ პროგნოზის გაკეთებისას მნიშვნელოვანია, ამოცანა არის თუ არა რეგრესიის or კლასიფიკაციით დავალება. რეგრესიის ამოცანისთვის გამოიყენება ზედა K ეტიკეტების საშუალო, ხოლო კლასიფიკაციის შემთხვევაში გამოიყენება ზედა K ეტიკეტების რეჟიმი.

ზუსტი მათემატიკური ოპერაციები, რომლებიც გამოიყენება KNN-ის შესასრულებლად, განსხვავდება არჩეული მანძილის მეტრიკის მიხედვით. თუ გსურთ გაიგოთ მეტი იმის შესახებ, თუ როგორ გამოითვლება მეტრიკა, შეგიძლიათ წაიკითხოთ რამდენიმე ყველაზე გავრცელებული მანძილის მეტრიკა, როგორიცაა ევკლიდეანი, Manhattanდა მინკოვსკი.

რატომ აქვს მნიშვნელობა K-ს მნიშვნელობას

KNN-ის გამოყენებისას მთავარი შეზღუდვა არის ის, რომ K-ის არასათანადო მნიშვნელობით (მეზობლების არასწორი რაოდენობა გასათვალისწინებელია) შეიძლება არჩეული იყოს. თუ ეს მოხდება, დაბრუნებული პროგნოზები შეიძლება არსებითად გაუქმდეს. ძალიან მნიშვნელოვანია, რომ KNN ალგორითმის გამოყენებისას არჩეული იყოს K-ის შესაბამისი მნიშვნელობა. გსურთ აირჩიოთ მნიშვნელობა K-სთვის, რომელიც მაქსიმალურად გაზრდის მოდელის უნარს, გააკეთოს წინასწარმეტყველება უხილავ მონაცემებზე, ხოლო შემცირების შეცდომების რაოდენობა.

ფოტო: Agor153 Wikimedia Commons-ით, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

K-ის ქვედა მნიშვნელობები ნიშნავს, რომ KNN-ის მიერ გაკეთებული პროგნოზები ნაკლებად სტაბილური და სანდოა. იმის გასაგებად, თუ რატომ არის ეს ასე, განვიხილოთ შემთხვევა, როდესაც ჩვენ გვყავს 7 მეზობელი სამიზნე მონაცემთა წერტილის გარშემო. დავუშვათ, რომ KNN მოდელი მუშაობს K მნიშვნელობით 2 (ჩვენ ვთხოვთ მას გადახედოს ორ უახლოეს მეზობელს პროგნოზის გასაკეთებლად). თუ მეზობლების დიდი უმრავლესობა (შვიდიდან ხუთი) ეკუთვნის ლურჯი კლასს, მაგრამ ორი უახლოესი მეზობელი უბრალოდ წითელია, მოდელი იწინასწარმეტყველებს, რომ შეკითხვის მაგალითი არის წითელი. მიუხედავად მოდელის ვარაუდისა, ასეთ სცენარში ლურჯი უკეთესი გამოცნობა იქნებოდა.

თუ ეს ასეა, რატომ არ ავირჩიოთ ყველაზე მაღალი K მნიშვნელობა, რაც შეგვიძლია? ეს იმიტომ ხდება, რომ მოდელს უთხარით, რომ გაითვალისწინოს ძალიან ბევრი მეზობელი, ასევე შეამცირებს სიზუსტეს. რამდენადაც იზრდება რადიუსი, რომელსაც KNN მოდელი მიიჩნევს, ის საბოლოოდ დაიწყებს მონაცემთა წერტილების განხილვას, რომლებიც უფრო ახლოს არიან სხვა ჯგუფებთან, ვიდრე ისინი არიან სამიზნე მონაცემთა წერტილი და დაიწყება არასწორი კლასიფიკაცია. მაგალითად, მაშინაც კი, თუ წერტილი, რომელიც თავდაპირველად იყო არჩეული, იყო ზემოთ მოცემულ წითელ რეგიონებში, თუ K დაყენებული იყო ძალიან მაღლა, მოდელი მიაღწევს სხვა რეგიონებს, რათა განიხილოს პუნქტები. KNN მოდელის გამოყენებისას ცდილობთ K-ის სხვადასხვა მნიშვნელობებს, რათა ნახოთ, რომელი მნიშვნელობა აძლევს მოდელს საუკეთესო შესრულებას.

KNN დადებითი და უარყოფითი მხარეები

მოდით განვიხილოთ KNN მოდელის დადებითი და უარყოფითი მხარეები.

დადებითი:

KNN შეიძლება გამოყენებულ იქნას როგორც რეგრესიის, ასევე კლასიფიკაციის ამოცანებისთვის, სხვა კონტროლირებადი სასწავლო ალგორითმებისგან განსხვავებით.

KNN არის ძალიან ზუსტი და მარტივი გამოსაყენებლად. მისი ინტერპრეტაცია, გაგება და განხორციელება მარტივია.

KNN არ აკეთებს რაიმე ვარაუდს მონაცემებთან დაკავშირებით, რაც იმას ნიშნავს, რომ ის შეიძლება გამოყენებულ იქნას სხვადასხვა პრობლემებისთვის.

Cons:

KNN ინახავს ყველა მონაცემს ან უმეტესობას, რაც ნიშნავს, რომ მოდელს დიდი მეხსიერება და გამოთვლითი ძვირი სჭირდება. მონაცემთა დიდმა ერთობლიობამ ასევე შეიძლება გამოიწვიოს პროგნოზების ხანგრძლივი დრო.

KNN ადასტურებს, რომ ძალიან მგრძნობიარეა მონაცემთა ნაკრების მასშტაბის მიმართ და ის შეიძლება გადააგდეს შეუსაბამო ფუნქციებით საკმაოდ მარტივად სხვა მოდელებთან შედარებით.

K- უახლოესი მეზობლების რეზიუმე (KNN)

K-Nearest Neighbors არის მანქანათმცოდნეობის ერთ-ერთი უმარტივესი ალგორითმი. მიუხედავად იმისა, თუ რამდენად მარტივია KNN კონცეფციაში, ის ასევე მძლავრი ალგორითმია, რომელიც იძლევა საკმაოდ მაღალ სიზუსტეს უმეტეს პრობლემაზე. როდესაც იყენებთ KNN-ს, დარწმუნდით, რომ ჩაატარეთ ექსპერიმენტი K-ის სხვადასხვა მნიშვნელობებზე, რათა იპოვოთ რიცხვი, რომელიც უზრუნველყოფს ყველაზე მაღალ სიზუსტეს.

ბლოგერი და პროგრამისტი სპეციალობით მანქანა სწავლა მდე ღრმა სწავლება თემები. დანიელი იმედოვნებს, რომ დაეხმარება სხვებს გამოიყენონ ხელოვნური ინტელექტის ძალა სოციალური სიკეთისთვის.