این آموزش قسمت پنجم بسته آموزشی جامع یادگیری ماشین می باشد. به کاربران عزیز توصیه می شود قسمت های اول و دوم این بسته را مشاهده کنند تا با مفاهیم و پیش پردازش داده و معیارهای ارزیابی در یادگیری ماشین آشنا شوند.
الگوریتم نزدیکترین همسایه یکی از روشهای یادگیری ماشین غیرپارامتری می باشد که برای دسته بندی و رگرسیون استفاده می شود. منظور از غیرپارامتری ، یعنی این روش هیچ گونه پیش فرضی از نحوه توزیع داده ها ندارد و فقط کافی است داده به ورودی آن اعمال شود. این روش ساختار خود را بر اساس داده ورودی تنظیم می کند. پس در مواقعی که دانش کمی یا هیچ دانشی از نحوه توزیع داده ها موجود نیست، خوب است که روش KNN مورد تست قرار گیرد.
اصل کار الگوریتم نزدیکترین همسایه بر اساس فاصله است. معیاری به نام فاصله در این روش مشخص کننده همسایه می باشد. تعیین معیار همسایه تاثیر بسیار زیادی بر راندمان دسته بندی کننده دارد. یک مقاله در سال 2019 یک مرور بر تمامی معیارهای همسایه انجام داده است که در کنار کدهای همراه این فیلم آموزشی قابل مشاهده است.
KNN بسیار سریع است یعنی برخلاف برخی از مدلهای یادگیری ماشین که زمان طولانی برای آموزش لازم دارند. KNN فرایند آموزش سریعی دارد اما گاهی نیاز به حجم حافظه زیادی دارد تا محاسبات خود آموزش آن انجام شود اما در مرحله تست بسیار سریع جواب می دهد چون فقط کافی است که مقدا فاصله را حساب کند و بر اساس مقدار فاصله، خروجی را تولید کند.
سرفصل :
در ابتدا مفهوم نزدیکترین همسایه با مثال توضیح داده و سپس مقداری در مورد کاربردهای آن گفته میشود. ارتباط نزدیکترین همسایه با KNN classification و local weighted regression و missing data imputation and interpolation و density estimation و K-means clustering گفته میشود.
معیار فاصله یکی از پارامترهای مهم در KNN هست که با تعدادی از آنها با هم آشنا خواهیم شد.
Cityblock و chebychev و correlation و cosine و Euclidean وhamming و jaccard و mahalanobis و minkowski و spearman
معیار فاصله سفارشی
تابع rangesearch و چند مثال
تابع knnsearch و چند مثال
فرق kdtree و exhaustive
جستجوی نزدیکترین همسایه با جستجوی exhaustive
جستجوی نزدیکترین همسایه با جستجوی kdtree
چند مثال برنامه نویسی
تغییر تعداد همسایه ها
تاثیر فاصله در راندمان KNN
مفهوم ties و گزینه BreakTies
گزینه BucketSize
گزینه DistanceWeight
توان در فاصله Minkowski
چگونه مقدار بهینه تعداد همسایه ها را پیدا کنیم؟
تاثیر k در راندمان نهایی
گزینه PredictorNames
گزینه ResponseName
گزینه ScoreTransform
استانداریزه کردن داده ها
ساخت template برای KNN
ترکیب fitcecoc و KNN
بهینه سازی دسته بندی کننده KNN
یافتن مقادیر بهینه تعداد همسایه ها و معیار فاصله و وزن فاصله و توان در KNN
مدت زمان : 200 دقیقه
پیش نمایش