یادگیریماشین، زیر مجموعهای از هوشمصنوعی است. با استفاده از تکنیکهای یادگیریماشین، کامپیوتر، الگوهای موجود در دادهها(اطلاعات پردازش شده) را یادگرفته و میتواند از آن استفاده کند. توجه داشته باشید که در این تکنیکها، یادگیریْ در یک سیستمِ کامپیوتری، بدون برنامهنویسیِ صریح(Explicit Programming) صورت میپزید. پاسخ به این سوال که برنامهنویسیِ صریح چیست و یادگیریماشین چطور کار میکند موردی است که در این درس به آن پاسخ میدهیم.
مثالِ کلاسیکِ زیر را در نظر بگیرید:
فرض کنید در یک فروشگاهِ بزرگِ خردهفروشی به صورت اینترنتی در حال خرید هستید. در زمان خرید، سه محصول مختلف را به سبد خرید خود اضافه میکنید. فرض کنید این سه محصول به صورت زیر است:
لپ تاپ سری N
موس بیسیم
یک عدد تمیز کننده مانیتور
حال، سیستم میخواهد به صورت هوشمند، به شما چند محصول دیگر را پیشنهاد دهد. مدل برنامهنویسی صریح، به این صورت است که مثلا، سیستم، محصولاتِ همدسته(مثلا یک سری محصولاتی که مربوط به حوزهی IT است) را به شما نمایش بدهد. در این حالت، هوشمندیِ خاصی در سیستم مشاهده نمیشود و در واقع، سیستم(ماشین) یادگیریِ خاصی انجام نمیدهد.
حال فرض کنید، سیستم از طریق الگوریتمهای یادگیریماشین، بتواند مشتریانِ قبلی خود را به گروههای مختلف تقسیمبندی کند(به این کار به اصطلاح خوشه بندی یا Clustering گفته می شود). با این کار، شما با تکمیلِ سبد خرید خود، به دستهای از مشتریانِ قبلی متعلق میشوید. با تعلقِ شما به گروهِ خاصی از مشتریان، محصولاتی که آنها(قبلاً) خریداری کردهاند(و شما در سبد خرید خود ندارید) به شما پیشنهاد داده میشود.