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