یادگیری نظارتشده
یادگیری ماشین و دادهکاوی |
---|
یادگیری نظارتشده (یادگیری با دادههای برچسبدار) یک وظیفه یادگیری ماشینی از یادگیری تابعی است که ورودی را به یک خروجی براساس نمونههای ورودی و خروجی ترسیم میکند.[۱] این یک تابع را از مجموعه آموزشی برچسب زده شده شامل مجموعه ای از مثالهای آموزشی استنباط کند.[۲] در یادگیری نظارت شده، هر مثال یک جفت متشکل از ورودی (بهطور معمول یک بردار) و یک مقدار خروجی دلخواه (سیگنال نظارتی نیز نامیده میشود) است. یک الگوریتم یادگیری نظارت شده دادههای آموزش را تجزیه و تحلیل میکند و یک تابع استنباط شده تولید میکند، که میتواند برای نگاشت نمونههای جدید استفاده شود. یک سناریو بهینه این امکان را برای الگوریتم فراهم میکند تا برچسبهای کلاس را برای موارد دیده نشده به درستی تعیین کند. این امر مستلزم این است که الگوریتم یادگیری از دادههای آموزش به شرایط دیده نشده به روش «معقول» تعمیم یابد.
وظیفه موازی در روانشناسی انسان و حیوان اغلب به عنوان یادگیری مفهومی شناخته میشود.
مراحل
[ویرایش]برای حل مسئله یادگیری تحت نظارت، باید مراحل زیر را انجام دهید:
- نوع مثالهای آموزشی را تعیین کنید. قبل از انجام هر کار دیگری، کاربر باید تصمیم بگیرد که چه نوع دادهای به عنوان مجموعه آموزشی استفاده شود. به عنوان مثال، در مورد تجزیه و تحلیل دست خط، این ممکن است یک کاراکتر دستنویس تکی، یک کلمه دستنویس کامل یا یک خط کامل از دست خط باشد.
- یک مجموعه آموزشی جمع کنید. مجموعه آموزش باید نماینده ای از کاربرد دنیای واقعی تابع باشد؛ بنابراین، مجموعه ای از ورودیها و خروجیهای مربوط نیز از طریق متخصصان انسانی یا از اندازهگیریها، جمعآوری میکنید.
- نمایش ویژگی ورودی تابع یادگرفته شده را تعیین کنید. دقت تابع یادگرفته شده بستگی زیادی به نحوه نمایش ورودی دارد. بهطور معمول، ورودی به بردار ویژگی تبدیل میشود، که شامل تعدادی ویژگی است که توصیف کننده ورودی هستند. به دلیل مشقت چند بعدی، تعداد ویژگیها نباید خیلی زیاد باشد. اما باید شامل اطلاعات کافی برای پیشبینی دقیق خروجی باشد.
- ساختار تابع یادگرفته شده و الگوریتم یادگیری مربوط را تعیین کنید. به عنوان مثال، مهندس ممکن است استفاده از ماشینهای بردار پشتیبان یا یادگیری درخت تصمیم را انتخاب کند.
- طرح را کامل کنید. الگوریتم یادگیری را روی مجموعه آموزش جمع شده اجرا کنید. برخی از الگوریتمهای یادگیری تحت نظارت کاربر را ملزم به تعیین پارامترهای کنترل خاصی میکنند. این پارامترها ممکن است با بهینهسازی عملکرد در زیر مجموعه (مجموعه اعتبار سنجی) مجموعه آموزشی یا از طریق اعتبار سنجی متقابل تنظیم شوند.
- دقت تابع یادگرفته شده را ارزیابی کنید. پس از تنظیم پارامتر و یادگیری، عملکرد تابع حاصل باید روی مجموعه آزمایشی که جدا از مجموعه آموزش است سنجیده شود.
انتخاب الگوریتم
[ویرایش]طیف گستردهای از الگوریتمهای یادگیری تحت نظارت در دسترس است که هرکدام دارای نقاط قوت و ضعف هستند. هیچ الگوریتم یادگیری واحدی وجود ندارد که در تمام مسائل یادگیری تحت نظارت به بهترین وجه کار کند (به قضیه بدون نهار رایگان مراجعه کنید)
در یادگیری تحت نظارت چهار موضوع اصلی وجود دارد که باید در نظر گرفته شود:
تعادل بین واریانس و بایاس
[ویرایش]اولین مسئله، تعادل بین بایاس و واریانس است.[۳] تصور کنید که ما چندین مجموعه آموزش مختلف، اما به همان اندازه خوب، در دسترس داریم. یک الگوریتم یادگیری برای ورودی خاص بایاس است هنگامی که روی هر یک از این مجموعه دادهها آموزش داده میشود، بهطور سیستماتیک هنگام پیشبینی خروجی صحیح نادرست باشد. الگوریتم یادگیری از واریانس بالایی برخوردار است اگر برای ورودی خاص مقادیر خروجی مختلفی را پیشبینی کند هنگامی که بر روی مجموعههای آموزشی مختلفی آموزش دیدهاست. خطای پیشبینی یک طبقهبندی یادگرفته شده مربوط به مجموع بایاس و واریانس الگوریتم یادگیری است.[۴] بهطور کلی، بین بایاس و واریانس تعادلی وجود دارد. یک الگوریتم یادگیری با بایاس کم باید «انعطافپذیر» باشد تا بتواند دادهها را به خوبی برازش کند. اما اگر الگوریتم یادگیری بیش از حد انعطافپذیر باشد، متناسب با هر مجموعه داده آموزشی خواهد بود و از این رو واریانس بالایی دارد. یک جنبه اصلی بسیاری از روشهای یادگیری تحت نظارت این است که آنها میتوانند این تعادل را بین بایاس و واریانس (به صورت خودکار یا با ارائه پارامتر بایاس / واریانس که کاربر میتواند تنظیم کند) تنظیم کنند.
پیچیدگی تابع و مقدار دادههای آموزش
[ویرایش]مسئله دوم، میزان دادههای آموزشی موجود در رابطه با پیچیدگی عملکرد «واقعی» (طبقهبندی یا تابع رگرسیون) است. اگر تابع واقعی ساده باشد، یک الگوریتم یادگیری «انعطافناپذیر» با بایاس بالا و واریانس کم قادر به یادگیری آن از طریق مقدار کمی داده خواهد بود. اما اگر تابع واقعی بسیار پیچیده باشد (به عنوان مثال، شامل تعاملات پیچیدهای بین بسیاری از ویژگیهای مختلف ورودی باشد و در قسمتهای مختلف فضای ورودی متفاوت رفتار کند)، در این صورت عملکرد فقط قادر خواهد بود از مقدار بسیار زیادی از دادههای آموزش بیاموزد و استفاده از الگوریتم یادگیری «انعطافپذیر» با بایاس کم و واریانس زیاد. بین ورودی و خروجی مورد نظر یک مرز مشخص وجود دارد.
ابعاد فضای ورودی
[ویرایش]مسئله سوم، ابعاد فضای ورودی است. اگر بردارهای ویژگی ورودی ابعاد بسیار بالایی داشته باشند، مسئله یادگیری میتواند دشوار باشد حتی اگر تابع واقعی فقط به تعداد کمی از آن ویژگیها بستگی داشته باشد، این بدان دلیل است که بسیاری از ابعاد «اضافی» میتوانند الگوریتم یادگیری را گمراه و باعث واریانس زیاد آن شوند. از این رو، ابعاد ورودی بالا معمولاً نیاز به تنظیم طبقهبندی دارد تا دارای واریانس کم و بایاس زیاد باشد. در عمل، اگر مهندس بتواند بهطور دستی ویژگیهای نامربوط را از دادههای ورودی حذف کند، این امر احتمالاً عملکرد تابع یادگرفته شده را بهبود میبخشد. علاوه بر این، الگوریتمهای زیادی برای انتخاب ویژگی وجود دارد که به دنبال شناسایی ویژگیهای مربوط و کنار گذاشتن موارد بی ربط هستند. این نمونه ای از استراتژی کلی تر کاهش ابعاد است که میخواهد دادههای ورودی را قبل از اجرای الگوریتم یادگیری تحت نظارت، در یک فضای با ابعاد پایینتر ترسیم کند.
اختلال در مقادیر خروجی
[ویرایش]مسئله چهارم میزان اختلال در مقادیر خروجی مورد نظر (متغیرهای هدف نظارتی) است. اگر مقادیر خروجی مورد نظر اغلب نادرست باشند (به دلیل خطاهای انسانی یا خطاهای حسگر)، الگوریتم یادگیری نباید تلاش کند تابعی را پیدا کند که دقیقاً با نمونههای آموزش مطابقت داشته باشد. تلاش برای برازش داده خیلی دقیق منجر به بیش برازش خواهد شد. اگر تابعی که سعی در یادگیری آن دارید برای مدل یادگیری شما بسیار پیچیدهاست، حتی در صورت عدم وجود خطای اندازهگیری (اختلال تصادفی) میتوانید دچار پیش برازش شوید. در چنین شرایطی، بخشی از تابع هدف که نمیتواند مدلسازی شود، داده آموزش شما را خراب میکند - این پدیده را اختلال قطعی مینامند. وقتی هر دو نوع نویز وجود دارد، بهتر است با برآوردگر بابایاس بالاتر و واریانس پایینتر را انتخاب کنید.
در عمل، روشهای مختلفی برای کاهش اختلال در مقادیر خروجی وجود دارد مانند توقف زود هنگام برای جلوگیری از بیش برازش و همچنین شناسایی و حذف نمونههای آموزش پر اختلال قبل از آموزش الگوریتم یادگیری نظارت شده. چندین الگوریتم وجود دارد که نمونههای آموزش پر اختلال را شناسایی میکند و حذف نمونههای آموزش پر اختلال مشکوک قبل از آموزش باعث کاهش خطای تعمیم با اهمیت آماری شدهاست.[۵]
عوامل دیگری که باید در نظر گرفته شود
[ویرایش]از دیگر فاکتورهایی که هنگام انتخاب و استفاده از الگوریتم یادگیری باید در نظر گرفت، موارد زیر است:
- ناهمگنی دادهها. اگر بردارهای ویژگی شامل انواع مختلفی باشد (گسسته، مرتب گسسته، شمارش، مقادیر پیوسته)، برخی از الگوریتمها نسبت به بقیه آسان ترند. بسیاری از الگوریتمها، از جمله ماشینهای بردار پشتیبان، رگرسیون خطی، رگرسیون لجستیک، شبکههای عصبی و روشهای نزدیکترین همسایه، نیاز دارند که ویژگیهای ورودی عددی باشند و در محدودههای مشابه مقیاس بندی شوند (مثلاً به فاصله [-۱٬۱]). روشهایی که از تابع فاصله استفاده میکنند، مانند روشهای نزدیکترین همسایه و ماشینهای بردار پشتیبان با هسته گاوسی، به ویژه به این حساسیت دارند. یک مزیت درختان تصمیمگیری این است که آنها به راحتی از دادههای ناهمگن استفاده میکنند.
- افزونگی در دادهها. اگر ویژگیهای ورودی حاوی اطلاعات زائد باشد (به عنوان مثال، ویژگیهای بسیار همبسته)، برخی از الگوریتمهای یادگیری (به عنوان مثال، رگرسیون خطی، رگرسیون لجستیک و روشهای مبتنی بر فاصله) به دلیل بیثباتیهای عددی عملکرد خوبی ندارند. این مشکلات غالباً با اعمال نوعی نظم بخشی قابل حل هستند.
- وجود فعل و انفعالات و غیرخطی بودن. اگر هر یک از ویژگیها سهم مستقلی در خروجی داشته باشد، الگوریتمهای مبتنی بر توابع خطی (به عنوان مثال، رگرسیون خطی، رگرسیون لجستیک، ماشینهای بردار پشتیبان، بیز ساده) و توابع فاصله (به عنوان مثال، روشهای نزدیکترین همسایه، ماشینهای برداری با Gaussian هسته) بهطور کلی عملکرد خوبی دارند. با این حال، اگر تعاملات پیچیدهای بین ویژگیها وجود داشته باشد، الگوریتمهایی مانند درخت تصمیم و شبکههای عصبی بهتر کار میکنند، زیرا آنها بهطور خاص برای کشف این تعاملات طراحی شدهاند. روشهای خطی را نیز میتوان اعمال کرد، اما مهندس هنگام استفاده از آنها باید تعاملات را به صورت دستی مشخص کند.
هنگام بررسی یک برنامه جدید، مهندس میتواند چندین الگوریتم یادگیری را با هم مقایسه کند و بهطور آزمایشی تعیین کند که کدام یک روی مسئله مورد نظر بهتر کار میکند (به اعتبار سنجی متقابل مراجعه کنید). تنظیم عملکرد یک الگوریتم یادگیری میتواند بسیار وقت گیر باشد. با توجه به منابع ثابت، معمولاً بهتر است بیشتر از صرف وقت اضافی برای تنظیم الگوریتمهای یادگیری، وقت بیشتری را برای جمعآوری دادههای آموزش اضافی و ویژگیهای آموزنده بیشتر صرف کنید.
الگوریتمها
[ویرایش]پرکاربردترین الگوریتمهای یادگیری عبارتند از:
- پشتیبانی از ماشینهای برداری
- رگرسیون خطی
- رگرسیون لجستیک
- بیز ساده
- تجزیه و تحلیل تفکیک خطی
- درختان تصمیم
- k-الگوریتم نزدیکترین همسایه
- شبکههای عصبی (پرسپترون چند لایه)
- یادگیری شباهت
الگوریتمهای یادگیری تحت نظارت چگونه کار میکنند
[ویرایش]با توجه به مجموعه ای از نمونههای آموزشی فرم به طوری که بردار ویژگی مثال i ام است و برچسب آن است (به عنوان مثال، کلاس)، یک الگوریتم یادگیری به دنبال یک تابع است ، جایی که فضای ورودی است و فضای خروجی است. تابع عنصری از برخی از توابع احتمالی است ، معمولاً فضای فرضیه نامیده می شود. گاهی راحت است که را با استفاده از یک تابع امتیازدهی به طوری که به عنوان برگرداننده تعریف میشود به طوری که که بالاترین امتیاز را میدهد: . اجازه دهید فضای توابع امتیازدهی را نشان دهد.
با اینکه و میتواند هر فضایی از توابع باشد، بسیاری از الگوریتمهای یادگیری مدلهای احتمالی هستند به شکل یک مدل احتمال شرطی در میآید، یا به شکل یک مدل احتمال مشترک در میآید. به عنوان مثال، بیز ساده و تحلیل تفکیکی خطی مدلهای احتمال مشترک هستند، در حالی که رگرسیون لجستیک یک مدل احتمال شرطی است.
دو روش اساسی برای انتخاب یا وجود دارد: به حداقل رساندن ریسک تجربی و به حداقل رساندن ریسک ساختاری.[۶] به حداقل رساندن ریسک تجربی به دنبال تابعی است که به بهترین شکل دادههای آموزش را برازش کند. به حداقل رساندن ریسک ساختاری شامل یک تابع مجازات است که تعادل بایاس / واریانس را کنترل میکند.
در هر دو مورد، فرض بر این است که مجموعه آموزش شامل یک نمونه از جفتهای مستقل و توزیع شده یکسان است ، . برای اندازهگیری اینکه یک تابع چقدر متناسب با دادههای آموزش برازش داده شده، یک تابع هزینه تعریف شدهاست. برای آموزش نمونههای ، تابع هزینه برای پیشبینی مقدار برابراست با .
ریسک از تابع به عنوان هزینه مورد انتظار تعریف میشود. این را میتوان از طریق دادههای آموزش به صورت زیر تخمین زد
- .
به حداقل رساندن ریسک تجربی
[ویرایش]در به حداقل رساندن ریسک تجربی، الگوریتم یادگیری نظارت شده تابع که را به حداقل میرساند جستجو میکند. از این رو، میتوان با به کار بردن الگوریتم بهینهسازی برای یافتن ، یک الگوریتم یادگیری نظارت شده ساخت.
زمانی که توزیع احتمال شرطی است و تابع هزینه منفی لگاریتم
درست نمایی است: ، به حداقل رساندن ریسک تجربی معادل برآورد درست نمایی بیشینه است.
زمانی که شامل بسیاری از توابع است یا مجموعه آموزش به اندازه کافی بزرگ نیست، به حداقل رساندن ریسک تجربی منجر به واریانس بالا و تعمیم ضعیف میشود. الگوریتم یادگیری قادر است بدون تعمیم خوب، نمونههای آموزش را به خاطر بسپارد. این اصطلاحاً را بیش برازش میگویند.
به حداقل رساندن ریسک ساختاری
[ویرایش]به حداقل رساندن ریسک ساختاری با در نظر گرفتن مجازات قاعده مند سازی در بهینهسازی، به دنبال جلوگیری از بیش برازش است. مجازات قاعده مند شدن را میتوان نوعی تیغ اوکام دانست که تابعهای سادهتر را نسبت به تابعهای پیچیده ترجیح میدهد.
مجازاتهای بسیار متنوعی استفاده شدهاست که با تعاریف مختلف پیچیدگی مطابقت دارد. به عنوان مثال، موردی را در نظر بگیرید که تابع است یک تابع خطی از فرم است
- .
یکی از مجازات قاعده مند سازی مشهور است، که هنجار اقلیدسی توزین شده وزنها است که به آن نرم نیز میگویند نرمهای دیگر عبارتند از نرم ، ، و نرم ، که تعداد غیر صفر
ها است مجازات با نشان داده خواهد شد.
مسئله بهینهسازی یادگیری تحت نظارت، یافتن تابع است که مقدار زیر را حداقل میرساند
پارامتر تعادل بین واریانس و بایاس را کنترل میکند. زمانی که ، به مسئله به حداقل رساندن ریسک تجربی با تعصب کم و واریانس بالا میانجامد. چه زمانی بزرگ است، الگوریتم یادگیری تعصب زیاد و واریانس کم خواهد داشت. مقدار را میتوان از طریق اعتبار سنجی متقابل بهصورت تجربی انتخاب کرد.
پیچیدگی مجازات دارای یک تفسیر بیزی به عنوان منفی لگاریتم احتمال دارد ، ، که در این صورت احتمال خلفی است.
آموزش مولد
[ویرایش]روشهای آموزشی که در بالا توضیح داده شد، روشهای آموزش افتراقی هستند، زیرا آنها به دنبال یافتن تابع هستند که بین مقادیر مختلف خروجی تمایز خوبی ایجاد میکند (به مدل افتراقی مراجعه کنید). برای مورد خاص که در آن یک توزیع احتمال توأم است و تابع هزینه منفی لگاریتم
درست نمایی است الگوریتم به حداقل رساندن ریسک برای انجام آموزش تولیدی انجام می شود، زیرا میتواند به عنوان یک مدل مولد در نظر گرفته شود که نحوه تولید داده را بیان میکند. الگوریتمهای آموزش مولد اغلب سادهتر و از نظر محاسباتی کارآمدتر از الگوریتمهای آموزش افتراقی هستند. در بعضی موارد، میتوان محلول را به صورت بسته همانند بیز ساده و تحلیل تفکیک خطی محاسبه کرد.
تعمیمها
[ویرایش]روشهای مختلفی وجود دارد که میتواند مسئله یادگیری نظارت شده استاندارد را تعمیم دهد:
- یادگیری نیمه نظارت شده: در این تنظیمات، مقادیر خروجی دلخواه فقط برای زیر مجموعه ای از دادههای آموزش ارائه میشود. دادههای باقیمانده بدون برچسب هستند.
- نظارت ضعیف: در این تنظیمات، از منابع پر اختلال، محدود یا نا دقیق برای تهیه سیگنال نظارت برای برچسب گذاری دادههای آموزش استفاده میشود.
- یادگیری فعال: به جای اینکه فرض کنید همه مثالهای آموزشی در ابتدا داده شدهاند، الگوریتمهای یادگیری فعال با با نمونهگیری از کاربر انسانی، مثالهای جدید را به صورت تعاملی جمعآوری میکنند. غالباً، نمونهگیری بر اساس دادههای بدون برچسب است که سناریویی است که یادگیری نیمه نظارت شده را با یادگیری فعال ترکیب میکند.
- پیشبینی ساختاری: وقتی مقدار خروجی مورد نظر یک موجود پیچیدهاست، مانند یک درخت تجزیه یا یک نمودار برچسب خورده، روشهای استاندارد باید گسترش یابد.
- یادگیری رتبهبندی: وقتی ورودی مجموعه ای از اشیا و خروجی مورد نظر رتبهبندی آن اشیا باشد، سپس روشهای استاندارد باید گسترش یابد.
رویکردها و الگوریتمها
[ویرایش]- یادگیری تحلیلی
- شبکههای عصبی مصنوعی
- پس انتشار
- تقویت (متا الگوریتم)
- آمار بیزی
- استدلال مبتنی بر مورد
- یادگیری درخت تصمیم
- برنامهنویسی منطقی استقرایی
- رگرسیون روند گاوسی
- برنامهنویسی ژنتیکی
- روش گروهی مدیریت دادهها
- برآورد کنندههای هسته
- اتوماتای یادگیر
- سیستمهای طبقهبندی یادگیر
- حداقل طول پیام (درخت تصمیم، گراف تصمیم و غیره))
- یادگیری فضایی چند خطی
- طبقهبندی کننده بیز ساده
- طبقهبندی کننده حداکثر آنتروپی
- میدان تصادفی مشروط
- الگوریتم کی-نزدیکترین همسایه
- احتمالاً یادگیری تقریباً درست یادگیری (PAC)
- موج دار کردن قوانین، یک روش کسب دانش
- الگوریتمهای یادگیری ماشین نمادین
- الگوریتمهای یادگیری ماشین زیر نمادی
- ماشین بردار پشتیبانی
- حداقل پیچیدگی ماشین آلات (MCM)
- جنگلهای تصادفی
- گروههای طبقهبندی کننده
- سطوح سنجش
- پیش پردازش دادهها
- مدیریت مجموعه دادههای نامتعادل
- یادگیری رابطه ای آماری
- پروفتن، یک الگوریتم طبقهبندی چند معیاره
برنامههای کاربردی
[ویرایش]- بیوانفورماتیک
- شیمی فرماتیک
- بازاریابی پایگاه داده
- تشخیص دست خط
- بازیابی اطلاعات
- یادگیری رتبهبندی
- استخراج اطلاعات
- تشخیص اشیا در بینایی رایانه
- تشخیص نوری کاراکتر
- شناسایی هرزنامه
- الگوشناسی
- تشخیص گفتار
- یادگیری تحت نظارت یک مورد خاص از علل نزولی در سیستمهای بیولوژیکی است
- طبقهبندی فرم زمین با استفاده از تصاویر ماهواره ای[۷]
- نظریه یادگیری محاسباتی
- بایاس استقرایی
- بیش برازش (یادگیری ماشین)
- (غیر کالیبره شده) احتمال عضویت در کلاس
- یادگیری بدون نظارت
- فضاهای نسخه
جستارهای وابسته
[ویرایش]- لیست مجموعه دادهها برای تحقیقات یادگیری ماشین
منابع
[ویرایش]- ↑ Stuart J. Russell, Peter Norvig (2010) Artificial Intelligence: A Modern Approach, Third Edition, Prentice Hall شابک ۹۷۸۰۱۳۶۰۴۲۵۹۴.
- ↑ Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar (2012) Foundations of Machine Learning, The MIT Press شابک ۹۷۸۰۲۶۲۰۱۸۲۵۸.
- ↑ S. Geman, E. Bienenstock, and R. Doursat (1992). Neural networks and the bias/variance dilemma. Neural Computation 4, 1–58.
- ↑ G. James (2003) Variance and Bias for General Loss Functions, Machine Learning 51, 115-135. (http://www-bcf.usc.edu/~gareth/research/bv.pdf بایگانیشده در ۸ دسامبر ۲۰۲۰ توسط Wayback Machine)
- ↑ C.E. Brodely and M.A. Friedl (1999). Identifying and Eliminating Mislabeled Training Instances, Journal of Artificial Intelligence Research 11, 131-167. (http://jair.org/media/606/live-606-1803-jair.pdf بایگانیشده در ۴ اوت ۲۰۱۶ توسط Wayback Machine)
- ↑ Vapnik, V. N. The Nature of Statistical Learning Theory (2nd Ed.), Springer Verlag, 2000.
- ↑ A. Maity (2016). "Supervised Classification of RADARSAT-2 Polarimetric Data for Different Land Features". arXiv:1608.00501 [cs.CV].