هوش مصنوعی

ماشین لرنینگ یا یادگیری ماشین چیست؟

با ماشین لرنینگ و کاربردهای آن بیشتر آشنا شوید.

یادگیری ماشین دقیقاً همان کاری را می کند که از عنوانش برمی آید. یادگیری ماشینی درواقع روشی است که با آن یک برنامه‌ رایانه ای می‌تواند بدون این که مستقیماً برنامه‌ریزی شده باشد، از روی تجربه و به طور خودکار یاد گرفته و بهبود یابد. برای روشن تر شدن موضوع در ادامه چند مفهوم را با هم بررسی می کنیم.

مدل‌سازی و یادگیری پیش‌بینی کننده

نحوه‌ یادگیری یک موجود زنده را در نظر بگیرید. فرض کنید یک پستچی داریم که همیشه در گشت روزانه‌اش یک مشت غذای سگ با خود می‌آورد. هروقت به خانه‌ای می‌رسد که سگ دارد، یکی از غذاها را با نامه داخل شکاف در می‌اندازد. سگ در داخل خانه بوی پستچی را حس می‌کند، و می‌داند که او هر روز ساعت 2 بعدازظهر به خانه می‌آید.

پس از چند روز که سگ در ساعتی مشابه و همراه نامه، غذا دریافت کرد، این الگو را یاد می‌گیرد: 2 بعدازظهر= پستچی= غذا.

سگ رفتار خود را طبق این الگو تنظیم می‌کند. هر روز در همان ساعت، هیجان‌زده شده و کنار در می‌نشیند. سپس با رسیدن پستچی دیوانه‌وار پارس می‌کند. طبیعتاً انحرافاتی نیز در مجموعه داده وجود دارد. گاهی پستچی متفاوتی می‌آید که غذا نمی‌آورد یا اینکه بعضی‌وقت‌ها پستچی دیرتر از همیشه می‌رسد. به‌علاوه این که جمعه‌ها خبری از نامه نیست!

بااین‌حال انتظارات سگ از این الگو تغییری نمی‌کنند، چون مدل پیش‌بینی کننده‌ای که ساخته، بیشتر اوقات درست از آب درمی‌آید. اگر سگ خیلی باهوش باشد، شاید بداند که باید قبل از هیجان‌زده شدن ببیند که آیا پستچیِ همیشگی آمده یا نه، و تشخیص دهد که هر هفت روز یک‌بار، هیچ‌کس نمی‌آید و بدین‌ترتیب مدل پیش‌بینی‌کننده‌ خود را دقیق‌تر و درست‌تر کند.

به‌طور کلی، یک برنامه‌ رایانه‌ای که یادگیری ماشینی را به کار می‌برد، از همین شیوه استفاده می‌کند. یعنی داده‌ها را تحلیل کرده و به دنبال یک الگو یا روند زیربنایی می‌گردد. این برنامه می‌بایست از این الگوها استفاده کرده و مدل پیش‌بینی‌کننده‌ای ایجاد کند که از داده‌های دریافت‌شده، یاد بگیرد.

الگوریتم‌ها

هر برنامه‌ یادگیری ماشینی به یک «مجموعه داده‌ آموزشی» نیاز دارد تا به آن یاد بدهد که انتظار چه نوع اطلاعاتی را می‌تواند داشته باشد و از آنجا متوجه شود که برنامه‌ریز به دنبال چه نوع اطلاعاتی می‌گردد. تفاوت میان یک سگ و برنامه‌ رایانه‌ای، قطعاً در حجم و پیچیدگی درون‌داده است.

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

الگوریتم‌ها سه دسته‌ عمده دارند که با نوع مجموعه داده‌های آموزشی که به آن ها داده می‌شود، تعریف می‌گردند. این سه دسته عبارت اند از: تحت نظارت، بدون نظارت و نیمه‌‌نظارتی.

هریک از این رویکردها، بسته به این که برنامه قرار است چه دستاوردی داشته باشد، مزایا و معایب خودش را دارد.

  • یادگیری تحت نظارت

مفهوم کلی: الگوریتم‌های یادگیری ماشین بر اساس مجموعه‌داده‌هایی آموزش می‌بینند که در آن ها یک ورودی فرضی، براساس یک تابع نگاشت، به یک خروجی مشخص می‌انجامد.

