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