توصیف الگوهای ساختار یافته در دادهکاوی — تشریح مفهوم با یک مثال ساده
«الگوی ساختاریافته» (structural pattern) به چه معنا است؟ چگونه میتوان آن را توصیف کرد؟ دادههای ورودی به چه شکل هستند؟ در این مطلب با یک مثال ساده و بدون استفاده از تعاریف رسمی و تئوری به این پرسشها پاسخ داده خواهد شد.
آشنایی با مجموعه داده لنزهای طبی
دادههای موجود در جدول زیر، مربوط به مجموعه داده معروف لنز طبی (contact lens data set) هستند. در این مجموعه، ویژگیهایی که بر اساس آن نوع لنز طبی افراد انتخاب میشود آورده شده است.
مجموعه مذکور، کامل (بدون مقادیر از دست رفته یا Missing Values) و فاقد نویز است. همچنین، برچسبدار و دارای ۲۴ نمونه (هر سطر از مجموعه داده) است که برای هر یک چهار خصیصه بیان شده و از سال ۱۹۹۰ به صورت آزاد در دسترس عموم قرار گرفت.
البته این مجموعه داده بسیار ساده شده و بنابراین نه تنها تعداد نمونههای آن ناچیز است، بلکه خصیصهها نیز به طور کامل همه شرایط لازم برای انتخاب لنز طبی مناسب را به همراه ندارد. ولیکن برای آموزش و حتی پژوهشهای بسیار زیادی از آن استفاده شده. مجموعه داده لنزهای طبی، دارای چهار «خصیصه» (attribute)، شامل سن (Age)، نسخه چشم (spectacle prescription)، آستیگماتیسم (Astigmatism) و نرخ تولید اشک (tear production rate) است. برای خصیصه سن، سه حالت جوان (young)، پیش-پیرچشمی (pre-presbyopic) و پیرچشمی (presbyopic) وجود دارد.
خصیصه نسخه چشم، شامل دو حالت نزدیکبینی (Myopia) و دوربینی (Hyperopia) میشود. برای خصیصه آستیگماتیسم، دو حالت بلی و خیر وجود دارد. در نهایت، برای خصیصه نرخ تولید اشک، دو حالت کاهش یافته (reduced) و طبیعی (normal) موجود است. مجموعه داده لنزهای طبی برچسبدار محسوب میشود. به این معنا که برای هر مجموعه ویژگی (شامل سن، نسخه چشم و نرخ تولید اشک) مشخص است که چه نوع لنزی تجویز شده. از مجموعه دادههای برچسبدار در یادگیری نظارت شده استفاده میشود. ستون دستهبندی با عنوان لنزهای توصیه شده (Recommended Lenses) دارای سه برچسب هیچ (none)، نرم (soft) و سخت (hard) است.
اکنون با توجه به جدول بالا میتوان فهمید که در چه شرایطی عینکساز، لنز را توصیه کرده و نوع لنز انتخابی او چه بوده، در عین حال شرایطی که لنز توصیه نشده نیز مشخص است. یک توصیف ساختاری از این جدول میتواند به صورت زیر باشد:
If tear production rate = reduced then recommendation = none Otherwise, if age = young and astigmatic = no then recommendation = soft
یعنی، برای افرادی (نمونههایی) که نرخ ریزش اشک در آنها کاهش یافته، لنز تجویز نشده. این در حالیست که اگر سن فرد جوان و آستیگماتیسم چشم او خیر باشد، لنز نرم تجویز شده است. توصیف ساختاری الزاما به صورت قوانین (مانند آنچه در بالا آمده) نیست. درختهای تصمیم، که توالی تصمیمها برای اتخاذ تصمیم نهایی را نشان میدهند، ابزار دیگری برای ارائه الگوهای ساختاریافته است. مثال بیان شده یکی از سادهترین مسالههای موجود است. پیشتر، کلیه ترکیبهای ممکن از مقادیر موجود در جدول ارائه شد.
۲۴ سطر وجود دارد که ۳ تا از آنها نمایانگر سن، ۲ تا نسخه پزشک، ۲ تا آستیگماتیسم و ۲ تا نرخ ریزش است که مجموعا میشود ۲ × ۲ × ۲ × ۳ = ۲۴. این قوانین واقعا توسط دادهها تولید نمیشوند، بلکه صرفا آنها را خلاصه میکنند. در اغلب مسائل یادگیری، مجموعهای از نمونههای از پیش موجود (که ناکامل هستند) به عنوان ورودی مساله داده میشود و کار دادهکاو کشف الگوها و تعمیم آنها برای نمونه دادههای جدید است. دادهکاو ممکن است از این قوانین حتی برای حل مساله مقادیر از دست رفته استفاده کند. برای مثال در اینجا نرخ تولید اشک کاهش یافته منتهی به انتخاب هیچ لنزی نمیشود، اما برای آن یک قانون ساخته شده:
If tear production rate = reduced then recommendation = none
این قاعده را میتوان به سطرهای حاوی مقادیر از دست رفته تعمیم و در صورتی که در آنها نرخ تولید اشک کاهش یافته بود، لنز را None قرار داد یا بالعکس. بحث مواجهه با مقادیر از دست رفته، یکی از موضوعات مهم در مرحله پیش پردازش دادهها است که در دادهکاوی مورد بررسی قرار میگیرد. مقادیر به دلایل گوناگونی از جمله خطای انسانی، خطای سیستمی، فرمهای دریافت اطلاعات نامناسب و مسائل متعدد دیگر ممکن است موجود نباشند. دیگر مساله موجود در مجموعه دادههای جهان واقعی، وجود نویز است که ممکن است در دستهبندی اشکال ایجاد کند. به همین منظور، در گام پیش پردازش دادهکاوی، دادهکاو متناسب با مجموعه داده و شرایط مساله به مواجهه با نویزها میپردازد. یک مجموعه از قواعد برگرفته از مجموعه داده لنزهای طبی را میتوان به صورت زیر نشان داد.
If tear production rate = reduced then recommendation = none. If age = young and astigmatic = no and tear production rate = normal then recommendation = soft If age = pre-presbyopic and astigmatic = no and tear production rate = normal then recommendation = soft If age = presbyopic and spectacle prescription = myope and astigmatic = no then recommendation = none If spectacle prescription = hypermetrope and astigmatic = no and tear production rate = normal then recommendation = soft If spectacle prescription = myope and astigmatic = yes and tear production rate = normal then recommendation = hard If age = young and astigmatic = yes and tear production rate = normal then recommendation = hard If age = pre-presbyopic and spectacle prescription = hypermetrope and astigmatic = yes then recommendation = none If age = presbyopic and spectacle prescription = hypermetrope and astigmatic = yes then recommendation = none
این مجموعه قوانین برای مجموعه دادهای با تنها ۲۴ نمونه و ۴ خصیصه بسیار بزرگ است، اما دستهبندی صحیحی روی دادهها انجام میدهد. قوانین حاصل از این دستهبندی کامل و قطعی هستند و با استفاده از آنها میتوان برای هر نمونه قابل تصوری یک نسخه یکتا تجویز کرد. اما مساله مهمتر شرایطی است که در آن هیچ قانونی قابل اعمال نیست و یا بیش از یک قانون نیاز است. این شرایط منجر به تجویزهای متناقضی میشود. گاهی احتمالات یا وزنهایی به قوانین تخصیص داده میشود تا میزان اهمیت، قابلیت اعتماد یا دیگر ویژگیهای آنها را مشخص کند.
نکته جالب توجه آن است که میتوان مجموعه قوانین کوچکتری داشت. سوالی که اکنون مطرح میشود این است که چگونه میتوان به این مجموعه قوانین دست یافت. دستیابی به این قوانین مسالهای است که در بحث دادهکاوی مطرح میشود. بسیاری از افراد از یادگیری ماشین نه برای کشف الگوهای مهم و جالب توجه که به منظور خلاصهسازی دادههای موجود بهره میبرند. در واقع، مسیر موفقیت پژوهشهای یادگیری ماشین از فشردهسازی حجم انبوه حالات موجود در پایگاه داده و ارائ آنها در ساختاری با اندازه قابل قبول میگذرد. ساختار داده منتخب برای چنین پروژههایی نه یک مجموعه قوانین که درخت تصمیم است.
در شکل زیر، توصیف ساختاری برای دادههای لنز طبی به شکل یک درخت تصمیم ارائه شده است که برای بسیاری از کاربردها مختصرتر و مناسبتر است. مزیت درخت تصمیم توانایی آن در بصریسازی خروجیها است. اگرچه درخت تصمیم زیر، در مقایسه با قوانینی که پیش از این ارائه شد، دو نمونه را به اشتباه دستهبندی میکند. درخت تصمیم زیر، ابتدا نرخ تولید اشک را فراخوانی میکند، در صورتی که کاهش یافته باشد (reduced) خروجی none خواهد بود (شاخه سمت چپ)، و اگر طبیعی (normal) باشد، تست دوم با توجه به خصیصه آستیگماتیسم انجام میشود.
اگر آستیگماتیسیم نباشد نوع لنز سخت و در غیر این صورت تست بر اساس خصصیه جدیدی باید انجام شود. خصیصه مذکور، نسخه چشم (spectacle prescription) است. در این حالت اگر چشم فرد دوربین باشد لنزی برای وی تجویز نمیشود (none) و در غیر این صورت (نزدیکبینی) نوع لنز سخت خواهد بود.
اگر نوشته بالا برای شما مفید بود، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای هوش محاسباتی
- علم داده چیست؟
- همه چیز در مورد درخت تصمیم (Decision Tree)
^^