مقدمه بصری بر یادگیری ماشین
توضیح: این متن ترجمه دوست خوبم جعفر خاکپور از متن اصلی انگلیسی است که ماهها پیش انجام شده. بارها با گردانندگان اصلی ایمیلنگاری کردیم ولی به نظر میرسه درگیر چیزهای دیگه شدن و زمان کافی برای این سایت عالی نمیذارن و در نهایت جوابی در مورد انتشار متن در صفحه خودشون نگرفتیم. برای اینکه صفحه فوق العادهای است، در نهایت تصمیم گرفتیم اون را اینجا توی جادی.نت منتشر کنیم. این صفحه مقدمه ای جذاب در مورد روشهای یادگیری ماشین است و امیدواریم با انیمیشنهای قشنگش، دید خوبی در مورد مفاهیم اولیه این حوزه به خواننده بده.
در یادگیری ماشین، کامپیوترها به کمک روش های یادگیری آماری الگوهای داخل داده ها را به صورت خودکار استخراج می کنند. این تکنیک ها میتوانند پیش بینی را با دقت بسیار بالایی انجام دهند.
پیمایش صفحه را ادامه دهید. به کمک یک مجموعه داده در مورد خانه های نیویورک و سان فرانسیسکو، ما یک مدل یادگیری ماشین تولید خواهیم کرد که بتواند از روی مشخصات خانه تشخیص دهد که این خانه در نیویورک است یا سان فرانسیسکو.
پیمایش
گام نخست، شناخت مساله
فرض کنید شما باید می توانستید با دانشتن یک دسته اطلاعات کلی در مورد یک خانه تشخیص دهید که این خانه در سان فرانسیسکو است یا در نیویورک. یا به اصطلاح یادگیری ماشین، یک وظیفه کلاس بندی را انجام دهید.
از آنجا که سان فرانسیسکو نسبتا پر از تپه است، ارتفاع یک خانه ممکن است یک راه خوب برای تشخیص خانه های این دو شهر از یکدیگر باشد.
با توجه به اطلاعات ارتفاع خانه که سمت چپ نمایش داده شده است، میتوان گفت که خانه های بالای 73 متر باید جزو خانه های سان فرانسیسکو دسته بندی شوند.
افزایش دقت
افزودن یک بعد جدید به ما اجازه خواهد داد تا دقت مدل را افزایش دهیم. به عنوان مثال، قیمت هر متر آپارتمان در نیویورک میتواند قیمت بالایی داشته باشد.
تا اینجا نمایش ارتفاع در کنار قیمت هر متر مربع در یک نمودار نقطه ای به ما کمک کرده است تا قسمتی از خانه های کم ارتفاع را هم به درستی شناسایی کنیم.
داده های مشاهده شده نشان می دهند که در میان خانه های زیر 73 متر، خانه های با قیمت بالاتر از 19116.7 دلار بر هر متر در شهر نیویورک قرار دارند.
ابعاد در یک مجموعه داده ویژگی، عامل، یا متغیر نامیده می شوند.
ترسیم مرزها
شما می توانید مشاهدات خود در مورد ارتفاع (>73 متر) و قیمت هر متر مربع (> 19116.7) را به وسیله خطوط مرزی بر روی نمودار نقطه ای نمایش دهید. خانه های سبز و آبی به ترتیب نشان دهنده خانه های سان فرانسیسکو و نیویورک هستند.
شناسایی مرز داده ها به کمک ریاضیات اساس یادگیری آماری است.
البته شما هنوز نیاز به تمیز داده خانه های کم ارتفاع و کم هزینه دارید.
مجموعه داده مورد استفاده ما دارای 7 بعد مختلف است. ساخت یک مدل نیز آموزش آن مدل نامیده می شود.
در سمت چپ ما متغیرها را در یک ماترس نمودار نقطه ای نمایش داده ایم تا رابطه بین هر جفت از ابعاد را نشان دهد.
در این نمودارها الگوهایی داخل اطلاعات کاملا مشخص است، ولی مرزهای تشخیص این خانه ا از یکدیگر مشخص نیستند.
و حالا، یادگیری ماشین
یافتن الگوها در داده جایی است که یادیگری ماشین وارد بازی میشود. روش های یادگیری ماشین از روش های یادیگری آماری برای پیدا کردن مرزها استفاده می کنند.
یک نمونه از روش های یادیگری ماشین درخت تصمیماست. درخت های تصمیم در هر زمان از یک متغیر برای تعریف مرز استفاده می کنند. درخت های تصمیم در هر لحظه بر اساس انتخاب یک متغیر پیش می رود و جزو روش های یادگیری ماشین قابل تفسیر(و ساده) است.
پیدا کردن مرزهای مناسب تر
بیایید نگاه دوباره ای به مرز ارتفاع 73 متر که قبلا پیشنهاد شده بود بیاندازیم تا ببینیم چطور میتوانیم تحلیل خود را بهبود بخشیم.
واضح است که این روش نگرش متفاوتی به مساله را نیاز خواهد داشت..
با تبدیل نمودار به یک هیستوگرام، می توانیم فراوانی خانه ها را در هر ارتفاعی بهتر بررسی کنیم.
با اینکه طبق مشاهدات ما از داده ها بلندترین خانه نیویورک 73 متر ارتفاع دارد، اکثر این خانه ها ارتفاع بسیار کمتری نسبت به این مقدار دارند.
اولین شاخه
درخت تصمیم از قوانین اگر-آنگاه برای بیان الگوی داده ها استفاده میکند.
برای مثال، اگر ارتفاع خانه از یک مقدار مشخص بیشتر بود آنگاه این خانه احتمالا در سان فرانسیسکو قرار دارد.
در ادبیات یادگیری ماشین به این کار انشعاب می گویند، یک انشعاب داده ها را بر اساس مقدار آنها در ویژگی مورد نظر به دو شاخه تقسیم می کند.
مقدار وسط که برای جدا کردن دو شاخه استفاده می شود نقطه تقسیم نامیده می شود. خانه های سمت چپ نقطه تقسیم یک دسته در نظر گرفته می شوند و سمت راست نیز یک دسته دیگر. این نقاط همان مرزهای تصمیم هستند که قبلا با آنها کار کرده ایم.
نقاط تعادل
انتخاب یک نقطه تقسیم نیاز به تعیین نقطه تعادل دارد. نقطه تقسیم اولیه ما (ارتفاع 73 متر) برخی از خانه های سان فرانسیسکو را به اشتباه جزو خانه های نیویورک دسته بندی می کند.
به نمودار دایراه ای سمت چپ نگاه کنید. برش سبز رنگ آن خانه های سان فرانسیسکو هستند که نادرست دسته بندی شده اند. به این نوع از خطاها منفی کاذب می گویند.
در عین حال، اگر یک نقطه تقسیم تعیین شود که همه خانه های سان فرانسیسکو را به درستی دسته بندی کند، تعداد بسیار زیادی خانه نیویورکی را اشتباه دسته بندی خواهد کرد. این تشخیص های اشتباه نیز مثبت کاذب نامیده می شوند.
بهترین انشعاب
در نقطه بهترین انشعاب نتیجه هر شاخه باید تا جای ممکن خالص و یکدست باشد. روش های ریاضی بسیاری برای تعیین نقطه بهترین انشعاب وجود دارند.
همانطور که می بینیم، حتی بهترین انشعاب هم وقتی فقط به یک ویژگی وابسته باشد، نمی تواند خانه های سان فرانسیسکو و نیویورک را به درستی جدا کند.
الگوریتم بازگشتی
برای اضافه کردن نقاط انشعاب، الگوریتم درخت تصمیم روند بالا را بر روی داده هر کدام از دسته ها اعمال میکند. این روند را یک روند بازگشتی می نامند که در روش های متنوعی مورد استفاده قرار میگیرد.
هیستوگرام های سمت راست توزیع هر یک از دو انشعاب تولید شده روی باقی متغیرها را نشان می دهند.
بهترین نقطه انشعاب برای هر یک از دو شاخه بر روی ویژگی های متفاوتی قرار دارند.
برای خانه های کم ارتفاع، بهترین انشعاب قیمت خانه هایی است که در آن قیمت خانهX dollars per sqft باشد، برای خانه های بلندتر، این نقطه price در Y dollars.
رشد درخت
انشعاب های بیشتر اطلاعات جدیدی را به مدل اضافه خواهند کرد که می توانند دقت پیش بینی درخت را افزایش می دهند.
با یک لایه انشعاب بیشتر دقت درخت تا 84%افزایش می یابد.
با افزودن چند لایه دیگر، دقت تا 96%افزایش می یابد.
می توانیم با اضافه کردن شاخه های بیشتر به دقت 100% برسیم، در اینصورت انتهای هر شاخه های درخت، همه خانه ها یا خانه سان فرانسیسکویی خواهند بود یا خانه های نیویورکی.
نام آخرین شاخه های درخت گره های برگ است. درخت تصمیم ما اعضای هر برگ را بر اساس دسته ای که بیشترین عضو را در آن برگ دارد دسته بندی میکند.
پیش بینی
درخت تصمیم آموزش داده شده ما میتواند با هدایت هر نقطه جدید بر روی شاخه های درخت تعیین کند که این خانه جزو خانه های نیویورک است یا سان فرانسیسکو.
در اینجا می توانید ببینید که نمونه های مورد استفاده در آموزش درخت چگونه بر روی درخت حرکت می کنند.
این داده ها، داده آموزشی نامیده می شوند چون در آموزش مدل مورد استفاده قرار گرفته اند.
چون آموزش درخت را تا دقت 100% ادامه داده ایم، این درخت تمام داده های آموزشی را به درستی دسته بندی خواهد کرد.
بررسی واقعیت
آنچه برای ما مهم است نحوه عملکرد این درخت بر روی داده هایی است که قبلا آنها را ندیده باشد.
برای تست عملکرد درخت، نیاز به ارزیابی عملکرد آن بر روی داده هایی است که قبلا نیدده باشد. این داده هایی که درخت آنها را قبلا ندیده است داده تستی نامیده می شود.
در حالت ایده آل، درخت باید عملکرد مشابه ای بر روی داده های آشنا و ناآشنا داشته باشد.
ولی نتایج ما با حالت ایده آل مقداری اختلاف دارد.
این اختلاف به دلیل بروز بیش برازش در مدل است. مدل ما یاد گرفته است که به تمام جزئیات داده های اموزش دقت کند، اگرچه برخی از این جزئیات نامرتبط باشند.
بیش برازش مفهومی بنیادی است که در قسمت بعدی این پست ها بیشتر در مورد آنها صحبت خواهد شد.
جمع بندی
- یادگیری ماشین الگوها را با استفاده از یادگیری آماری و کامپیوترها و استخراج مرزها از مجموعه داده مشخص می کند. شما می توانید از این الگوها برای پیش بینی استفاده کنید.
- یکی از روش های مورد استفاده برای انجام پیش بینی درخت های تصمیم هستند، که با استفاده از یک سری قوانین اگر-آنگاه برای مشخص کردن مرزها و تعریف الگوهای درون داده استفاده می کنند.
- بیش برازش وقتی اتفاق می افتد که مرزها را بر اساس اختلاف های کم اهمیت تعیین کنیم. با امتحان کردن داده تستی بر روی مدل می توان متوجه شد که آیا مدل دچار بیش برازش شده است یا نه.
در ادامه...
در پست بعدی، ما با بیش برازش بیشتر آشنا خواهیم شد و اینکه این مفهوم چگونه با مفهوم اساسی نقطه تعادل در ارتباط است.
سوال یا نظری دارید؟ ما مشتاق شنیدن نظرات شما هستیم. برای ارتباط به @r2d3us توئیت کنید یا از طریق team@r2d3.usایمیل خود را برای ما ارسال کنید.
ترجمه فارسی این متن توسط جعفر و به پیشنهاد جادی انجام شده است :) ظاهرا درگیریهای مسوولین سایت اصلی زیاد بود و بعد از چند ماه پیگیری متن اونجا قرار نگرفته و در نتیجه تصمیم گرفتیم اون توی همین jadi.net منتشر کنیم. قسمت دوم هنوز ساخته نشده و ما هم منتظریم قسمت دوم رو ببینیم و احتمالا ترجمه کنیم.
Footnotes
- مفاهیم یادگیری ماشین گاها از شاخه های دیگر دانش(علوم کامپیوتر، آمار، مهندسی، روان پزشکی و غیره) به ارث رسیده اند و به همین دلیل نام های متفاوتی دارند.
- برای آشنایی بیشتر با نحوه محاسبه بهترین انشعاب، شاخص جینی (Gini Index) یا آنتروپی متقارن (Cross Entropy) را جستجو کنید
- یکی از دلایل خوب بودن کامپیوترها در یادگیری آماری، توانایی آنها در انجام سریع محاسبات تکراری است بدون اینکه از این کار خسته شوند.
- الگوریتمی که در اینجا توضیح داده شد یک الگوریتم حریصانه است.دلیل این نام گذاری این است که این الگوریتم ها فقط بهترین راه حل در دسترس در همان لحظه را پیش میگیرند، نه راه حلی که جواب نهایی مساله را به بهترین مقدار برساند.
- اشاره گر ماوس را روی نقطه ها بگیرید تا مسیر حرکت شان روی درخت را مشاهده کنید
- خطر اسپویل: در مورد ترید آف بایاس واریانس خواهد بود.