یادگیری قانون وابستگی

در داده‌کاوی، یادگیری قانون وابستگی یک متد مناسب برای یافتن روابط جذاب بین متغیرهای موجود در پایگاه داده‌های بزرگ است. پیاتتسکی-شاپیرو در چگونگی تحلیل و ارائه قوانین قوی یافته شده را در پایگاه‌های داده با استفاده از معیارهای متفاوت جذابیت توضیح می‌دهد. بر مبنای مفهوم قوانین قوی، راکش اگرول و همکارانش در قوانین وابستگی را برای کشف قاعده‌های موجود بین مصحولات در داده‌های تراکنشی با مقیاس بالا معرفی می‌کنند. به عنوان مثال، قانون وابستگی در داده‌های فروش یک سوپرمارکت، نشان می‌دهد در صورتی که یک مشتری پیاز (onions) و سیب زمینی (potatoes) را در سبد خرید خود قرار داده است، احتمالا او مایل به خرید گوشت همبرگر نیز خواهد بود. چنین اطلاعاتی می‌تواند به عنوان مبنای تصمیماتی برای برخی از فعالیت‌های فروشگاهی همچون ارائه مناسب تخفیف برای محصولات یا قراردادن مناسب محصولات در کنار هم، مورد استفاده قرار گیرد. علاوه بر مثال فوق که در مورد تحلیل سبد خرید مطرح شد، امروزه یادگیری قانون وابستگی در کاربردهای متفاوت همچون مصرف کاوی وب، تشخیص نفوذ، و بیوانفورماتیک مورد استفاده قرار می‌گیرد. بر خلاف دنباله کاوی در یادگیری قانون وابستگی، ترتیب چه در میان آیتم‌ها و چه در میان تراکنش‌ها در نظر گرفته نمی‌شود.
تعریف
+ پایگاه داده مثال
ID
milk
bread
butter
drink
۱
۱
۱
۰
۰
۲
۰
۰
۱
۰
۳
۰
۰
۰
۱
۴
۱
۱
۱
۰
۵
۰
۱
۰
۰
در ادامه، تعریف اصلی کاوش قانون وابستگی، ارائه شده توسط اگرول و همکارانش آمده است: مجموعه را به عنوان مجموعه‌ای از صفت دودویی به نام آیتم در نظر می‌گیریم. فرض کنیم مجموعه تراکنش‌ها یا همان پایگاه داده باشد. هر تراکنش در شامل یک کد تراکنش منحصربه‌فرد و زیرمجموعه‌ای از آیتم‌های است. یک قانون به عنوان یک دلالت به فرم تعریف می‌شود. به طوری که و . مجموعه آیتم‌های ، مقدم و مجموعه آیتم‌های ، نتیجه خوانده می‌شوند.
برای توضیح مفهوم، ما از یک مثال کوچک درمورد سبد خرید در سوپرمارکت استفاده می‌کنیم. مجموعه آیتم‌های و یک پایگاه داده کوچک شامل آیتم‌ها (کد ۱ به معنی حضور و کد ۰ به معنی عدم خضور آن آیتم در یک تراکنش است) در جدول مقابل نشان داده شده است. به عنوان مثال یک قانون وابستگی موجود در این پایگاه داده است. مفهوم این قانون این است که اگر مشتری کره (butter) و نان (bread ) خریده باشد، شیر (milk) هم خواهد خرید.
تذکر: مثال فوق مطرح شده بسیار کوچک است. در عمل یک قانون نیازمند پشتیبانی صدها تراکنش است تا بتواند به صورت آماری مهم باشد. از طرفی، معمولا یک پایگاه داده شامل صدها یا هزاران تراکنش است.
مفاهیم کاربردی
برای انتخاب قوانین جذاب از بین مجموعه قوانین ممکن، محدودیت‌های مختلف روی معیارهای سنجش اهمیت و جذابیت به کار می‌رود. معروف‌ترین محدودیت‌ها شامل آستانه کمینه برای پشتیبان و اطمینان است.
پشتیبان مجموعه آیتم که به صورت نشان داده می‌شود، نسبت تراکنش‌های شامل مجموعه آیتم است. در پایگاه داده مثال، مجموعه آیتم دارای پشتیبان است، چرا که این مجموعه آیتم در بیست درصد تراکنش‌ها اتفاق می‌افتد.
اطمینان یک قانون به این صورت تعریف می‌شود: . برای مثال، قانون دارای اطمینان در پایگاه داده است، به این معنا که قانون فوق برای پنجاه درصد تراکنش‌های شامل شیر (milk) و نان (bread) صدق می‌کند.
فرایند
تاریخچه
مفهوم قوانین وابستگی در سال ۱۹۹۳ پس از انتشار مقاله اگرول مورد توجه خاص قرار گرفت. با توجه به اطلاعات آماری سرویس Google Scholar، در مارس ۲۰۰۸ این مقاله بیش از ۶۰۰۰ نقل قول (citation) دریافت کرده است که آن را در صدر بیشترین تعداد نقل قول‌ها در گرایش داده کاوی قرار می‌دهد. اگرچه ممکن است آنچه که امروزه قوانین وابستگی نامیده می‌شود، همان مفهوم مطرح شده در مقاله سال 1966 تحت عنوان GUHA (یک متد عمومی داده کاوی) مطرح شده است.
سایر معیارهای سنجش جذابیت
علاوه بر اطمینان، معیارهای دیگری نیز برای سنجش جذابیت قوانین مطرح شده است که از مهم‌ترین آن‌ها می‌توان به موارد زیر اشاره کرد:
اطمینان-کامل
توان جمعی
عقیده
نفوذ
بالابری
الگوریتم‌ها
در طول زمان، الگوریتم‌های متعددی برای تولید قوانین وابستگی پیشنهاد شده‌اند.
بعضی الگوریتم‌های معروف در این زمینه عبارتند از: آپریوری، اکلات (Eclat) و FP-Growth. تمامی این الگوریتم‌ها تنها انجام دهنده نیمی از مسیر تولید قوانین وابستگی هستند. چرا که این الگوریتم‌ها برای کاوش مجموعه آیتم‌های مکرر ساخته شده‌اند و پروسه دیگری روی مجموعه آیتم‌های مکرر باید انجام شود تا منتهی به قوانین وابستگی شوند.
الگوریتم آپریوری
آپریوری بهترین الگوریتم برای کاوش قوانین وابستگی است. این الگوریتم از استراتژی جستجوی اول-سطح برای شمارش پشتیبان مجموعه آیتم‌ها استفاده می‌کند و با استفاده از یک تابع تولید کاندید، از خصوصیت بستار رو به پایین پشتیبان بهره می‌برد.
الگوریتم اکلات
اکلات یک الگوریتم جستجوی اول-عمق با استفاده از اشتراک مجموعه است.
داده کاوی
دنباله کاوی