یادگیری ماشین به زبان ساده

افرادی که در حوزه‌های آکادمیک یا حتی در حوزه‌های مختلف برنامه‌نویسی فعالیت می‌کنند، مگر به ندرت با عبارت یادگیری ماشین (Machine Learning) برخوردی نداشته باشند. چراکه این حوزه تخصصی در عصر حاضر، راه خود را به تمام حوزه‌های دیگر به گونه‌ای باز کرده است.

از حوزه‌هایی که در حال حاضر این تکنولوژی و علم برای بهبود کارها در خودر استفاده می‌کنند می‌توانیم به حوزه‌های پزشکی از قبیل تشخیص بیماری‌های نادر یا دسته‌بندی تصاویر پزشکی، در حوزه‌های مالی مانند تشخیص فعالیت‌های غیرقانونی و تقلبی و حتی در حوزه‌های هنری، ادبیات، معماری و .... می‌توان رد پای یادگیری ماشین را پیدا کرد.

اما سوالی که پیش می‌آید این است که «یادگیری ماشین» در واقع به چه معناست و در کل چه کاری انجام می‌دهد.

برای پاسخ به این سوال ابتدا فرض را بر این بگیریم، کودکی در منزل داریم و قصد داریم به او، با استفاده از اشکال هندسی مانند مثلث، دایره و ... که با استفاده از کاغذهای رنگی به تعداد زیادی درست کرده‌ایم، این اشکال هندسی را فرا دهیم.

در این کار ابتدا ما نمونه‌های مختلفی را به او می‌دهیم (داده‌های آموزشی) و سپس نام هر یک (برچسب هر داده) به کودکمان می‌گوییم. با انجام این کار کودک ما تفاوت بین اشکال هندسی مانند مثلث، مربع یا دایره را فرا می‌گیرد تنها با دیدن نمونه‌هایی از این شکل‌های هندسی و عنوانین آن‌ها که در اختیار کودک قرار گرفته است (یادگیری). پس از یادگیری الگوی هر شکل و تفاوت بین آن‌ها، کودک پس از این کار می‌تواند به راحتی شکل‌های مختلف جدیدی که به او می‌دهیم را از یکدیگر تشخیص دهد (پیش‌بینی کردن). هرچه تعداد مثال‌ها و نمونه‌های آموزشی بیشتر باشد می‌توان بیان کرد که یادگیری کودک ما نیز بیشتر خواهد بود چرا که مختلف بیشتری را خواهد دید.

حال فرض کنید قصد داریم با دادن شکل‌های مختلف و نمونه‌هایی که تا به حال کودک ندیده است، او را امتحان کنیم که چقدر در عملیات یادگیری خود توانسته موفق باشد. به این خاطر نمونه‌هایی جدید که تا کنون ندیده است (داده‌های آزمایشی) به او می‌دهیم تا برای ما مشخص کند هر نمونه مربوط به کدام شکل هندسی است (ارزیابی دقت). اگر دقت تشخیص فرزند ما به حد نصاب مد نظر ما برسد که چه عالی در غیر اینصورت دوباره با فرزندمان کار خواهیم کرد.

این فرآیند که مورد بررسی قرار داده‌ام دقیقا همان یادگیری ماشین است با این تفاوت که رایانه‌ها و کامیپوتر‌ها در جایگاه این کودک قرار می‌گیرند و افراد مسئول وظیفه جمع آوری اطلاعات مورد نیاز، پاکسازی اطلاعات از موارد زائد و همچنین انتخاب شیوه آموزش وظیفه متخصصین این حوزه به شمار می‌آید.

اما اگر قصد داشته باشیم به صورت حرفه‌ای تر تعریفی از این حوزه داشته باشیم، خواهیم داشت:

«یادگیری ماشین به مجموعه‌ای از تکنیک‌ها و الگوریتم‌ها اطلاق می‌شود که به کامپیوترها این امکان را می‌دهد تا بدون برنامه‌ریزی مستقیم، از داده‌ها بیاموزند و بر اساس این یادگیری، تصمیم‌گیری کنند یا پیش‌بینی‌هایی انجام دهند.»

در این پست تنها قصد ما معرفی و تعریف عبارت «یادگیری ماشین» به زبان ساده بود. در ادامه مطالب بعدا به سراغ رویکردهای مختلف این حوزه‌ خواهیم پرداخت.