موضوع مقاله: جنگل انزوا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # جنگل انزوا | مقدمه: به طور خلاصه این الگوریتم فضای دادگان را به کمک خطوطی موازی پایه های متعامد فضا جداسازی می کند و به دادگانی که در قسمت های مختلف این فضا قرار گرفته اند امتیازی برای میزان غیر طبیعی بودن اختصاص می دهد. | ## بخش 1: جنگل انزوا | نحوه ی تخصیص این امتیاز نیز بدین صورت است که دادگانی که به خطوط جداساز کمتری برای قرار گیری در یک خوشه ی جداگانه نیاز دارند امتیاز بیشتری دریافت می کنند. در درخت انزوا داده‌هایی که زودتر از بقیه جدا شوند نزدیک‌تر به ریشهٔ درخت می‌باشند و به این ترتیب احتمال پَرت بودن آن‌ها بیشتر می‌شود. میزان پرت بودن یک داده در یک درخت انزوا به صورت کلی برابر است با تعداد یال‌هایی که باید از ریشهٔ درخت تا گرهٔ برگ (Leaf Node) طی شود؛ بنابراین هرچه این مسیر کوتاه‌تر باشد احتمال پرت بودن داده بیشتر می‌شود. در نهایت جنگل انزوا برای تشخیص پرت بودن میانگین مسیرهای طی شده در هر درخت انزوا برای هر داده را محاسبه می‌کند. روش های مختلفی برای تشخیص ناهنجاری وجود دارد، اما بسیاری از این روش ها به دلیل نیاز به داده های برچسب خورده و یا تلاش برای تخمین توزیع داده ها، در مواقعی که داده های برچسب خورده کمی در دسترس هستند، مشکل دارند. در سال 2010 یک نسخه ی دیگری از این الگوریتم به نام سای فارست توسعه داده شد تا مسئله ی مربوز به ناهنجاری های خوشه ای و ناهنجاری های موازی با پایه های متعامد فضا را حل کند. این الگوریتم برای تشخیص ناهنجاری در داده های بدون برچسب و با توزیع نامعلوم استفاده می شود. الگوریتم ساختن درخت انزوا روند ساختن یک درخت ایزوله از روی یک مجموعهٔ دادهٔ به‌طور خلاصه به ترتیب زیر است: اگر یا ارتفاع درخت به یک حد از پیش تعیین شدهٔ رسیده باشد: ساختن یک گرهٔ برگ. در غیر این صورت: انتخاب تصادفی یک ویژگی (Feature) از میان تمامی ویژگی‌های موجود در مجوعهٔ دادهٔ . | ## بخش 2: جنگل انزوا | ساختن یک گرهٔ داخلی به عنوان فرزند چپ درخت به طوری که ویژگی تمامی عناصر مجموعهٔ کمتر از باشد و فراخوانی دوبارهٔ الگوریتم بر روی این مجموعه از داده‌ها. ساختن یک گرهٔ داخلی به عنوان فرزند راست درخت به طوری که ویژگی تمامی عناصر مجموعهٔ بزرگتر یا مساوی باشد و فراخوانی دوبارهٔ الگوریتم بر روی این مجموعه از داده‌ها. خصوصیات الگوریتم - این الگوریتم پیچیدگی زمانی از مرتبه ی خطی دارد و برای اجرا به حافظه ی کمی نیاز دارد. - جنگل انزوا با استفاده از درخت های تصمیم گیری که به صورت تصادفی ساخته شده اند، ناهنجاری را تشخیص می دهد. - هر درخت تصمیم گیری در جنگل انزوا، به صورت جداگانه از داده های دیگر ساخته می شود. - جنگل انزوا به عنوان یک الگوریتم یادگیری نظارت نشده شناخته می شود، به این معنی که از داده های بدون برچسب استفاده می کند. سپس به ازای هر درخت تصمیم گیری در جنگل، داده های تصادفی از مجموعه داده انتخاب می شوند. در نهایت، با محاسبه میانگین ارزش انزوای هر نمونه، نمونه هایی که بیشترین ارزش انزوا را دارند، به عنوان ناهنجاری ها شناسایی می شوند. ارزش انزوا برای هر نمونه محاسبه می شود و نشان دهنده میزان انحراف آن نمونه از دیگر نمونه ها است. | ## بخش 3: جنگل انزوا | برای محاسبه ارزش انزوا، ابتدا باید درخت تصمیم گیری ساخته شده را روی داده ها آموزش داد. سپس، برای هر نمونه در مجموعه داده، مسیری که درخت تصمیم گیری برای آن دنبال کرده است، پیدا می شود. سپس با محاسبه میزان انحراف هر نمونه از سایر نمونه ها، ارزش انزوای آن نمونه محاسبه می شود. این در حالی است که اکثر الگوریتم‌ها هرچه داده‌های بیشتری را دراختیار داشته باشند بهتر عمل می‌کنند. به این ترتیب می‌توان گفت که یکی از ویژگی‌های مثبت این الگوریتم زیرنمونه برداری و قابلیت کار کردن با داده‌های کم می‌باشد. جنگل انزوا به دلیل استفاده از درخت های تصمیم گیری، برای داده های با بعد بالا نیز قابل استفاده است. این الگوریتم دارای قابلیت تشخیص ناهنجاری در داده های بدون برچسب و با توزیع نامعلوم است. | ## جمع‌بندی | جنگل انزوا دارای پارامترهای قابل تنظیمی است که می تواند تاثیر مستقیم بر دقت الگوریتم داشته باشد.