یادگیری ماشین دقیقاً همان کاری را می کند که از عنوانش برمی آید. یادگیری ماشینی درواقع روشی است که با آن یک برنامه رایانه ای میتواند بدون این که مستقیماً برنامهریزی شده باشد، از روی تجربه و به طور خودکار یاد گرفته و بهبود یابد. برای روشن تر شدن موضوع در ادامه چند مفهوم را با هم بررسی می کنیم.
ماشین لرنینگ چیست؟
ماشین لرنینگ، نوعی هوش مصنوعی است که به برنامههای نرمافزاری اجازه میدهد تا در پیشبینی نتایج دقیقتر شوند، بدون اینکه به صراحت برای این کار برنامهریزی شده باشند. الگوریتمهای یادگیری ماشین از دادههای تاریخی به عنوان ورودی برای پیشبینی مقادیر خروجی جدید استفاده میکنند.
اهمیت ماشین لرنینگ
ماشین لرنینگ به شرکتها دیدی از روند رفتار مشتری و الگوهای عملیاتی تجاری میدهد، همچنین از توسعه محصولات جدید پشتیبانی میکند، به همین دلیل از اهمیت زیادی برخودار است. بسیاری از شرکتهای پیشرو امروزی، مانند فیسبوک، گوگل و اوبر، ماشین لرنینگ را به بخش مرکزی عملیات خود تبدیل میکنند. این تکنولوژی به یک تمایز رقابتی مهم برای بسیاری از شرکتها تبدیل شده است.
مدلسازی و یادگیری پیشبینی کننده
نحوه یادگیری یک موجود زنده را در نظر بگیرید. فرض کنید یک پستچی داریم که همیشه در گشت روزانهاش یک مشت غذای سگ با خود میآورد. هروقت به خانهای میرسد که سگ دارد، یکی از غذاها را با نامه داخل شکاف در میاندازد. سگ در داخل خانه بوی پستچی را حس میکند، و میداند که او هر روز ساعت ۲ بعدازظهر به خانه میآید.
پس از چند روز که سگ در ساعتی مشابه و همراه نامه، غذا دریافت کرد، این الگو را یاد میگیرد: ۲ بعدازظهر= پستچی= غذا.
سگ رفتار خود را طبق این الگو تنظیم میکند. هر روز در همان ساعت، هیجانزده شده و کنار در مینشیند. سپس با رسیدن پستچی دیوانهوار پارس میکند. طبیعتاً انحرافاتی نیز در مجموعه داده وجود دارد. گاهی پستچی متفاوتی میآید که غذا نمیآورد یا اینکه بعضیوقتها پستچی دیرتر از همیشه میرسد. بهعلاوه این که جمعهها خبری از نامه نیست!
بااینحال انتظارات سگ از این الگو تغییری نمیکنند، چون مدل پیشبینی کنندهای که ساخته، بیشتر اوقات درست از آب درمیآید. اگر سگ خیلی باهوش باشد، شاید بداند که باید قبل از هیجانزده شدن ببیند که آیا پستچیِ همیشگی آمده یا نه، و تشخیص دهد که هر هفت روز یکبار، هیچکس نمیآید و بدینترتیب مدل پیشبینیکننده خود را دقیقتر و درستتر کند.
بهطور کلی، یک برنامه رایانهای که یادگیری ماشینی را به کار میبرد، از همین شیوه استفاده میکند. یعنی دادهها را تحلیل کرده و به دنبال یک الگو یا روند زیربنایی میگردد. این برنامه میبایست از این الگوها استفاده کرده و مدل پیشبینیکنندهای ایجاد کند که از دادههای دریافتشده، یاد بگیرد.
الگوریتمها
هر برنامه یادگیری ماشینی به یک «مجموعه داده آموزشی» نیاز دارد تا به آن یاد بدهد که انتظار چه نوع اطلاعاتی را میتواند داشته باشد و از آنجا متوجه شود که برنامهریز به دنبال چه نوع اطلاعاتی میگردد. تفاوت میان یک سگ و برنامه رایانهای، قطعاً در حجم و پیچیدگی درونداده است.
الگوریتمهای یادگیری ماشینی میتوانند حجم عظیمی از دادهها را پردازش کرده و براساس این اطلاعات، پیامدها و الگوها را پیشبینی نمایند. به مرور زمان که برنامه خودش را اصلاح میکند، مدل پیشبینیکننده دقیقتر و صحیحتر میشود، بدون این که نیازی به دستکاری بیرونی باشد.
الگوریتمها سه دسته عمده دارند که با نوع مجموعه دادههای آموزشی که به آن ها داده میشود، تعریف میگردند. این سه دسته عبارت اند از: تحت نظارت، بدون نظارت و نیمهنظارتی.
هریک از این رویکردها، بسته به این که برنامه قرار است چه دستاوردی داشته باشد، مزایا و معایب خودش را دارد.
-
یادگیری تحت نظارت
مفهوم کلی: الگوریتمهای یادگیری ماشین بر اساس مجموعهدادههایی آموزش میبینند که در آن ها یک ورودی فرضی، براساس یک تابع نگاشت، به یک خروجی مشخص میانجامد.
طرز کار: به گفته جیسون برونلی «هدف، این است که تابع نگاشت را آنقدر خوب تقریب بزنیم که وقتی داده ورودی تازهای دارید (یعنی X) بتوانید متغیرهای خروجی (یعنی Y) برای آن داده را پیشبینی کنید.»
در این مورد، برنامهریز مثل معلمی است که آزمون کوچکی از شاگردانش میگیرد. وی پاسخهای درست را میداند و هر بار که از شاگردانش امتحان میگیرد به آنها نمره میدهد. دانشآموزان آنقدر امتحان میدهند تا همگی، بدون استثنا قبول شوند.
مسائل تحت نظارت را میتوان به دو نوع تقسیم کرد:
• دستهبندی مرتب کردن خروجی در چند گروه است. نمونهای از مسئله دستهبندی، فیلتر اسپم ایمیل شماست. به طوری که برنامه، ایمیلها را خوانده و آن ها را براساس محتوایشان، در قالب اسپم یا غیر اسپم دستهبندی میکند.
• از سوی دیگر مسائل رگرسیون نوعی از خروجی را بیرون میدهند که قابلاندازهگیری است. مثلاً برنامهای که با داشتن مسافت و مدل یک ماشین، تعداد گالونهای گاز مورد نیاز در یک سفر جادهای را حساب میکند، به الگوریتم رگرسیون نیاز خواهد داشت.
-
یادگیری بدون نظارت
مفهوم کلی: یادگیری ماشین بدون نظارت در ازای ورودی فرضی، هیچ خروجی درستی ندارد. برخلاف یادگیری ماشین تحت نظارت، هیچ پاسخ مورد انتظار و هیچ معلمی وجود ندارد. فقط خود برنامه براساس دادهها جلو میرود. هدف از این نوع یادگیری ماشینی، تحلیل دادهها بهطور کلی و کشف واقعیاتی در مورد ساختار زیربنایی است.
طرز کار: وقتی که یک الگوریتم بدون نظارت، دادهها را تحلیل میکند، اغلب یکی از این دو علت را دارد:
• در یک مسئله دستهبندی، هدف پیدا کردن گروههای خاصی در یک مجموعه داده است. کشف سن و توزیع درآمد مشتریان، نمونهای از مسئله دستهبندی است، چرا که برنامه میتواند به شما نشان دهد کدام گروه سنی و درآمدی رایجتر است.
• مسئله وابستگی بیشتر بر یافتن قواعد یا الگوهایی تمرکز دارد که از یک مجموعه داده محافظت میکنند. وقتی جریان کاربران در وبسایت خود را تحلیل کرده و بررسی کنید که بیشتر به سمت کدام لینکها کشیده میشوند،در واقع از قانون وابستگی استفاده میکنید.
-
یادگیری نیمهنظارتی
مفهوم کلی: یادگیری ماشین نیمهنظارتی قاعدتاً ترکیبی از دو نوع اول است.
طرز کار: میتوان در یک مسئله واحد از شیوههای یادگیری تحت نظارت و بدون نظارت استفاده کرد.
مثلاً میتوان با استفاده از یک الگوریتم بدون نظارت، پیشبینیهایی درمورد مجموعهای از دادهها انجام داده و نتایج آن را در یک الگوریتم تحت نظارت وارد کرد.
یادگیری ماشین نیمهنظارتی، هیچ زیرگروه مشخصی ندارد و بیشترین کارایی را زمانی داراست که مجموعه دادههای شما ترکیبی از نقاط دادهی با برچسب و بدون برچسب باشد.
شاید بتوان مسائل دنیای واقعی، مثل طبقهبندی مجموعهای از عکسهای واقعی را با یادگیری ماشین نیمهنظارتی، بهتر حل کرد.
کاربردهای ماشین لرنینگ
امروزه ماشین لرنینگ در طیف وسیعی از کاربردها استفاده میشود. شاید یکی از معروفترین مثال ماشین لرنینگ در عمل، موتور توصیهای باشد که فید خبری فیسبوک را تامین میکند. فیس بوک از ماشین لرنینگ برای شخصی سازی نحوه ارائه فید هر عضو استفاده میکند. اگر عضوی مرتباً برای خواندن پستهای یک گروه خاص توقف کند، موتور توصیه شروع به نشان دادن فعالیتهای بیشتر آن گروه در فید میکند. در پشت صحنه، موتور در حال تلاش برای تقویت الگوهای شناخته شده در رفتار آنلاین اعضا است. اگر عضو الگوهای خود را تغییر دهد و نتواند پستهای آن گروه را در هفتههای آینده بخواند، فید اخبار مطابق با آن تنظیم میشود.
علاوه بر موتورهای توصیه، کاربردهای دیگر ماشین لرنینگ شامل موارد زیر است:
مدیریت ارتباط با مشتری
نرمافزار CRM میتواند از مدلهای یادگیری ماشین برای تجزیه و تحلیل ایمیل استفاده کند و اعضای تیم فروش را ترغیب کند که ابتدا به مهمترین پیامها پاسخ دهند. سیستمهای پیشرفتهتر حتی میتوانند پاسخهای بالقوه موثر را توصیه کنند.
هوش تجاری
فروشندگان BI و تجزیه و تحلیل از یادگیری ماشین در نرم افزار خود برای شناسایی نقاط داده بالقوه مهم، الگوهای نقاط داده و ناهنجاریها استفاده میکنند.
سیستمهای اطلاعات منابع انسانی
سیستمهای HRIS میتوانند از مدلهای یادگیری ماشین برای فیلتر کردن برنامهها و شناسایی بهترین نامزدها برای یک موقعیت باز استفاده کنند.
ماشین های خودران
الگوریتمهای ماشین لرنینگ حتی میتوانند این امکان را برای یک خودروی نیمهخودران فراهم کنند که یک جسم نیمه قابل مشاهده را تشخیص دهد و به راننده هشدار دهد.
دستیاران مجازی
دستیارهای هوشمند معمولاً مدلهای یادگیری ماشینی تحت نظارت و بدون نظارت را برای تفسیر گفتار طبیعی و زمینه عرضه ترکیب میکنند.
موارد استفاده یادگیری ماشین
این فنآوری، کاربردها و مزایای متعددی دارد. بهطور کلی، اگر بخواهیم کاری را انجام دهیم که نیازمند انطباقپذیری شبه انسانی است یا برای سنجش و تحلیل، مقیاس بزرگی دارد، به یادگیری ماشین نیاز داریم. به علاوه یادگیری ماشین به ما اجازه میدهد یک مدل تحلیلی بسازیم که حداقل در سطح نظری، عاری از جهتگیری انسانی باشد.
توانایی انسان در آموختن انجام خودکار برخی کارها، مثل فهمیدن سخنان شفاهی، قضاوت درمورد شرایط جاده و شناسایی آدمها در یک عکس، بهسادگی به یک برنامه رایانهای تبدیل نمیشود چون مستلزم یادگیری از تجارب است؛ مثل همان کاری که یک انسان میکند.
یادگیری ماشین برای تقلید از هوش انسانی در چند مؤلفه طراحی شده است. هر تکرار به برنامه کمک میکند دقت، صحت و توانایی خود را در انجام هر وظیفهای که به آن محول شده، بهبود بخشد.
بالا بردن هوش
مغز انسان، پردازشگر داده حیرتآوری است اما محدودیتهایی دارد. مثلاً انسان هرگز نمیتواند کاری را بکند که یک موتور جستجو انجام میدهد چون حجم اطلاعات موجود در اینترنت بیش از توانایی پردازش انسان است.
یک برنامه یادگیری ماشین میتواند کاری را انجام دهد که اکثر انسانها قادر به انجام دادنش هستند، مثل جستجوی کلیدواژهها در یک صفحه وب، اما این کار را در مقیاسی انجام میدهد که فقط رایانهها میتوانند.
مزایا و معایب ماشین لرنینگ چیست؟
ماشین لرنینگ موارد استفاده از پیشبینی رفتار مشتری تا تشکیل سیستم عامل برای خودروهای خودران را پشت سر گذاشته است. وقتی صحبت از مزایا میشود، یادگیری ماشین میتواند به شرکتها کمک کند تا مشتریان خود را در سطح عمیقتری درک کنند. با جمعآوری دادههای مشتری و ارتباط آن با رفتارها در طول زمان، الگوریتمهای ماشین لرنینگ میتوانند تداعیها را بیاموزند و به تیمها کمک کنند تا ابتکارات توسعه محصول و بازاریابی را مطابق با تقاضای مشتری تنظیم کنند.
برخی از شرکتها از ماشین لرنینگ به عنوان محرک اصلی در مدلهای تجاری خود استفاده میکنند. برای مثال، اوبر از الگوریتمهایی برای تطبیق رانندگان با سواران استفاده میکند. گوگل از یادگیری ماشین برای نمایش تبلیغات در جستجوها استفاده میکند. اما ماشین لرنینگ با معایبی نیز همراه است. اول از همه، میتواند گران باشد. پروژههای یادگیری ماشین معمولاً توسط دیتا ساینسها یا دانشمندان داده هدایت میشوند که حقوق بالایی دارند. این پروژهها همچنین به زیرساخت نرم افزاری نیاز دارند که میتواند گران باشد. همچنین مشکل سوگیری ماشین لرنینگ وجود دارد. الگوریتمهایی که بر روی مجموعههای دادهای آموزش داده شدهاند که جمعیتهای خاصی را حذف میکنند یا حاوی خطا هستند، میتوانند به مدلهای نادرستی از جهان منجر شوند که در بهترین حالت، شکست میخورند و در بدترین حالت، تبعیضآمیز هستند. هنگامی که یک شرکت فرآیندهای اصلی کسب و کار را بر اساس مدلهای مغرضانه قرار میدهد، ممکن است با آسیب قانونی و اعتبار مواجه شود.