یادگیری ماشین یکی از زیرشاخه های هوش مصنوعی است. مفهوم کلی آن بسیار ساده است: حجم زیادی از اطلاعات را وارد یک الگوریتم می کنید؛ الگوریتمی که می تواند الگوهای تکرارشونده را شناسایی کند و هر گونه اطلاعات جدید را با آن الگوها مطابقت بدهد. به صورت نظری می توان گفت هرچه میزان اطلاعات ورودی بیشتر باشد، توانایی الگوریتم برای شناسایی و تفسیر موقعیت های مشابه در آینده بیشتر خواهد شد.
یادگیری ماشین به کامپیوتر این امکان را می دهد یک سگ را از یک گربه تمیز دهد، ماهیت بیماری ها را بررسی کند و میزان انرژی برق مصرفی هر خانوار (و البته کل شبکهٔ مصرف ملی) را در یک بازهٔ زمانی خاص تخمین بزند و البته نمی توان موفقیت های آن را در پیروزی بر بازیکنان حرفه ای شطرنج و وی چی نیز نادیده گرفت.
در زندگی روزانه، ما از همه طرف توسط چنین الگوریتم هایی احاطه شده ایم؛ الگوریتم هایی که با پردازش حجمی باورنکردنی از اطلاعات تصمیم می گیرند فیلم بعدی ای که شبکهٔ نتفلیکس به شما پیشنهاد می کند چه خواهد بود، بانکتان چه زمانی به این نتیجه می رسد که قربانی کلاهبرداری شده اید و کدام ایمیل هایتان باید به پوشهٔ هرزنامه ها منتقل شود.
اگرچه این برنامه های ساده تر و پایه ای تر اصولا در ذهن انسان از جایگاه خاصی برخوردار نیستند، اما همین برنامه های کامپیوتری ساده هم می توانند نکات مهمی در مورد چگونگی استفادهٔ کاراتر از کامپیوتر ذهنمان به ما بیاموزند. برای این که بدانیم چطور، ابتدا لازم است با معمول ترین روش های یادگیری ماشین آشنا شویم: یادگیری نظارت شده و یادگیری بی نظارت.