در این مقاله، معیارهای ارزیابی یادگیری بدون نظارت را شامل اعتبار سنجی نمونه دوگانه برای مقایسه عملکرد مدل یادگیری ماشین بدون نظارت ساخته شده پوشش خواهم داد.
تعریف یادگیری بدون نظارت
میتوانیم مشکلات یادگیری ماشین را در سه موضوع اصلی بهعنوان یادگیری تحت نظارت، یادگیری بدون نظارت و یادگیری نیمه نظارتی از دیدگاه کلی دستهبندی کنیم. یادگیری بدون نظارت به طور خاص روشی است که از الگوریتم های یادگیری ماشین برای تجزیه و تحلیل و خوشه بندی مجموعه داده های بدون برچسب استفاده می کند. در این روش الگوریتم ها می توانند الگوهای پنهان را کشف کرده و رکوردهای مشابه را بدون نیاز به اطلاعات اضافی گروه بندی کنند. توانایی آن برای یافتن شباهت ها و تفاوت ها از مجموعه داده ها، آن را به راه حل ایده آل برای برخی از مشکلات زندگی واقعی مانند تقسیم بندی مشتری، تشخیص هرزنامه، موتور توصیه و غیره تبدیل می کند.
( مجموعه داده نمونه ای که در زیر ذکر خواهد شد با استفاده از داده های هرزنامه واقعی ایجاد و استفاده شده است.)
روش یادگیری بدون نظارت - خوشه بندی
خوشه بندی محبوب ترین روش یادگیری بدون نظارت است که جمعیت یا نقاط داده را به چند گروه تقسیم می کند. مجموعه ای از اشیاء بر اساس شباهت و عدم تشابه بین آنهاست.
این الگوریتمهای زیادی دارد و هر الگوریتم خوشهبندی در دو نوع ارائه میشود: یک کلاس، که روش مناسب را برای یادگیری خوشهها روی دادههای قطار پیادهسازی میکند، و یک تابع، که با توجه به دادههای قطار، آرایهای از برچسبهای عدد صحیح مربوط به خوشههای مختلف را برمیگرداند.. برچسب های روی داده را می توان در ویژگی labels_ for یافت.
← خوشه بندی: نقاط جدید ممکن است به یک خوشه اختصاص داده شوند و همچنین می توانند نقاط پرت باشند.
← تقسیم بندی: نقاط جدید باید به یک خوشه موجود اختصاص داده شود، نه یک خوشه جدید.
الگوریتم خوشه بندی - KMeans
K-means یک الگوریتم پارتیشن بندی است که داده ها را به k خوشه تقسیم می کند. نقاط داده بر اساس معیارهایی مانند فاصله اقلیدسی تا نزدیکترین مرکز خوشه به یک خوشه اختصاص داده می شوند. می توانیم گردش کار الگوریتم را به صورت زیر تعریف کنیم.
- k مرکز را انتخاب کنید
- نقاط را بر اساس نزدیکترین مرکز به خوشه اختصاص دهید
- سانتروئیدها را دوباره محاسبه کنید
- مراحل 2 و 3 را تکرار کنید تا الگوریتم همگرا شود
یافتن مقدار k بهینه برای الگوریتم خوشه بندی
الگوریتم K-Means با هدف انتخاب Centroids که اینرسی را به حداقل می رساند ، یا معیار جمع مربع درون خوشه ای را با قرار دادن نقاط نزدیک به سانتروئیدهای خوشه ای انتخاب می کند و می توان گفت که این خوشه بندی خوبی است. با این حال ، ما برای انجام این کار باید مقدار بهینه K را انتخاب کنیم. روش های زیادی وجود دارد اما روش های دیگر در بخش بعدی تحت پوشش قرار خواهد گرفت اما یکی به شرح زیر است.
روش آرنج
روش آرنج یک روش تجربی برای یافتن تعداد بهینه خوشه ها برای یک مجموعه داده است. در این روش ، ما طیف وسیعی از مقادیر کاندیدای K را انتخاب می کنیم ، سپس با استفاده از هر یک از مقادیر k ، خوشه بندی K را اعمال می کنیم. فاصله متوسط هر نقطه را در یک خوشه به سانتروئید آن پیدا کنید و آن را در یک نقشه نشان دهید. مقدار K را انتخاب کنید ، جایی که میانگین فاصله به طور ناگهانی سقوط می کند.
می توانید اجرای مثال را برای روش آرنج در زیر مشاهده کنید.
در این قطعه کد ، ما مقادیر بی تحرکی سانتروئیدهای خوشه ای را برای روش آرنج با kmeans_model. inertia_ ارزیابی کردیم. یک مدل خوب یکی با اینرسی کم و تعداد کمی خوشه (K) است. با این حال ، این یک تجارت است زیرا با افزایش K ، بی تحرکی کاهش می یابد.
همانطور که از شکل 3 مشاهده می شود ، می توانیم 3 را به عنوان مقدار بهینه k انتخاب کنیم.
اعتبار سنجی داخلی
بیشتر روشهای اعتبار سنجی داخلی انسجام را در هر خوشه و جدایی بین خوشه های مختلف برای برآورد نمره اعتبار سنجی ترکیب می کنند. رویکرد برای محاسبه نمره اعتبار سنجی هر خوشه و سپس ترکیب آنها به صورت وزنی برای رسیدن به نمره نهایی برای مجموعه خوشه ها است.
در عمل ، به جای برخورد با دو معیار که انسجام و جدایی هستند ، اقدامات متعددی در دسترس است که هر دو مورد فوق را در یک اندازه گیری واحد ترکیب می کند. برخی از نمونه های مهم چنین اقداماتی عبارتند از:
شاخص Calisnki-Harabasz
شاخص Calinski-Harabasz-همچنین به عنوان معیار نسبت واریانس شناخته می شود-می تواند برای ارزیابی مدل استفاده شود. نمره بالاتر Calinski-Harabasz مربوط به مدلی با خوشه های تعریف شده بهتر است.
این شاخص نسبت مجموع پراکندگی بین کلسترها و مجموع پراکندگی درون خوشه ای برای همه خوشه ها است. پراکندگی به عنوان مجموع مسافت های مربع در اینجا تعریف شده است. تجسم شاخص Calinski-Harabasz به شرح زیر است.
فهرست دیویس-بولدین
در این نمره ، یک شاخص پایین دیویس-بولدین به یک مدل با جدایی بهتر بین خوشه ها مربوط می شود. این شاخص نشان دهنده میانگین "شباهت" بین خوشه ها است. شباهت اندازه گیری است که فاصله بین خوشه ها را با اندازه خود خوشه ها مقایسه می کند.
صفر کمترین امتیاز ممکن است. مقادیر نزدیک به صفر پارتیشن بهتری را انجام می دهند. تجسم شاخص Davies-Bouldin به شرح زیر است.
ضریب سیلوئت
ضریب سیلوئت نمونه ای از چنین ارزیابی است. امتیاز بالاتر به مدلی با خوشه های تعریف شده بهتر مربوط می شود. برای هر نمونه تعریف شده و از دو نمره تشکیل شده است:
- a: میانگین فاصله بین یک نمونه و تمام نقاط دیگر در همان کلاس.
- b: میانگین فاصله بین یک نمونه و سایر نقاط در نزدیکترین خوشه بعدی.
سپس ضریب Silhouette s برای یک نمونه به صورت زیر داده می شود:
امتیاز Silhouette برای مجموعه ای از نمونه ها به عنوان میانگین ضریب Silhouette برای هر نمونه داده می شود. پیاده سازی و تجسم آن به شرح زیر.
در این مدل نمونه، از تحلیل silhouette برای انتخاب یک مقدار بهینه برای n_cluster استفاده می شود. نمودار شکل 7 نشان می دهد که مقدار n_cluster 7 انتخاب خوبی برای مجموعه داده های نمونه است، زیرا میانگین امتیازات شبح بالاتر با هر خوشه است.
اعتبار سنجی دو نمونه
در این بخش، توضیح میدهیم که چگونه میتوانیم نتایج مدل یادگیری بدون نظارت خود را در غیاب برچسبهای خوشهای واقعی اعتبارسنجی کنیم. در این بخش، نتایجی را که قبلاً روش خوشهبندی K-means را انجام دادهایم اعتبارسنجی میکنیم و به نتایجی هم رسیدیم. این رویکرد شامل چهار مرحله زیر است.
ایجاد مجموعه داده دو نمونه
این مهم ترین مرحله در فرآیند انجام اعتبارسنجی نمونه دوگانه است. ایده کلیدی ایجاد نمونه ای از رکوردهاست که انتظار می رود رفتاری مشابه با مجموعه داده نمونه نشان دهد. این شبیه به مجموعه اعتبارسنجی برای یادگیری نظارت شده است. با این حال، برخی از محدودیت های اضافی وجود دارد. اولا، دادههایی که در اختیار دارید باید از همان توزیعی که در مجموعه داده نمونه وجود دارد باشد. در نهایت، باید به اندازه کافی بیشتر الگوهای مشاهده شده در مجموعه آموزشی را پوشش دهد. برای رسیدگی به این محدودیتها، میتوانیم یک آزمون آماری مانند Kolmogorov-Smirnov (KS) را به شرح زیر اعمال کنیم.
نتایج آزمایش زیر را نشان می دهد.
← اگر مقدار آماری بسیار کوچک و مقدار p بسیار زیاد باشد، نمیتوانیم این فرضیه را رد کنیم که مجموعه دادههای نمونه ما و نمونه استخراجشده توزیع آماری مشابهی دارند.
انجام یادگیری بدون نظارت بر روی نمونه دوقلو
اکنون که نمونه دوقلو خود را داریم، گام بعدی انجام یادگیری خوشه ای بر روی آن است. برای این کار از همان پارامتری که در مجموعه داده نمونه خود استفاده کردیم استفاده خواهیم کرد. این شامل تعداد خوشه ها، متریک فاصله و غیره است. ما مجموعه ای از برچسب های خوشه را به عنوان خروجی این مرحله دریافت خواهیم کرد. ما این مجموعه خروجی را به عنوان S نشان خواهیم داد. ایده در اینجا این است که ما باید نتایج مشابهی را در مجموعه نمونه دوگانه خود به دست آوریم، همانطور که در مجموعه داده نمونه خود دریافت کردیم. این شباهت در مراحل بعدی اندازه گیری خواهد شد. پیاده سازی به شرح زیر؛
وارد کردن نتایج برای نمونه دوقلو از مجموعه آموزشی
در این مرحله مجموعه دیگری از برچسب های خوشه ای را روی نمونه دوقلو محاسبه می کنیم. این بار از نتایج خوشه بندی انجام شده بر روی مجموعه داده نمونه استفاده خواهیم کرد. برای هر نقطه در نمونه دوقلو، دو مرحله زیر را انجام خواهیم داد:
- نزدیکترین همسایه آن را در مجموعه داده نمونه شناسایی کنید. لطفاً مطمئن شوید که متریک فاصله باید همان متریک مورد استفاده در فرآیند خوشهبندی باشد.
- برچسب خوشه نزدیکترین همسایه را وارد کنید.
پیاده سازی پایتون به شرح زیر است.
چارچوب داده نتایج مجموعه های S و P را به ما می دهد که به ترتیب پیش بینی با مدل Kmeans و مقادیر واقعی با مدل NearestNeighbors هستند.
محاسبه شباهت بین نتایج دو مجموعه
اکنون که دو مجموعه از برچسبهای خوشهای، S و P، برای نمونه دوگانه داریم، میتوانیم شباهت آنها را با استفاده از معیارهای یادگیری نظارت شده مانند امتیاز F1، شباهت جاکارد و غیره محاسبه کنیم.
مجموعهای از خوشهها که شباهت زیادی با نمونه دوقلو آن دارند خوب در نظر گرفته میشوند. ارزیابی شباهت به صورت زیر اجرا شد.