اصطلاح یادگیری ماشین (Machine Learning)، اغلب به اشتباه با هوش مصنوعی (AI) اشتباه گرفته میشود، اما الگوریتم های یادگیری ماشین در واقع زیر مجموعه هوش مصنوعی هستند.
اصطلاح Machine Learning در سال 1959 توسط دانشمند کامپیوتر آمریکایی، آرتور ساموئل ابداع شد. این کلمه به عنوان «توانایی کامپیوتر برای یادگیری، بدون برنامه نویسی صریح» تعریف میشود.
در ابتدایی ترین حالت، الگوریتم های یادگیری ماشین، الگوریتمهای برنامه ریزی شدهای هستند که دادههای ورودی را دریافت و تجزیه و تحلیل میکنند تا مقادیر خروجی را در محدوده قابل قبولی پیش بینی کنند. همانطور که دادههای جدید الگوریتم های یادگیری ماشین داده میشود، آنها عملیات خود را برای بهبود عملکرد یاد میگیرند و بهینه میکنند و در طول زمان “هوش” خود را توسعه میدهند.
الگوریتم های یادگیری ماشین چهار نوع هستند: تحت نظارت، نیمه نظارتی، بدون نظارت و تقویتی (Reinforcement Learning)
یادگیری تحت نظارت
در یادگیری نظارت شده، ماشین با مثال آموزش داده میشود. اپراتور الگوریتم های یادگیری ماشین را با یک مجموعه داده شناخته شده ارائه میدهد که شامل ورودیها و خروجیهای مورد نظر است و الگوریتم باید روشی را برای تعیین نحوه رسیدن به این ورودیها و خروجیها پیدا کند. اپراتور پاسخهای صحیح مسئله را میداند، اما الگوریتم الگوها را در دادهها شناسایی میکند، از مشاهدات یاد میگیرد و پیش بینی میکند. الگوریتم پیش بینی میکند و توسط اپراتور تصحیح میشود. و این روند تا زمانی ادامه مییابد که الگوریتم به سطح بالایی از دقت / عملکرد برسد.
در زیرمجموعه یادگیری نظارت شده، چهار اصطلاح دیگر مطرح هستند: طبقهبندی (Classification)، رگرسیون (Regression) و پیش بینی (Forecasting)
طبقهبندی (Classification)
در تسکهای طبقهبندی (Classification)، برنامه و الگوریتم های یادگیری ماشین باید از مقادیر مشاهدهشده نتیجهگیری و تعیین کند که مشاهدات جدید به چه دستهای تعلق دارند. برای مثال، هنگام فیلتر کردن ایمیلها بهعنوان «spam» یا « not spam»، برنامه باید به دادههای مشاهدهای موجود نگاه کند و ایمیلها را بر این اساس فیلتر کند.
رگرسیون (Regression)
در تسکهای رگرسیون (Regression)، برنامه یادگیری ماشین باید روابط بین متغیرها را تخمین بزند و بفهمد. تجزیه و تحلیل رگرسیون بر یک متغیر وابسته و یک سری متغیرهای در حال تغییر تمرکز میکند. که آن را به ویژه برای تخمین و پیش بینی مفید میکند.
پیش بینی (Forecasting)
Forecasting فرآیند پیش بینی آینده بر اساس دادههای گذشته و حال است و معمولاً برای تجزیه و تحلیل ترندها استفاده میشود.
یادگیری نیمه نظارتی
الگوریتم های یادگیری ماشین نیمه نظارتی مشابه یادگیری تحت نظارت هستند، اما در عوض از دادههای برچسب دار و بدون برچسب استفاده میکنند. دادههای برچسبگذاری شده اساساً اطلاعاتی هستند که دارای برچسبهای معنیدار هستند تا الگوریتم بتواند دادهها را درک کند، در حالی که دادههای بدون برچسب فاقد آن اطلاعات هستند. با این ترکیب، الگوریتم های یادگیری ماشین می توانند یاد بگیرند که دادههای بدون برچسب را برچسب گذاری کنند.
یادگیری بدون نظارت
در اینجا، الگوریتم های یادگیری ماشین دادهها را برای شناسایی الگوها مطالعه میکنند. هیچ کلید پاسخ یا اپراتور انسانی برای ارائه دستورالعمل وجود ندارد. در عوض، ماشین با تجزیه و تحلیل دادههای موجود، همبستگیها و روابط را تعیین میکند. در یک فرآیند یادگیری بدون نظارت، الگوریتم های یادگیری ماشین محدود به تفسیر مجموعه دادههای بزرگ و آدرس دادن به آن دادهها هستند. الگوریتم سعی میکند آن دادهها را به نحوی سازماندهی کند که بتواند ساختار آن را توصیف کند. این ممکن است به معنای گروهبندی دادهها در خوشهها یا مرتب کردن آنها به گونهای باشد که سازمانیافتهتر به نظر برسند.
این روش همانطور که دادههای بیشتری را ارزیابی میکند، تواناییاش برای تصمیمگیری در مورد آن دادهها به تدریج بهبود یافته و اصلاح میشود.
موارد زیر، زیرمجموعه الگوریتم های یادگیری ماشین بدون نظارت هستند:
خوشهبندی (Clustering)
خوشهبندی شامل گروه بندی مجموعههایی از دادههای مشابه (بر اساس معیارهای تعریف شده) است. این عملیات برای تقسیم بندی دادهها به چند گروه و انجام تجزیه و تحلیل بر روی هر مجموعه داده به منظور یافتن الگوها مفید است.
کاهش ابعاد (Dimension reduction)
کاهش ابعاد، تعداد متغیرهای مورد نیاز برای یافتن اطلاعات دقیق را کاهش میدهد.
یادگیری تقویتی (Reinforcement Learning)
الگوریتم های یادگیری ماشین تقویتی (Reinforcement Learning) بر فرآیندهای یادگیری بهینهتر متمرکز است. جایی که یک الگوریتم یادگیری ماشین با مجموعه ای از اقدامات، پارامترها و مقادیر نهایی ارائه میشود. سپس با تعریف قوانین، الگوریتم های یادگیری ماشین سعی میکنند آپشنها و احتمالات مختلف را بررسی کنند. و همچنین هر نتیجه را نظارت و ارزیابی کنند تا مشخص شود کدام یک بهینه است. یادگیری تقویتی آزمون و خطا را به ماشین آموزش میدهد. از تجربیات گذشته درس می گیرد و شروع به تطبیق رویکرد خود در پاسخ به موقعیت میکند تا به بهترین نتیجه ممکن دست یابد.
از چه الگوریتم های یادگیری ماشین میتوانید استفاده کنید؟
انتخاب الگوریتم های یادگیری ماشین مناسب به عوامل مختلفی بستگی دارد. عواملی چون این موارد (اما نه محدود به آنها): اندازه داده، کیفیت و تنوع، و همچنین پاسخهایی که کسبوکارها میخواهند از آن دادهها دریافت کنند. ملاحظات اضافی شامل دقت، زمان آموزش، پارامترها، نقاط داده و موارد دیگر است. بنابراین، انتخاب الگوریتم مناسب ترکیبی از نیاز تجاری، مشخصات، آزمایش و زمانی است که در اختیار دارید. قبل از آزمایش و مقایسه با دیگر الگوریتم های یادگیری ماشین، حتی با تجربه ترین مدیران ارشد داده نمیتوانند به شما بگویند که کدام یک بهترین عملکرد را دارد. با این حال، ما یک الگوریتم یادگیری ماشین “برگه تقلب” (Cheatsheet) را گردآوری کردهایم که به شما کمک میکند مناسب ترین مورد را برای چالشهای خاص خود پیدا کنید.
رایج ترین و محبوب ترین الگوریتم های یادگیری ماشین کدامند؟
الگوریتم Naïve Bayes Classifier (یادگیری تحت نظارت – Classification)
Naïve Bayes Classifier بر اساس قضیه Bayes است و هر مقدار را مستقل از هر مقدار دیگری طبقه بندی میکند. این به ما اجازه میدهد تا یک کلاس/کتگوری را بر اساس مجموعهای از ویژگیها، با استفاده از احتمال پیشبینی کنیم.
Classifier علیرغم سادگی خود، به طرز شگفتآوری خوب عمل میکند و اغلب به دلیل عملکرد بهتر از روشهای طبقهبندی پیچیدهتر استفاده میشود.
الگوریتم K Means Clustering (یادگیری بدون نظارت – Clustering)
الگوریتم K Means Clustering یک نوع یادگیری بدون نظارت است که برای دستهبندی دادههای بدون برچسب، یعنی دادههای بدون دستهبندی یا گروه های تعریف شده استفاده میشود. این الگوریتم با یافتن گروههای درون دادهها، با تعداد گروههایی که با متغیر K نشان داده میشوند، کار میکند. سپس به صورت تکرارشونده کار میکند تا هر نقطه داده را بر اساس ویژگیهای ارائهشده به یکی از گروههای K اختصاص دهد.
الگوریتم ماشین برداری پشتیبان (یادگیری تحت نظارت – طبقه بندی)
الگوریتم های ماشین بردار پشتیبان مدل های یادگیری نظارت شده ای هستند که دادههای مورد استفاده برای طبقه بندی و تحلیل رگرسیون را تجزیه و تحلیل میکنند. آنها اساسا دادهها را به دسته ها فیلتر میکنند، که با ارائه مجموعه ای از نمونه های آموزشی، که هر مجموعه به عنوان متعلق به یکی از دو دسته مشخص شده است، به دست می آید. سپس الگوریتم برای ساخت مدلی کار میکند که مقادیر جدیدی را به یک دسته یا دسته دیگر اختصاص میدهد.
رگرسیون خطی (Linear Regression) (یادگیری تحت نظارت / Regression)
رگرسیون خطی اساسی ترین نوع رگرسیون است. در حقیقت رگرسیون خطی ساده به ما امکان میدهد تا روابط بین دو متغیر پیوسته را درک کنیم.
رگرسیون لجستیک (Logistic Regression) (یادگیری تحت نظارت – Classification)
رگرسیون لجستیک بر تخمین احتمال وقوع یک رویداد بر اساس دادههای قبلی تمرکز دارد. از آن برای پوشش یک متغیر وابسته باینری استفاده میشود، یعنی جایی که تنها دو مقدار، 0 و 1، نتایج را نشان میدهند.
Artificial Neural Networks (Reinforcement Learning)
یک شبکه عصبی مصنوعی (Artificial Neural Network) شامل «واحدهایی» است که در یک سری لایهها مرتب شدهاند، که هر یک از آنها به لایههای دو طرف متصل میشوند. ANN ها از سیستم های بیولوژیکی مانند مغز و نحوه پردازش اطلاعات در آن الهام گرفتهاند. ANN ها اساساً تعداد زیادی از عناصر پردازشی به هم پیوسته هستند که به طور هماهنگ برای حل مشکلات خاص کار میکنند.
شبکههای عصبی مصنوعی نیز با مثال و از طریق تجربه یاد میگیرند، و برای مدلسازی روابط غیرخطی در دادههایی با ابعاد بالا یا جایی که درک رابطه بین متغیرهای ورودی دشوار است، بسیار مفید هستند.
Decision Trees (یادگیری تحت نظارت – Classification / Regression)
Decision Tree یک ساختار درختی flow-chart-like است که از روش انشعاب برای نشان دادن هر نتیجهای که ممکن است در اثر یک تصمیم رخ دهد، استفاده میکند. هر گره در درخت نشان دهنده یک آزمایش بر روی یک متغیر خاص است. و هر شاخه نتیجه آن آزمایش است.
Random Forests (یادگیری تحت نظارت – Classification / Regression)
Random Forests یا «Random Decision Forests» یک روش یادگیری گروهی است که چندین الگوریتم را به منظور ایجاد نتایج بهتر برای طبقهبندی، رگرسیون و سایر وظایف ترکیب میکند. هر Classifier به تنهایی ضعیف است، اما هنگامی که با سایر Classifier ها ترکیب شود، میتواند نتایج عالی ایجاد کند. الگوریتم با یک «درخت تصمیم» (یک نمودار درختی یا مدل تصمیمگیری) شروع میشود و یک ورودی در بالای آن وارد میشود. سپس به پایین درخت حرکت میکند و دادهها بر اساس متغیرهای خاص به مجموعههای کوچکتر و کوچکتر تقسیم میشوند.
Nearest Neighbours (یادگیری تحت نظارت)
الگوریتم K-Nearest-Neighbour تخمین می زند که چقدر احتمال دارد یک نقطه داده عضوی از یک گروه یا گروه دیگر باشد. این نوع خاص از الگوریتم های یادگیری ماشین، اساساً به نقاط داده اطراف یک نقطه داده نگاه میکند تا مشخص کند که واقعاً در چه گروهی قرار دارد. به عنوان مثال، اگر یک نقطه روی یک شبکه باشد و الگوریتم در تلاش باشد تا تعیین کند آن نقطه داده در چه گروهی است (مثلاً گروه A یا گروه B)، به نقاط داده نزدیک خود نگاه میکند تا ببیند اکثر نقاط در چه گروهی هستند.
واضح است که هنگام انتخاب الگوریتم های یادگیری ماشین مناسب برای تجزیه و تحلیل کسبوکارتان، موارد زیادی وجود دارد که باید در نظر بگیرید. با این حال، برای استفاده از این مدلها برای کسب و کار خود، نیازی نیست که یک مدیر ارشد داده یا متخصص آمارباشید.
Leave feedback about this