واحد قبلی مدل زیر را معرفی کرد که بسیاری از درختان را در مجموعه آزمایشی به اشتباه دسته بندی کرد:
مدل قبلی شامل بسیاری از اشکال پیچیده است. آیا یک مدل ساده تر داده های جدید را بهتر مدیریت می کند؟ فرض کنید مدل پیچیده را با یک مدل ساده مضحک جایگزین کرده اید - یک خط مستقیم.
مدل ساده در داده های جدید بهتر از مدل پیچیده تعمیم می یابد. یعنی مدل ساده پیشبینیهای بهتری در مجموعه آزمایشی نسبت به مدل پیچیده داشت.
مدت هاست که سادگی بر پیچیدگی غلبه کرده است. در واقع، ترجیح سادگی به یونان باستان برمی گردد. قرنها بعد، یک راهب قرن چهاردهمی به نام ویلیام اوکام ترجیح سادگی را در فلسفهای به نام تیغ اوکام رسمیت داد. این فلسفه یک اصل اساسی اساسی بسیاری از علوم، از جمله یادگیری ماشینی است.
تمرینات: درک خود را بررسی کنید
شما در حال توسعه یک معادله فیزیک هستید. کدام یک از فرمول های زیر با تیغ Occam بیشتر مطابقت دارد؟
فرمولی با سه متغیر
سه متغیر نسبت به دوازده متغیر سازگارتر است.
فرمولی با دوازده متغیر.
دوازده متغیر بیش از حد پیچیده به نظر می رسند، اینطور نیست؟ دو فرمول فیزیک معروف تمام دوران (F=ma و E=mc 2 ) هر کدام فقط شامل سه متغیر هستند.
شما در یک پروژه یادگیری ماشینی کاملاً جدید هستید و در شرف انتخاب اولین ویژگی های خود هستید. چند ویژگی را باید انتخاب کنید؟
1 تا 3 ویژگی را انتخاب کنید که به نظر می رسد قدرت پیش بینی قوی دارند.
بهتر است خط لوله جمع آوری داده های شما فقط با یک یا دو ویژگی شروع شود. این به شما کمک می کند تا تأیید کنید که مدل ML همانطور که در نظر گرفته شده است کار می کند. همچنین، هنگامی که از چند ویژگی یک خط پایه ایجاد می کنید، احساس می کنید در حال پیشرفت هستید!
4 تا 6 ویژگی را انتخاب کنید که به نظر می رسد قدرت پیش بینی قوی دارند.
ممکن است در نهایت از این تعداد ویژگی استفاده کنید، اما بهتر است با کمتر شروع کنید. ویژگی های کمتر معمولاً به معنای کمتر شدن عوارض غیر ضروری است.
تا جایی که می توانید ویژگی ها را انتخاب کنید تا بتوانید مشاهده کنید کدام ویژگی قوی ترین قدرت پیش بینی را دارد.
کوچکتر شروع کنید. هر ویژگی جدید بعد جدیدی به مجموعه داده آموزشی شما اضافه می کند. وقتی ابعاد افزایش می یابد، حجم فضا آنقدر سریع افزایش می یابد که داده های آموزشی موجود پراکنده می شوند. هرچه دادههای شما کمتر باشد، یادگیری رابطه بین ویژگیهایی که واقعاً مهم هستند و برچسب برای یک مدل دشوارتر است. این پدیده "نفرین ابعاد" نامیده می شود.
منظم سازی
مدل های یادگیری ماشین باید به طور همزمان دو هدف متناقض را برآورده کنند:
داده ها را به خوبی تنظیم کنید.
داده ها را به ساده ترین شکل ممکن جاسازی کنید.
یک رویکرد برای ساده نگه داشتن یک مدل، جریمه کردن مدل های پیچیده است. یعنی مدل را مجبور کنیم در طول آموزش ساده تر شود. جریمه کردن مدل های پیچیده یکی از اشکال منظم سازی است.
از دست دادن و پیچیدگی
تا کنون، این دوره پیشنهاد کرده است که تنها هدف در هنگام آموزش، به حداقل رساندن ضرر است. یعنی:
$$\text{minimize(loss)}$$
همانطور که مشاهده کردید، مدل هایی که صرفاً بر روی به حداقل رساندن ضرر تمرکز دارند، بیش از حد مناسب هستند. یک الگوریتم بهینه سازی آموزش بهتر ترکیبی از ضرر و پیچیدگی را به حداقل می رساند:
$$\text{minimize(loss + complexity)}$$
متأسفانه، از دست دادن و پیچیدگی معمولاً رابطه معکوس دارند. با افزایش پیچیدگی، ضرر کاهش می یابد. با کاهش پیچیدگی، ضرر افزایش می یابد. شما باید یک حد وسط معقول پیدا کنید که در آن مدل، هم در مورد داده های آموزشی و هم در داده های دنیای واقعی پیش بینی های خوبی انجام دهد. یعنی مدل شما باید یک سازش معقول بین ضرر و پیچیدگی پیدا کند.
پیچیدگی چیست؟
شما قبلاً چند روش مختلف برای تعیین مقدار ضرر دیده اید. چگونه پیچیدگی را کمیت می کنید؟ کاوش خود را از طریق تمرین زیر شروع کنید:
ورزش: شهود خود را بررسی کنید
تا کنون، در مورد اینکه پیچیدگی در واقع چیست، بسیار مبهم بوده ایم. به نظر شما کدام یک از ایده های زیر معیارهای پیچیدگی معقول هستند؟