طرز کار: به گفته‌ جیسون برونلی «هدف، این است که تابع نگاشت را آن‌قدر خوب تقریب بزنیم که وقتی داده‌ ورودی تازه‌ای دارید (یعنی X) بتوانید متغیرهای خروجی (یعنی Y) برای آن داده را پیش‌بینی کنید.»

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

مسائل تحت نظارت را می‌توان به دو نوع تقسیم کرد:

• دسته‌بندی مرتب کردن خروجی در چند گروه است. نمونه‌ای از مسئله دسته‌بندی، فیلتر اسپم ایمیل شماست. به طوری که برنامه، ایمیل‌ها را خوانده و آن ها را براساس محتوایشان، در قالب اسپم یا غیر اسپم دسته‌بندی می‌کند.

• از سوی دیگر مسائل رگرسیون نوعی از خروجی را بیرون می‌دهند که قابل‌اندازه‌گیری است. مثلاً برنامه‌ای که با داشتن مسافت و مدل یک ماشین، تعداد گالون‌های گاز مورد نیاز در یک سفر جاده‌ای را حساب می‌کند، به الگوریتم رگرسیون نیاز خواهد داشت.

  • یادگیری بدون نظارت

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

طرز کار: وقتی که یک الگوریتم بدون نظارت، داده‌ها را تحلیل می‌کند، اغلب یکی از این دو علت را دارد:

• در یک مسئله‌ دسته‌بندی، هدف پیدا کردن گروه‌های خاصی در یک مجموعه داده است. کشف سن و توزیع درآمد مشتریان، نمونه‌ای از مسئله‌ دسته‌بندی است، چرا که برنامه می‌تواند به شما نشان دهد کدام گروه سنی و درآمدی رایج‌تر است.

• مسئله‌ وابستگی بیشتر بر یافتن قواعد یا الگوهایی تمرکز دارد که از یک مجموعه داده محافظت می‌کنند. وقتی جریان کاربران در وب‌سایت خود را تحلیل کرده و بررسی کنید که بیشتر به سمت کدام لینک‌ها کشیده می‌شوند،در واقع از  قانون وابستگی استفاده می‌کنید.

یادگیری ماشین
یادگیری ماشین
  • یادگیری نیمه‌نظارتی

مفهوم کلی: یادگیری ماشین نیمه‌نظارتی قاعدتاً ترکیبی از دو نوع اول است.

طرز کار: می‌توان در یک مسئله‌ واحد از شیوه‌های یادگیری تحت نظارت و بدون نظارت استفاده کرد.

مثلاً می‌توان با استفاده از یک الگوریتم بدون نظارت، پیش‌بینی‌هایی درمورد مجموعه‌ای از داده‌ها انجام داده و نتایج آن را در یک الگوریتم تحت نظارت وارد کرد.

یادگیری ماشین نیمه‌نظارتی، هیچ زیرگروه مشخصی ندارد و بیشترین کارایی را زمانی داراست که مجموعه داده‌های شما ترکیبی از نقاط داده‌‌ی با برچسب و بدون برچسب باشد.

شاید بتوان مسائل دنیای واقعی، مثل طبقه‌بندی مجموعه‌ای از عکس‌های واقعی را با یادگیری ماشین نیمه‌نظارتی، بهتر حل کرد.

موارد استفاده‌ یادگیری ماشین

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

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

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

بالا بردن هوش

مغز انسان، پردازشگر داده‌ حیرت‌آوری است اما محدودیت‌هایی دارد. مثلاً انسان هرگز نمی‌تواند کاری را بکند که یک موتور جستجو انجام می‌دهد چون حجم اطلاعات موجود در اینترنت بیش از توانایی پردازش انسان است.

یک برنامه یادگیری ماشین می‌تواند کاری را انجام دهد که اکثر انسان‌ها قادر به انجام دادنش هستند، مثل جستجوی کلیدواژه‌ها در یک صفحه وب، اما این کار را در مقیاسی انجام می‌دهد که فقط رایانه‌ها می‌توانند.

محمد افشار

دانشجوی کارشناسی مهندسی صنایع در دانشگاه صنعتی امیرکبیر، دبیر بخش ویژه‌نامه هوش مصنوعی اکوموتیو

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *