یادگیری ماشین چیست؟

مقدمه
در این مقاله ابتدا یادگیری ماشین را تعریف کرده، سپس ضرورت وجود این علم را بیان نموده و در نهایت 3 عنصر تشکیل دهنده یادگیری ماشین را معرفی میکنیم.
تعریف
یادگیری ماشین[1] یک زیر شاخه از علوم کامپیوتر[2] است که هدف آن آموختن کامپیوتر است. اما از اولین زمانی که کامپیوتر ساخته شد، بشر به دنبال این بوده است که آیا کامپیوتر هم میتواند به مانند انسان مطالب را بیاموزد یا خیر. در سال 1959 میلادی، مرجع [2] رویکردهایی را برای ایجاد الگوریتمی ارائه داد که هدفش بهتر شطرنج بازی کردن در مقابل شطرنج بازان تازهکار بود. چنین هدفی اساساً جسورانه محسوب میشد چرا که کامپیوترها در آن زمان به لحاظ سخت افزاری بسیار محدود بودند. با این وجود، این موضوع خود نشان دهنده اهمیت یادگیری ماشین در بدو تولد کامپیوترها است.
ضرورت
این روزها کاربران از کامپیوترها میخواهند که کارهای پیچیده را انجام داده و انواعی از مسائل جدید را حل کند در حالی که داده توسط بسیاری از دستگاهها از قبیل ماهوارهها، تلفنهای همراه، حسگرها تولید میشود. پژوهشگران در تمامی حوزهها از جمله آماردانان، دانشمندان علوم کامپیوتر و مهندسان تلاش برای آموختن کامپیوتر را از طریق پیشنهاد تکنیکهای جدید به منظور مرتفع کردن نیاز کاربران جدید شروع کردهاند.
یادگیری ماشین به مثال یک سیستم
داده[3] به عنوان ورودی[4] هر سیستم یادگیری ماشین است. داده شامل نمونههایی از یک جامعه است و الگوریتمهای یادگیری ماشین این نمونهها را در داده موجود تعمیم میدهند تا مدلهای ریاضی تشکیل شود. این مدلها میتوانند به منظور پیشبینی خروجی[5]های جدید از نمونههای جدید باشند. دادهای که به عنوان ورودی در مدل یادگیری استفاده میشود را داده آموزش[6] مینامند.
تفاوت برنامهنویسی با یادگیری ماشین
آموزش[7] فرآیندی پیچیده است و تا به امروز تعریف مشترکی برای آن وجود ندارد اما از آن جایی که هدف ما آموزش کامپیوتر است، می بایست برنامهنویسی کامپیوتر را به عنوان عنصر اصلی در نظر بگیریم. در دو تصویر پایین، تفاوت بین برنامهنویسی سنتی (a) و یادگیری ماشین (b) را مشاهده میکنید:
همانطور که مشاهده میکنید، تفاوت برنامهنویسی سنتی و یادگیری ماشین در این است که در یادگیری ماشین برنامه به روز میشود که در نهایت خروجی آن را مدل مینامیم. این مدل قادر است که در ازای ورودیهای جدید، خروجیهای جدید را ارائه دهد. با توجه به این تعریف، حال میتوانید فرآیند یادگیری ماشین را به طور شماتیک در شکل زیر مشاهده کنید:
حال، مجموعه داده آموزش[8] را با X نمایش میدهیم که در واقع ورودی الگوریتم یادگیری ماشین است. اگر به ازای هر نمونه، خروجی هم داشته باشیم (یادگیری با ناظر)، آنگاه مجموعه داده را میتوان به صورت زیر نمایش داد:
که در آن m بیانگر اندازه X یا مجموعه آموزش است و برچسب است . بعد از ارزیابی مدل، میتوانیم توسط داده ورودی جدید متوجه شویم که مدل ساخته شده چقدر خوب پیشبینی میکند. بر اساس این که به دنبال چه هدفی هستیم، خروجیهای پیشبینی شده میتواند مقداری گسسته[9]، پیوسته[10] و یا خوشه[11] باشد. در ادامه اجزای فرآیند یادگیری را معرفی و سپس به طور خلاصه به هر یک از این اجزا اشاره میکنیم.
اجزای یادگیری به شرح زیر هستند:
- نمایش یا نحوه ارائه[12]:
نحوه ارائه مدل توسط برخی از الگوریتمها است. بسته به این که چه خروجی مدنظر است، فضای فرضیه[13] ارائه شده متفاوت خواهد بود.
- ارزیابی[14]:
برای این که ببینیم مدل (فرضیه) ارائه شده تا چه اندازه مناسب است، باید معیارهایی را مورد بررسی قرار دهیم و این که چه معیاری را برگزینیم بستگی به نوع داده و خروجی و مسأله پیش رو است.
- بهینهسازی[15]:
هدف ما در بهینهسازی مسائل یادگیری ماشین بیشینهسازی معیارهای عملکردی است.
جدول زیر برخی نمونه از هر یک از این سه جزء را معرفی میکند. برای مثال، درخت تصمیم[16] یک مجموعه داده آموزشی را به کلاسهای از پیش تعریف شده طبقهبندی میکند. عنصر ارزیابی میتواند میزان دقت[17] الگوریتم باشد به این معنا که چه تعداد از کلاسها به درستی کلاسه شدهاند. تابع بینظمی یا آنتروپی[18] میتواند معیاری برای اندازهگیری ناب بودن[19] ویژگیهای درون درخت باشد؛ به عبارت سادهتر، این تابع میزان اطلاعاتی را که نیاز است تا یک نمونه کلاسه شود را مشخص میکند. جدول زیر گزینههای موجود برای طراحی سیستم یادگیری ماشین مدنظر ما را نشان میدهد اما توجه داشته باشید هر نحوه نمایشی (اولین ستون جدول) رویکرد ارزیابی و بهینهسازی مختص به خود را دارد. به عنوان نمونه، میتوانیم از Greedy Recursive Partitioning برای درخت تصمیم و همچنین از معیار دقت برای ارزیابی آن استفاده کنیم. اگرچه یک دستورالعمل ساده برای انتخاب بهترین رویکرد ممکن به منظور انتخاب سه عنصر یادگیری ماشین وجود ندارد، اما موفقیت یا شکست یک یادگیرنده بستگی به این دارد که مسأله چقدر مناسب تعریف شده و این که کیفیت مجموعه داده آموزش چقدر است.
بهینهسازی | ارزیابی | نحوه نمایش |
گرادیان نزولی[20] | دقت[21] | رگرسیون لجستیک[22] |
جستجوی حریص[23] | صحت/بازخوانی[24] | شبکههای عصبی |
جستجوی پرتوی[25] | مربع خطا[26] | رگرسیون خطی[27] |
برنامهریزی خطی[28] | تابع هزینه[29] | درخت تصمیم |
بیشترین نزول حریص[30] | ریشه میانگین مربع خطا[31] | روش k کلاسه[32] |
تقریب تصادفی[33] | جنگل تصادفی | |
افراز حریصانه بازگشتی[34] | بیز ساده[35] |
به عنوان مثال، باد و دما بر روی Pace (مدت زمانی که طول میکشد تا باد یک کیلومتر را طی کند) تاثیر دارند. به همین منظور، جدول زیر را درنظر بگیرید:
Pace (min) | دما (برحسب درجه سیلیسیوس) | سرعت باد (برحسب کیلومتر بر ساعت) |
3.5 | 12.3 | 10.5 |
3.2 | 15.4 | 8.9 |
5.5 | 13.7 | 20.2 |
4.0 | 3.1 | 5.1 |
جدول 1: مجموعه داده مربوط به Pace
اندازه نمونه یا m در این مثال 4 است .ستونهای اول و دوم در واقع معرف متغیرهای ورودی ما یعنی و هستند و متغیر پاسخ (خروجی) ما در ستون سوم خواهد بود. توجه داشته باشید که چون متغیر پاسخ ما در این مثال از جنس سرعت (دقیقه بر کیلومتر) است، یک مسأله رگرسور در پیش رو داریم چراکه متغیر پاسخ پیوسته است.
حال اگر بخواهیم این مساله را توسط رگرسیون خطی نمایش دهیم، مدل به صورت زیر خواهد بود:
که در آن وزنها یا پارامترهای مدل هستند که گاهی با هم نمایش داده میشوند، معرف k امین ویژگی از i امین نمونه در مجموعه داده X است و مقدار پیشبینی شده برای خروجی i امین نمونه است. اما هدف ما چیست؟ هدف این است که تاحد ممکن به مقدار دردسترس نزدیک باشد.
معرف میزان انحراف مدل است. چالش مورد نظر این است که ، و را طوری تعیین کنیم که مقدار به مقدار تا حد ممکن نزدیک شود. برای نمایش سادهتر (خصوصاً وقتی تعداد ویژگیها زیاد باشد)، مناسبتر این است که از نمایش ماتریسی استفاده کنیم.
در گام بعدی، باید مدل ارائه شده را مورد ارزیابی (سومین عنصر یادگیری ماشین) قرار دهیم. یک معیار ارزیابی متداول برای مدل رگرسیون خطی استفاده از ریشه میانگین مربع خطا (RMSE) است. هرچقدر این شاخص مقدار کمتری داشته باشد (به صفر نزدیکتر باشد)، پیشبینیها بهتر هستند. لازم به ذکر است که این ارزیابی را در فاز آموزش هم تکرار میکنیم. در قدم نهایی، فرض کنید داده جدیدی را دریافت کردیم که بیان میکند سرعت باد 12 و دما 11 است. بر این اساس و با توجه به بردار پارامترها که محاسبه شد، مقدار متغیر پاسخ به ازای این ورودی جدید برابر با خواهد بود.
مراجع
[1] Alan Said. Vicenc Torra, Data Science in practice, Springer, Volume 46
[2] Samuel, A. L. (1959). Some studies in machine learning using the game of checkers. IBM Journal of Research and Development, 3(3), 210–229
معادلات انگلیسی موجود در مقاله
[1] Machine Learning
[2] Computer Science
[3] Data
[4] Input
[5] Output
[6] Training data
[7] Learning
[8] Training Set
[9] Discreet
[10] Continuous
[11] Cluster
[12] Representation
[13] Hypothesis
[14] Evaluation
[15] Optimization
[16] Decision Tree
[17] Accuracy
[18] Entropy
[19] Purity
[20] Gradient Descent
[21] Accuracy
[22] Logistic Regression
[23] Greedy Research
[24] Precision/Recall
[25] Beam Research
[26] Squared Error
[27] Linear Regression
[28] Linear programming
[29] Cost function
[30] Greedy steepest descent
[31] Mean of square error (MSE)
[32] K-means
[33] Stochastic approximation
[34] Greedy recursive partitioning
[35] Naïve bayes
دیدگاهتان را بنویسید