این نوشته، بخشی از مجموعه مقالات «یادگیری ماشین» است که به زبان ساده، برای مدیران، اهالی کسبوکار و مارکتینگ، مدیر محصولها و توسعهدهندهها نوشته شده است. اینجا را کلیک کنید تا به فهرست کلی مقالات بروید.
وقتی آرتور ساموئل، برای اولین بار از عبارت «یادگیری ماشین» یا Machine Learning استفاده کرد، نه کامپیوترها سختافزار قدرتمندی داشتند، و نه اینترنتی وجود داشت که موجب انباشته شدن حجم عظیمی از دادهها شود. آرتور اینگونه یادگیری ماشین را تعریف کرد:
یادگیری ماشین: برنامهنویسی رایانهها برای یادگیری از تجربه – آرتور ساموئل (۱۹۵۹)
این تعریف قدیمی، خیلی خوب یادگیری ماشین را به ما معرفی میکند. ما با یادگیری ماشین، دادهها را به خورد ماشینها میدهیم و با برنامهنویسی، کاری میکنیم که آنها، از الگوهای پیچیده درون دادهها سر در بیاورند و بتوانند وظایف دشوار را به عهده بگیرند.
با یک مثال شروع کنیم: فرض کنید که ما یک کیوسک فروش بستنی داریم. میزان فروش بستنی، در روزهای مختلف سال متفاوت است. برای اینکه بتوانیم به همه مشتریان بستنی بفروشیم، میخواهیم تعداد سفارشات روز آتی را تخمین بزنیم. براساس تجربه، این را میدانیم که فروش بستنی، به دمای هوا وابسته است؛ در روزهای گرمتر، تعداد مشتریان افزایش مییابد.
برای تخمین فروش، قصد داریم از یادگیری ماشین استفاده کنیم. همانطور که گفتیم، ماشینها برای یاد گرفتن، نیاز به تجربه (داده) دارند. قبل از هر کار دیگری، باید دادههای لازم را جمعآوری کنیم. بنابراین هر روز، تعداد بستنیهای فروخته شده را در کنار دمای هوا ثبت میکنیم:
دمای هوا (°C) | فروش بستنی |
---|---|
۲۵/۶ | ۹۲ |
۳۴/۳ | ۱۴۰ |
۳۱ | ۱۱۵ |
۲۹ | ۱۰۲ |
۲۲/۳ | ۱۰۴ |
۲۲/۳ | ۸۷ |
۲۰/۹ | ۸۴ |
۳۳ | ۱۱۸ |
۲۹ | ۱۱۱ |
۳۰/۶ | ۱۲۴ |
۲۰/۳ | ۷۰ |
۳۴/۵ | ۱۴۲ |
۳۲/۵ | ۱۲۴ |
۲۳/۲ | ۹۰ |
۲۲/۷ | ۸۵ |
۲۲/۸ | ۱۱۰ |
۲۴/۶ | ۹۸ |
۲۷/۹ | ۱۰۱ |
۲۶/۵ | ۱۱۴ |
۲۴/۴ | ۸۵ |
آموزش دادن به ماشین
هدفمان از جمعآوری این دادهها چه بود؟ اینکه به کمک آنها، به کامپیوتر یاد بدهیم که براساس دمای هوای روز، تعداد فروش بستنی را تخمین بزند.
اگرچه هوش مصنوعی این روزها به «جادو» میماند، ولی هیچ راه جادوییای برای آموزش دادن به ماشینها وجود ندارد. فرایند آموزش دادن، کاری دشوار و اغلب فرسایشی است که بر ریاضیات استوار است. بسته به هدفی که داریم، باید مسئله را بهگونهای تبیین کنیم که ماشین بتواند خروجی موردنظر ما را تولید کند.
بنابراین، تعریف و تبیین مسئله، یعنی بیان کردن آن به صورتی که برای ماشین قابلهضم و قابلپردازش باشد. این یکی از پیچیدهترین بخشهای یادگیری ماشین است. خوشبختانه، ما قصد ورود به این بخشها را نداریم و فقط میخواهیم، درکی واقعبینانه از یادگیری ماشین داشته باشیم.
به مثال بستنیفروشی برگردیم. ماشین چطور میتواند براساس دادهها، به رابطه بین دمای هوا و تعداد فروش بستنیها پی ببرد؟ بیایید دادهها را روی صفحه بریزیم:

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

خط قرمز میتواند به طور تقریبی به ما بگوید که در دماهای مختلف، فروش بستنی چقدر است. به عنوان مثال، اگر دمای هوای یک روز ۲۶ درجه باشد، انتظار داریم فروش بستنی کمی بیشتر از ۱۰۰ واحد باشد:

میتوانیم خط قرمز را یک «مدل» بنامیم که به طور تقریبی، تعداد بستنیها را براساس دما تخمین میزند. در اینجا، نقطهها را هم حذف میکنیم تا با یک مدل تر و تمیز طرف باشیم:

