رشد و توسعه فردی

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

حتما توجه کرده‌اید که وقتی در موتور جست و جوی گوگل کلمه‌ای را سرچ می‌کنید، گوگل نزدیکترین نتایج با کلمه جست‌وجو شده شما را نمایش می‌دهد!! به عنوان مثال، جست و جوی تصاویر کلمه سگ در گوگل را در نظر بگیرید؛ همانطور که مشاهده می‌کنید، گوگل فوق‌العاده در آوردن نتایج مرتبط مهارت دارد، اما این مهارت از کجا آمده و گوگل چگونه چنین کاری را انجام می‌دهد؟

در واقع این به یادگیری ماشینی یا machine learning مربوط می‌شود. به عبارت ساده، گوگل ابتدا تعداد زیادی مثال (مجموعه داده تصاویر) از عکس‌ها را با عنوان "سگ" بدست می‌آورد، سپس رایانه (سیستم یادگیری ماشین) به دنبال الگوهای پیکسل و الگوهای رنگ است که به آن کمک می‌کند تا حدس بزند تصاویری که گوگل یافته واقعا تصویر یک سگ است یا نه.

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

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

یادگیری ماشینی (machine learning) شاخه‌ای از هوش مصنوعی است که شامل روش‌ها یا الگوریتم‌هایی برای ایجاد خودکار مدل‌ها از داده‌ها است. برخلاف سیستمی که با رعایت قوانین صریح وظیفه‌ای را انجام می‌دهد، سیستم یادگیری ماشین از تجربه می‌آموزد.

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

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

  1. پیدا کردن، استخراج و جمع بندی داده‌های مربوطه
  2. پیش‌بینی بر اساس تجزیه و تحلیل داده‌ها
  3. محاسبه احتمالات برای نتایج خاص
  4. سازگاری با برخی از تحولات به طور مستقل
  5. بهینه سازی فرایندها بر اساس الگوهای شناخته شده

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

تفاوت یادگیری ماشینی و هوش مصنوعی 

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

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

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

یادگیری ماشینی چگونه کار می‌کند؟

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

یادگیری ماشینی نیز به همین روش کار می‌کند؛ یعنی از طریق داده‌ها و دستورات خاص به عنوان ورودی، کامپیوتر قادر به "یادگیری" برای شناسایی اشیا خاص (اشخاص ، اشیا، و غیره) و تشخیص تفاوت میان آن‌ها است.

یک برنامه نویس مثلا می‌تواند به سیستم بگوید که یک شی خاص یک انسان است  ("human"=object) و یک شی دیگر یک انسان نیست ("no human"another object=).
این نرم افزار، بازخورد مداوم را از برنامه‌نویس دریافت می‌کند.

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

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

هر سکه دو رو دارد، هر روی سکه خاصیت و ویژگی‌های خاص خود را دارد. یادگیری ماشینی نیز مانند دو روی یک سکه، مزایا و معایبی دارد و وقت آن رسیده که به بررسی آن‌ها بپردازیم.

مزایای یادگیری ماشینی

1. روندها و الگوها را به راحتی شناسایی می کند

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

2. نیازی به مداخله انسانی نیست (اتوماسیون)

به لطف یادگیری ماشینی، نیازی نیست که در هر مرحله وضعیت پروژه خود را بررسی کنید. چرا  که دادن توانایی یادگیری به ماشین‌ها، به آن‌ها اجازه می‌دهد پیش بینی‌ها را انجام دهند و همچنین الگوریتم‌ها را به تنهایی بهبود ببخشند. یک نمونه متداول، نرم افزارهای ضد ویروس است. آن‌ها یاد می‌گیرند تهدیدهای جدید را به محض شناسایی فیلتر کنند. یادگیری ماشینی در تشخیص هرزنامه (اسپم) نیز تبحر دارد.

3. پیشرفت مداوم

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

4. مدیریت داده‌های چند بعدی و چند رقمی

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

5. برنامه‌های گسترده

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

معایب یادگیری ماشین

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

1. اکتساب داده‌ها

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

2. زمان و منابع

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

3. تفسیر نتایج

 

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

4. هزینه بالا

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

5. حساسیت بالای خطا

