الگوریتم Apriori – الگوریتم یادگیری ماشین
الگوریتم Apriori یکی از روش های پر کاربرد برای کاوش مجموعه اقلام تکرار شده و قواعد وابستگی association rule mining در بحث داده کاوی و یادگیری ماشین است. قبل از بحث اصلی باید مفهوم مجموعه اقلام تکرار شده frequent itemset و مجموعه اقلام کاندید candidate itemset توضیح داده شود بنابراین می توان گفت یک مجموعه اقلام تکرار شده، مجموعه اقلامی است که پشتیبان آن بیشتر از حداقل پشتیبان تعریف شده از سوی کاربر باشد. یک مجموعه اقلام کاندید، مجموعه اقلام مکرر بالقوه است.
الگوریتم Apriori
الگوریتم اپریوری Apriori از اولین الگوریتم هایی است که جهت یافتن مجموعه اقلام تکرار شده از آن استفاده می شود. نام این الگوریتم برگرفته از شیو های است که از آن استفاده می کند، یعنی استفاده از دانش مرحله قبل که در ادامه آن را تشریح می کنیم. الگوریتم Apriori توسط اگراوال Agrawal و همکاران، در مرکز تحقیقات IBM Almaden کشف شد و می توان آن را برای تولید کلیه مجموعه اقلام تکرار شده بکار برد.
الگوریتم Apriori یک الگوریتم جستجوی سطحی است، که با پایان کاوش در مرحله k ام به مرحله بعدی یعنی k+1 می رود. این عمل تا محقق شدن شرط یا شروط پایانی تکرار می شود. در مرحله k ام مجموعه اقلام k تایی تولید خواهند شد. پس از محاسبه مقدار پشتیبان برای هرکدام و مقایسه آن با مقدار minsup الگوی های مکرر k تایی شناسایی می شود.
در مرحله بعدی الگوریتم با کمک الگوهای مکرر k تایی، مجموعه اقلام (k+1) تایی کاندید که بالقوه می توانند مکرر باشند را تولید می کند. به همین ترتیب با توجه به مقدار minsup برخی حذف شده و مجموعه اقلام مکرر (k+1) تایی تشکیل خواهند شد. این عمل تا یافتن آخرین مجموعه قلم مکرر ادامه پیدا می کند. این الگوریتم در حین اجرا از قاعدهای موسوم به قاعده Apriori استفاده می کند که بدین صورت بیان می شود: “اگر یک الگوی مکرر داشته باشیم، کلیه زیرمجموعه های آن نیز مکرر هستند.” به عبارت دیگر اگر مجموعه اقلام I مکرر نباشد، هر مجموعه ای که شامل I است نیز نمی تواند مکرر باشد.
درباره امین جلیل زاده رزین
پایه گذار و موسس وب سایت آموزشی پی استور، مدرس دانشگاه فنی و حرفه ای، برنامه نویس و تحلیل گر سیستم، پژوهشگر در حوزه الگوریتم های ابتکاری، فرا ابتکاری، یادگیری ماشین، شبکه و پایگاه داده. ایشان در زبان های برنامه نویسی متعدد، نظیر ++C، سی شارپ، PHP ،Java، متلب MATLAB و Python تسلط و سابقه تدریس فعال دارند.