به زبان ساده، ساخت یک مدل و آموزش دادن آن، یعنی از نقطههای آبیرنگ تصویر اول، به خط قرمز رنگ تصویر چهارم (تصویر بالا) برسیم.
برای رسیدن به این مدل، ما باید برنامهای بنویسیم که نقاط آبیرنگ را بگیرد و خطی را درست از بین آنها عبور دهد. به عبارت دیگر، برنامه، باید معادله خطی را به دست بیاورد که کمترین فاصله را با نقاط روی صفحه دارد.
تعریف مدل
تا اینجا ذهنیت اولیهای پیدا کردهایم که در دنیای «یادگیری ماشین»، «مدل» چه معنایی دارد. به طور معمول، هر مدل با یک معادله ریاضی نمایش داده میشود:
y = f(x)
در عبارت بالا، x متغیر ورودی (دمای هوا) و y متغیر خروجی ماست (تعداد فروش بستنی). f در اینجا تابعی است که نشان میدهد دمای هوا و تعداد فروش بستنی، چه رابطهای با هم دارند. همانطور که بالاتر اشاره کردم، فرض ما این است که تعداد فروش بستنی، به شکلی از دمای هوا تبعیت میکند.
در یادگیری ماشین، هدف این است که با استفاده از مجموعهای از دادههای آموزشی (شبیه به جدولی که بالاتر دیدیم)، به تابع f برسیم. به عبارت دیگر، میخواهیم ببینیم رابطه متغیر x (دمای هوا) و y (تعداد بستنی) چگونه است. اگر چنین رابطهای (تابع) را پیدا کنیم، میتوانیم تعداد فروش بستنی را در دمای دلخواه تخمین بزنیم؛ بدون اینکه چنین دمایی در تاریخچه دادههای ما ثبت شده باشد.
در مثال بالا، خط قرمز رنگ (=مدل فروش بستنی) به ما این امکان را داد که بفهمیم در دمای ۲۶ درجه، تعداد فروش بستنی حدودا چند تاست. این در حالی است که در مشاهدات ما، برای هیچ روزی دمای ۲۶ درجه ثبت نشده بود که ما بتوانیم تعداد فروش بستنی را بررسی کنیم.
اما همانطور که بالاتر گفتم، یادگیری ماشین، جادو نیست. ماشین بدون راهنمایی، نمیتواند رابطه بین متغیرها را کشف کند. به همین خاطر، ما داریم با تعریف مسئله، به ماشین سرنخ میدهیم: «هی ماشین! چیزی که ما دنبالش هستیم، یک نمودار خطی است. تو باید خطی را از بین نقاط آبی رنگ عبور دهی، به شکلی که کمترین فاصله را با این نقاط داشته باشد».
بنابراین، اگر مسئلهای که به دنبال حل کردن آن هستیم، متفاوت باشد باید آن را به گونهای تعریف کنیم که ماشین بتواند به تابع f برسد یا به عبارت دیگر، رابطهٔ مقادیر را در دادههای آموزشی پیدا کند. بدون این راهنمایی، کاری از دست ماشین بر نمیآید.
رابطه هوش مصنوعی و یادگیری ماشین
در سالهای اخیر، یادگیری ماشین به موتور محرک هوش مصنوعی تبدیل شده است. زیرا ابزارهایی که «هوش مصنوعی» را در مرکز توجه جهانیان قرار داده، توسط یادگیری ماشین یا ML توسعه داده شده است. این باعث شده بعضیها گمان کنند که یادگیری ماشین، همان هوش مصنوعی است.
اما در حقیقت، این دو با هم یکسان نیستند. هوش مصنوعی یعنی ماشینها بتوانند شبیه به ما انسانها، فکر کنند و یاد بگیرند و به صورتی هوشمندانه، وظایفشان را به انجام برسانند. یادگیری ماشین، یکی از روشهای مهمی است که ماشینها را قادر به انجام این کار میسازد. اما هوش مصنوعی صرفا به یادگیری ماشین محدود نمیشود.
جمعبندی
برای ساختن یک مدل یادگیری ماشین، ما باید…
- دادههای آموزشی را جمعآوری و مرتب کنیم.
- مسئله را تعریف کرده و با نوشتن یک برنامه، ماشین را درباره نحوه رسیدن به مدل، راهنمایی کنیم.
- برنامه را اجرا کنیم تا ماشین با پردازش دادهها، آموزش ببیند.
در نهایت، باید راهی برای سنجش دقت و صحت عملکرد مدل، طراحی کنیم.
آنچه خواندید، بخشی از سلسله مطالبی درباره یادگیری ماشین است. این نوشتهها مخصوص مدیران و افراد غیرفنی است که میخواهند، بدون ورود به جزئیات، از هوش مصنوعی و یادگیری ماشین سر در بیاورند.
در نوشتههای بعدی، این مباحث را ادامه خواهم داد.
نوشتههای روزانه من را درباره محصول، فناوری و کسبوکار در تلگرام دنبال کنید!
دیدگاهتان را بنویسید