یادگیری ماشینی مستقل است؛ اما در برابر خطاها بسیار حساس است. فرض کنید شما یک الگوریتم با مجموعه داده ها را به اندازه کافی کوچک آموزش می‌دهید تا فراگیر نباشد (یعنی مثلا جمعیت خاصی را حذف کند).
در آخر شما با پیش‌بینی‌های مغرضانه‌ای که از یک مجموعه آموزشی مغرضانه حاصل می‌شود، رو به رو خواهید بود. این امر منجر به نمایش تبلیغات بی ربط برای مشتریان می‌شود. در مورد یادگیری ماشینی، چنین اشتباهاتی می‌تواند خطاهای زنجیره‌ای ایجاد کند که برای مدت طولانی قابل شناسایی نیستند و هنگامی که مورد توجه قرار گرفتند، شناختن منبع مسئله و حتی تصحیح آن مدت زمان بیشتری طول می‌کشد.

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

انواع یادگیری ماشینی

- یادگیری تحت نظارت (Supervised learning)

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

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

- یادگیری بدون نظارت (Unsupervised learning)

در یادگیری بدون نظارت، هوش مصنوعی بدون مقادیر از پیش تعیین شده و بدون پاداش یاد می‌گیرد. عمدتاً برای یادگیری تقسیم‌بندی (خوشه بندی) استفاده می‌شود. دستگاه سعی می‌کند داده‌های وارد شده را براساس مشخصات خاصی مرتب کند.
برای مثال، یک ماشین می‌تواند (خیلی ساده) یاد بگیرد که سکه ها با رنگ‌های مختلف را می توان بر اساس مشخصه "رنگ" طبقه‌بندی کرد.

- یادگیری تحت نظارت جزئی (Partially supervised learning)

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

- یادگیری تقویتی (Encouraging learning)

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

- یادگیری فعال (Active learning)

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

- یادگیری عمیق (deep learning)

یادگیری عمیق زیرمجموعه یادگیری ماشین است (هر یادگیری عمیق یادگیری ماشینی است؛ اما هر یادگیری ماشینی یادگیری عمیق نیست). الگوریتم‌های یادگیری عمیق، یک شبکه عصبی مصنوعی را تعریف می‌کنند که برای شناخت نحوه یادگیری مغز انسان طراحی شده است. مدل‌های یادگیری عمیق به داده‌های زیادی احتیاج دارند که از چندین لایه محاسبات عبور می‌کنند.

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

انواع الگوریتم‌های یادگیری ماشینی

1. رگرسیون خطی (Linear Regression)

برای تخمین مقادیر واقعی (هزینه خانه، تعداد تماس، کل فروش و غیره) بر اساس متغیر(های) مداوم استفاده می‌شود. در اینجا، ما با ایجاد بهترین خط بین متغیرهای مستقل و وابسته رابطه برقرار می‌کنیم. این رابطه خطی مناسب، به عنوان خط رگرسیون شناخته می‌شود و با یک معادله خطی Y = a × X + b نشان داده می شود.

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

در این معادله:

Y = متغیر وابسته

a = شیب

X = متغیر مستقل

b = نقطه‌ای که خط از محور Y عبور می‌کند.

2. رگرسیون لجستیک (Logistic Regression)

با نام آن گیج نشوید! این یک طبقه‌بندی است و نه یک الگوریتم رگرسیون. از رگرسیون لجستیک در یادگیری ماشینی برای تخمین مقادیر گسسته (مقادیر دو دویی مانند 0/1، بله / خیر، درست / نادرست) بر اساس مجموعه متغیر(های) مستقل استفاده می‌شود. به عبارت ساده، با قرار دادن داده‌ها در یک تابع logit احتمال وقوع یک رویداد را پیش‌بینی می‌کند. از این رو، به آن رگرسیون لوجیت نیز گفته می‌شود. از آنجا که، این احتمال را پیش‌بینی می‌کند، مقادیر خروجی آن بین 0 و 1 قرار دارد (همانطور که انتظار می‌رود).

