فرض کنید میخواهید انگلیسی یاد بگیرید. شما هیچ دانش قبلی از این زبان ندارید اما شنیده اید که بزرگ ترین نویسنده انگلیسی ویلیام شکسپیر است.خود را در کتابخوانه حبس میکنید و آثار او را حفظ میکنید.پس از یک سال مطالعه ، از درس خارج میشوید، به شهر نیویورک سفر میکنید و به اولین کسی که میبینید با عبارت «صبح بخیر، دوست!» سلام میکنید. در پاسخ، شما یک نگاه تحقیرآمیز و یک "دیوانه" زمزمه می کنند. بدون مزاحمت، دوباره تلاش میکنید: «آقای عزیز، بانوی مهربان ما چطور است؟» شکستی دیگر و عقب نشینی شتابزده. پس از سومین تلاش ناموفق، شما مضطرب می شوید: "چه شرمنده چه غم!". واقعاً شرمنده: شما به تازگی یکی از اساسی ترین اشتباهات را در مدل سازی مرتکب شده اید، یعنی تطبیق بیش از حد داده های آموزشی(overfitting on the training data)
یک مدل بیش برازش به عنوان داشتن واریانس بالا و بایاس کم در مجموعه آموزشی توضیح داده می شود که منجر به تعمیم ضعیف در داده های آزمایشی جدید می شود. بیایید این تعریف گیج کننده را از نظر تلاش ما برای یادگیری زبان انگلیسی بشکنیم. مدلی که می خواهیم بسازیم، نمایشی از نحوه برقراری ارتباط با استفاده از زبان انگلیسی است. داده های آموزشی ما کل آثار شکسپیر است و مجموعه آزمایشی ما نیویورک است. اگر عملکرد را بر حسب پذیرش اجتماعی بسنجیم، آنگاه مدل ما در تعمیم یا ترجمه دادههای تست شکست خورده است. این تا اینجا ساده به نظر می رسد، اما در مورد واریانس و بایاس چطور؟
واریانس میزان تغییر یک مدل در پاسخ به داده های آموزشی است. از آنجایی که ما به سادگی مجموعه آموزشی را حفظ می کنیم، مدل ما دارای واریانس بالایی است: به شدت به داده های آموزشی وابسته است. اگر کل آثار J.K. Rowling به جای شکسپیر مطالعه شود، مدل کاملا متفاوت خواهد بود. هنگامی که یک مدل با واریانس بالا بر روی یک مجموعه آزمایشی جدید اعمال می شود، نمی تواند عملکرد خوبی داشته باشد زیرا تمام آن بدون داده های آموزشی از بین می رود. مثل دانش آموزی است که مسائل کتاب درسی را حفظ کرده باشد، اما در مواجهه با مشکلات دنیای واقعی درمانده می شود.
بایاس طرف دیگر واریانس است زیرا نشان دهنده قدرت مفروضات ما در مورد داده هایمان است. در تلاش خود برای یادگیری زبان انگلیسی، هیچ فرضیه مدل اولیه ای ایجاد نکردیم و به این کار اعتماد کردیم تا همه چیز را در مورد این زبان به ما بیاموزد. این بایاس کم ممکن است مثبت به نظر برسد - چرا ما همیشه می خواهیم نسبت به داده های خود تعصب داشته باشیم؟ با این حال، ما همیشه باید نسبت به توانایی داده ها برای گفتن داستان کامل به ما شک داشته باشیم. هر فرآیند طبیعی نویز ایجاد می کند، و ما نمی توانیم مطمئن باشیم که داده های آموزشی ما تمام آن نویز را ضبط می کند. اغلب، ما باید برخی از مفروضات اولیه در مورد داده های خود داشته باشیم و فضایی را در مدل خود برای نوساناتی که در داده های آموزشی دیده نمی شود، بگذاریم. قبل از شروع خواندن، باید تصمیم می گرفتیم که آثار شکسپیر به تنهایی نمی توانند به معنای واقعی کلمه انگلیسی را به ما بیاموزند که باعث می شد در حفظ کردن داده های آموزشی محتاط باشیم.
به طور خلاصه تا اینجا: بایاس به این اشاره دارد که چقدر داده ها را نادیده می گیریم، و واریانس به میزان وابسته بودن مدل ما به داده ها اشاره دارد. در هر مدلسازی، همیشه بین تعصب و واریانس یک مبادله وجود خواهد داشت و زمانی که مدلها را میسازیم، سعی میکنیم بهترین تعادل را به دست آوریم. تعصب در مقابل واریانس برای هر مدلی، از ساده ترین تا پیچیده ترین، قابل استفاده است و برای دانشمندان داده مفهومی حیاتی است که باید درک شود!
دیدیم که مدلی که بیش از حد مناسب است، واریانس بالا و بایاس کم دارد. در مورد معکوس چطور: واریانس کم و بایاس زیاد؟ این به عنوانunderfitting شناخته میشود: به جای اینکه دادههای آموزشی را خیلی دقیق دنبال کند، مدلی که کمتر برازش میکند، درسهای دادههای آموزشی را نادیده میگیرد و نمیتواند رابطه اساسی بین ورودیها و خروجیها را بیاموزد.
بیایید در مورد این با توجه به مثال خود فکر کنیم. با آموختن از تلاش قبلی خود برای ساختن مدلی از زبان انگلیسی، تصمیم گرفتیم پیش از موعد چند فرض در مورد مدل داشته باشیم. ما همچنین داده های آموزشی خود را تغییر می دهیم و تمام قسمت های نمایش دوستان را تماشا می کنیم تا به خودمان انگلیسی آموزش دهیم. برای جلوگیری از تکرار اشتباهاتمان از اولین تلاش، پیش از موعد فرض میکنیم که فقط جملاتی که با رایجترین کلمات در زبان شروع میشوند the, be, to, of, و a مهم هستند. وقتی مطالعه می کنیم، به جملات دیگر توجه نمی کنیم، مطمئن هستیم که مدل بهتری خواهیم ساخت.
پس از یک دوره طولانی آموزش، ما دوباره به خیابان های نیویورک سفر می کنیم. این بار کمی بهتر شدیم، اما باز هم صحبتهایمان به جایی نمیرسد و مجبوریم شکست را بپذیریم. در حالی که ما مقداری انگلیسی میدانیم و میتوانیم تعداد محدودی جملات را درک کنیم، به دلیل تعصبمان در مورد دادههای آموزشی نتوانستیم ساختار اساسی زبان را یاد بگیریم. مدل از واریانس بالا رنج نمی برد، اما ما از تلاش اولیه خود بیش از حد اصلاح شدیم و آن را کم کردیم!
چه می توانیم بکنیم؟ ما به داده ها توجه جدی داشتیم و بیش از حد مناسب هستیم. ما داده ها را نادیده گرفتیم و کمتر از آن استفاده کردیم. باید راهی برای یافتن تعادل بهینه وجود داشته باشد! خوشبختانه، یک راه حل ثابت در علم داده به نام اعتبار سنجی وجود دارد. در مثال ما فقط از یک مجموعه آموزشی و یک مجموعه تست استفاده کردیم. این بدان معنی بود که ما نمی توانستیم از قبل بدانیم مدل ما در دنیای واقعی چگونه عمل می کند. در حالت ایدهآل، ما یک مجموعه «پیشآزمون» برای ارزیابی مدل خود و ایجاد بهبود قبل از آزمون واقعی خواهیم داشت. این "پیش آزمون" به عنوان یک مجموعه اعتبار سنجی شناخته می شود و بخش مهمی از توسعه مدل است.
دو شکست ما در یادگیری زبان انگلیسی ما را بسیار عاقل تر کرده است و اکنون تصمیم داریم از یک مجموعه اعتبار سنجی استفاده کنیم. ما هم از آثار شکسپیر و هم از نمایش دوستان استفاده میکنیم، زیرا آموختهایم که دادههای بیشتر تقریباً همیشه یک مدل را بهبود میبخشد. تفاوت این بار این است که بعد از آموزش و قبل از اینکه به خیابان برویم، مدل خود را بر روی گروهی از دوستان ارزیابی می کنیم که هر هفته دور هم جمع می شوند تا درباره رویدادهای جاری به زبان انگلیسی صحبت کنند. هفته اول، ما تقریباً از مکالمه اخراج می شویم زیرا مدل زبان ما بسیار بد است. با این حال، این فقط مجموعه اعتبار سنجی است و هر بار که اشتباه می کنیم، می توانیم مدل خود را تنظیم کنیم. در نهایت، ما می توانیم در گفتگو با گروه خود را حفظ کرده و اعلام کنیم که برای مجموعه آزمایشی آماده هستیم. با جست و جوی دوباره در دنیای واقعی، بالاخره موفق شدیم! مدل ما اکنون برای ارتباط مناسب است زیرا ما یک عنصر حیاتی داریم، مجموعه اعتبارسنجی برای توسعه و بهینه سازی مدل.
این مثال لزوما ساده شده است. در مدلهای علم داده، از مجموعههای اعتبارسنجی متعددی استفاده میکنیم، زیرا در غیر این صورت در نهایت به مجموعه اعتبارسنجی بیش از حد برازش میکنیم! این مورد از طریق اعتبارسنجی متقابل بررسی می شود، جایی که داده های آموزشی را به زیر مجموعه های مختلف تقسیم می کنیم، یا اگر داده های زیادی داریم می توانیم از مجموعه های اعتبار سنجی متعدد استفاده کنیم. این مثال مفهومی، تمام جنبه های مسئله را پوشش می دهد. حالا وقتی در مورد overfitting در مقابل underfitting و bias در مقابل variance می شنوید، یک چارچوب مفهومی برای درک مشکل و نحوه رفع آن دارید!
با توضیح مفاهیم با مثال های دنیای واقعی، می توانیم آنها را در متن قرار دهیم. اگر چارچوب را درک کنیم، میتوانیم با استفاده از تکنیکهای مربوط به مسائل، جزئیات را پر کنیم. بنابراین اگر پشتوانه محکم تری می خواهید، آن را بررسی کنید. تا آن زمان، شما خوانندگان عزیز موفق باشید!
منابع:
https://towardsdatascience.com/overfitting-vs-underfitting-a-complete-example-d05dd7e19765
https://towardsdatascience.com/overfitting-vs-underfitting-a-conceptual-explanation-d94ee20ca7f9
منابع تصاویر:
https://rafieienglishclinic.com/storage/images/WAAoyfHbhU7pQmb1cAKYZYnirreGwY9fXTELXmZI.jpg
https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Shakespeare.jpg/220px-Shakespeare.jpg
https://jangal.com/api/ui/image/watermark?path=/uploads/author/JK-Rowling.jpg&etype=author
https://media.architecturaldigest.com/photos/5da74823d599ec0008227ea8/16:9/w_2560%2Cc_limit/GettyImages-946087016.jpg