آزمایشگاه آزاد؛ بدون نیاز به ورود
نزدیکترین همسایه؛ رأی چند نمونه؟
در روش نزدیکترین همسایه، یک نقطه برچسبِ اکثریتِ نمونههای نزدیکش رو میگیره. این شبیهسازی چند دستهٔ ساختگی رو روی صفحه میچینه؛ تعداد همسایهها و نمونهها رو عوض کن و ببین ناحیههای پیشبینی چه شکلی میشن.
آزمایش رو شروع کناز ۳ همسایه و ۴۰ نمونه شروع کن. بعد k رو تغییر بده و هم شکل ناحیهها، هم دقت آموزشی رو بخون؛ این دقت با نمونههایی حساب میشه که مدل از قبل دیده.
آزمایشگاه در حال آماده شدنه…
حالا خودت امتحان کن
هر بار فقط یک چیز رو تغییر بده تا اثرش رو ببینی. قبل از اجرا، نتیجه رو حدس بزن.
رأیِ یکی یا رأیِ چند نفر؟
تعداد نمونهها رو روی متوسط نگه دار. یک بار k رو ۱ و بار دیگه ۱۵ بذار؛ شکل ناحیههای رنگی و دقت آموزشی رو مقایسه کن.
حدست چیه؟ وقتی رأی از همسایههای بیشتری جمع میشه، مرز دستهها چه تغییری میکنه؟
توضیح نتیجه رو ببین
در ۴۰ نمونه، k=۱ دقت آموزشی ۱۰۰٪ میده؛ با k=۱۵ این عدد ۸۵٪ میشه و رأیهای بیشتری مرز ناحیهها رو میسازن. اینها نتیجهٔ همین دادهٔ ساختگیان، نه یک قانون برای همهٔ دستهبندیها.
نمونههای بیشتر روی نقشه
k رو روی ۵ ثابت کن. تعداد نمونهها رو از کم، یعنی ۲۰ نقطه، به زیاد، یعنی ۶۰ نقطه، تغییر بده و نقشه و دقت آموزشی رو دوباره ببین.
حدست چیه؟ با نمونههای بیشتری که مدل میبینه، دقت آموزشی حتماً بالاتر میره؟
توضیح نتیجه رو ببین
در این دادهٔ ثابت، دقت آموزشی از ۹۵٪ با ۲۰ نقطه به ۱۰۰٪ با ۶۰ نقطه میرسه و نقطههای آموزشی بیشتری دیده میشن. این فقط نتیجهٔ همین نمونههاست؛ برای سنجش پیشبینی روی دادهٔ تازه باید دادهٔ آزمون جدا داشت.
دقت آموزشی با پیشبینی تازه فرق داره
با ۴۰ نمونه، یک بار k=۱ و بار دیگه k=۳ رو امتحان کن. شکل نقشه رو با عدد دقت آموزشی کنار هم ببین.
حدست چیه؟ اگر دقت آموزشی ۱۰۰٪ باشه، یعنی مدل روی هر دادهٔ تازهای هم بیخطاست؟
توضیح نتیجه رو ببین
برای هر دو مقدار k، این داده دقت آموزشی ۱۰۰٪ میده، اما ناحیههای پیشبینی با عوضشدن k تغییر میکنن. در k=۱ هر نقطه خودش نزدیکترین همسایهٔ خودشه؛ پس امتیازِ روی دادههای دیدهشده بهتنهایی کیفیت پیشبینی روی نمونههای جدید رو ثابت نمیکنه.
پشت این حرکت چه خبره؟
نزدیکی یعنی فاصلهٔ روی صفحه
d_i=sqrt((x-x_i)^2+(y-y_i)^2)
برای هر نقطهٔ تازه، مدل فاصلهاش رو تا نمونههای آموزشی حساب میکنه. بعد k نمونهٔ نزدیکتر رو نگه میداره؛ اینجا فاصلهٔ اقلیدسی روی صفحه به کار میره.
اکثریت برچسبها رأی میده
prediction=majority(label_1,...,label_k)
مدل برچسبی رو انتخاب میکنه که بین نزدیکترین k نمونه بیشتر دیده شده. k کوچکتر معمولاً به چند نقطهٔ خیلی نزدیک حساستره؛ k بزرگتر رأی نمونههای بیشتری رو با هم ترکیب میکنه.
دقت آموزشی، آزمون جدا نیست
accuracy_train=correct_train/n_train
این خروجی میشماره مدل چندتا از همان نمونههایی رو درست دستهبندی کرده که باهاشون ساخته شده. برای فهم عملکرد روی دادهٔ جدید، باید نمونههایی جدا از دادهٔ آموزش هم سنجیده بشن.
سؤالت رو بپرس، جوابش رو هم ببین
وقتی توی چت دربارهٔ یک مفهوم درس میخونی، دستیار هوش مصنوعی میتونه شبیهسازی مرتبط رو کنار توضیحش نشون بده. پارامترها رو تغییر میدی و با کمک توضیح بعدی، نتیجه رو بهتر میفهمی.
شروع یادگیری با چتبرای ادامه در چت، وارد مسیر شروع و ورود میشی. نتیجهٔ این آزمایش به چت منتقل نمیشه.
نمونهٔ نمایشی از آموزش در چت
چرا زیادکردن k میتونه شکل مرز دستهها رو عوض کنه؟
چون هر نقطه برچسبِ اکثریتِ چند همسایهٔ نزدیکش رو میگیره. با k کم، یکیدو نمونهٔ نزدیک اثر زیادی دارن؛ با k بزرگتر رأیهای بیشتری قاطی میشن. دقت آموزشی هم فقط روی همان نمونههای دیدهشده حساب میشه، پس برای پیشبینی دادهٔ تازه باید آزمون جدا داشت.
سؤالهای رایج
k دقیقاً چه چیزی رو تعیین میکنه؟
k تعداد همسایههای نزدیکیه که رأی میدن. مثلاً با k=۵، مدل برچسب پنج نمونهٔ نزدیکتر رو میشماره و برچسب پرتکرارتر رو انتخاب میکنه.
مدل از کجا میفهمه کدوم نمونه نزدیکتره؟
روی این نقشه فاصلهٔ اقلیدسی بین دو نقطه حساب میشه؛ یعنی فاصلهٔ مستقیمشون با اختلاف مختصات افقی و عمودی.
دقت آموزشی ۱۰۰٪ یعنی مدل کامل شده؟
نه حتماً. این عدد روی همان نقطههایی حساب میشه که مدل باهاشون آموزش دیده. برای سنجش روی نمونههای ندیده باید مجموعهٔ آزمون جدا داشت؛ در k=۱ هم هر نقطه خودش همسایهٔ خودش میشه.
چرا نقطههای آموزش دو رنگ دارن؟
رنگها دو برچسب ساختگی این مثال رو از هم جدا میکنن. رنگ ناحیهٔ پشت نقطهها پیشبینی مدل برای جاهای مختلف صفحهست، نه دادهٔ واقعی.