باز هم  اجازه دهید تا ما به کمک یک مثال ساده رگرسیون لجستیک را نیز برای شما شرح دهیم. بگذارید بگوییم دوست شما به شما یک معما برای حل کردن می‌دهد. در نتیجه، دو سناریو وجود دارد، یا آن را حل می‌کنید یا نمی‌کنید. اکنون تصور کنید که طیف وسیعی از پازل / کوییز را در اختیار شما قرار می‌دهند تا بفهمید در کدام موضوعات مهارت دارید. نتیجه این مطالعه چیزی در حدود این خواهد بود، اگر به شما یک مسئله کلاس دهم مبتنی بر مثلثات بدهند، 70٪ احتمال دارد که آن را حل کنید. از طرف دیگر، اگر سوال تاریخ پنجم دبستان باشد، احتمال دریافت پاسخ فقط 30٪ است. این همان چیزی است که رگرسیون لجستیک برای شما فراهم می کند.

3. درخت تصمیم (Decision Tree)

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

4. ماشین بردار پشتیبانی (SVM)

این روش، یک روش طبقه‌بندی در یادگیری ماشینی است. در این الگوریتم، هر مورد داده را به عنوان یک نقطه در فضای n-بعدی ترسیم می‌کنیم (جایی که n تعداد ویژگی‌هایی است که شما دارید) که در واقع ارزش هر ویژگی، مقدار یک مختصات خاص است.

به عنوان مثال، اگر فقط دو ویژگی مانند قد و طول مو از یک فرد داشته باشیم، ابتدا این دو متغیر را در فضای دو بعدی ترسیم می‌کنیم، جایی که هر نقطه دارای دو مختصات است (این مختصات به عنوان بردارهای پشتیبانی شناخته می‌شوند.)

5. ناییو بیز (Naive Bayes)

به زبان ساده، یک طبقه بندی Naive Bayes فرض می‌کند که وجود یک ویژگی خاص در یک کلاس با وجود ویژگی دیگر ارتباطی ندارد. به عنوان مثال، اگر میوه‌ای قرمز، گرد و قطر آن حدود 3 سانتی‌متر باشد، ممکن است یک سیب در نظر گرفته شود. حتی اگر این ویژگی‌ها به یکدیگر یا به وجود ویژگی‌های دیگر بستگی داشته باشند، یک طبقه‌بندی کننده ناییو بیز، نقش همه این ویژگی‌ها را به طور مستقل در احتمال سیب بودن این میوه در نظر می‌گیرد.

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

6. جنگل تصادفی (Random Forest)

جنگل تصادفی، اصطلاح علامت تجاری برای مجموعه‌ای از درختان تصمیم‌گیری است. در جنگل تصادفی، ما مجموعه‌ای از درختان تصمیم‌گیری (که به اصطلاح  به عنوان"جنگل" شناخته می‌شود) را داریم. برای طبقه‌بندی هر شی جدید بر اساس ویژگی‌‌ها، هر درخت یک طبقه‌بندی انجام می‌دهد و ما می‌گوییم درخت برای آن کلاس "رأی" می‌دهد. جنگل، آن طبقه‌بندی با داشتن بیشترین رای را انتخاب می‌کند.

7. الگوریتم‌های کاهش ابعاد (Dimensionality Reduction Algorithms)

در 4 تا 5 سال اخیر، افزایش تصاعدی در گرفتن اطلاعات در هر مرحله ممکن بوده است. شركت‌ها / موسسات دولتي / سازمان‌هاي تحقيقاتي نه تنها منابع جديدي در اختيار دارند، بلكه در حال گرفتن اطلاعات با جزئيات بیشتری هستند. به عنوان مثال، شرکت‌های تجارت الکترونیکی جزئیات بیشتری درباره مشتری، از قبیل اطلاعات جمعیتی، سابقه جست و جو در وب، آنچه را که دوست دارند یا دوست ندارند، سابقه خرید، بازخورد و بسیاری موارد دیگر به دست می‌آورند، تا بیش از نزدیکترین مغازه‌دار مواد غذایی به شما، به آن‌ها توجه شخصی کنید.

8. الگوریتم‌های افزایش گرادیان (Gradient Boosting Algorithms)

  • GBM

GBM یک الگوریتم تقویت کننده است که وقتی با داده‌های زیادی سروکار داریم، برای پیش‌بینی با قدرت بالا مورد استفاده قرار می‌گیرد.

  • XGBoost

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

یکی از جالب‌ترین موارد در مورد XGBoost این است که به آن یک روش تقویت منظم نیز گفته می‌شود. این امر به کاهش مدل‌سازی بیش از حد کمک می‌کند و پشتیبانی گسترده‌ای از طیف وسیعی از زبان‌ها، مانند Scala ، Java ، R ، Python ، Julia و C ++ دارد.

  • LightGBM

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

  • سرعت آموزش سریعتر و کارایی بالاتر
  • مصرف حافظه کمتر
  • دقت بهتر
  • پشتیبانی یادگیری موازی و GPU
  • قابلیت مدیریت داده‌ها در مقیاس بزرگ

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

یادگیری ماشینی و محبوب‌ترین برنامه‌های آن

یادگیری ماشینی در Netflix و آمازون و همچنین برای شناسایی چهره در فیس بوک اعمال می‌شود. برای شما به عنوان یک کاربر، یادگیری ماشین به طور مثال در نشان دادن افراد در تصاویر آپلود شده، منعکس شده است.

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

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

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

کاربرد تجاری یادگیری ماشینی

 

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

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

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

  1. تحلیل بازار سهام
  2. تشخیص تقلبی بودن کارت اعتباری
  3. روش‌های تشخیص خودکار
  4. دستیابی به مین‌های زمینی در داده‌های حسگر صوتی و رادار

یادگیری ماشینی: رهبران فناوری

علاوه بر مایکروسافت، گوگل، فیس بوک، آی بی ام و آمازون، اپل نیز منابع مالی زیادی را صرف استفاده و توسعه بیشتر یادگیری ماشینی می‌کند. ابر رایانه واتسون IBM هنوز هم شناخته شده‌ترین دستگاه برای یادگیری ماشینی است. واتسون عمدتاً در بخش‌های پزشکی و مالی مورد استفاده قرار می‌گیرد. همانطور که قبلاً ذکر شد، فیس بوک از Machine Learning برای شناسایی تصویر، ماکروسافت برای سیستم تشخیص گفتار Cortana و اپل برای Siri استفاده می‌کند. البته از یادگیری ماشینی نیز در گوگل استفاده می‌شود، هم در زمینه خدمات تصویر و هم در رتبه‌بندی موتور جست و جو.

  1. آی بی ام (IBM): واتسون
  2. آمازون (Amazon): یادگیری ماشین آمازون
  3. مایکروسافت (Microsoft Azure ML Studio
  4. گوگل (Google): Tensorflow

علاوه بر سیستم عامل‌های ذکر شده در بالا، طیف گسترده‌ای از برنامه‌های منبع باز رایگان (open source) و با کیفیت بالا وجود دارد که از طریق یادگیری ماشینی، آموزش بین المللی برای مخاطبان بیشتری قابل دسترسی است. بنابراین شما به عنوان یک توسعه دهنده یا متخصص داده می‌توانید با آن کار کنید.

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

وب سایت‌ها محصولات، فیلم‌ها و آهنگ‌ها را براساس آنچه قبلاً خریده‌ایم، تماشا کرده‌ایم یا به آن‌ها گوش داده‌ایم، توصیه می‌کنند و بسیاری از نمونه‌های مشابه دیگر. می‌توان حتی انتظار بیشتری داشت.
هرچه داده‌های بزرگ (big data) بزرگتر می‌شوند، رایانه‌ها قدرتمندتر و مقرون به صرفه‌تر شده و دانشمندان در زمینه توسعه الگوریتم‌هایی تواناتر و با قابلیت بیشتر و بهتر، به تلاش خود ادامه می‌دهند و یادگیری ماشینی کارایی بیشتر و بیشتری را در زندگی شخصی و کاری ما خواهد داشت.

امیدواریم این مقاله وبلاگ کارلیب برای شما مفید واقع شده باشد. اگر در زمینه یادگیری ماشینی (Machine Learning) مطالعه داشته‌اید، خوشحال می‌شویم که نظرات خود را با ما به اشتراک بگذارید. برای مطالعه دیگر مقالات آموزشی به آدرس karlib.com سر بزنید.

مائده عابدی
بدون دیدگاه
بحث درباره این مقاله را شما آغاز کنید!