جنگل انزوا کیست؟ توضیح بده.
جنگل اِنزِوا (به انگلیسی Isolation Forest) یک روش یادگیری نظارت نشده برای تشخیص داده‌های پَرت است. یک جنگل انزوا مجموعه‌ای از درخت‌های انزوا (به انگلیسی Isolation Tree) است. هر درخت انزوا در واقع یک درخت دودویی می‌باشد.به طور خلاصه این الگوریتم فضای دادگان را به کمک خطوطی موازی پایه های متعامد فضا جداسازی می کند و به دادگانی که در قسمت های مختلف این فضا قرار گرفته اند امتیازی برای میزان غیر طبیعی بودن اختصاص می دهد. نحوه ی تخصیص این امتیاز نیز بدین صورت است که دادگانی که به خطوط جداساز کمتری برای قرار گیری در یک خوشه ی جداگانه نیاز دارند امتیاز بیشتری دریافت می کنند.شکل سمت چپ کاربردی از این الگوریتم را نشان میدهد. در ابن شکل فاصله ی زمانی بین فوران بر حسب زمان هر فوران برای آبفشان مخروطی Old Faithful نشان داده شده است. نواحی قرمز تیره امتیاز ناهنجاری بیشتری را نشان می دهند.در درخت انزوا داده‌هایی که زودتر از بقیه جدا شوند نزدیک‌تر به ریشهٔ درخت می‌باشند و به این ترتیب احتمال پَرت بودن آن‌ها بیشتر می‌شود. میزان پرت بودن یک داده در یک درخت انزوا به صورت کلی برابر است با تعداد یال‌هایی که باید از ریشهٔ درخت تا گرهٔ برگ (Leaf Node) طی شود؛ بنابراین هرچه این مسیر کوتاه‌تر باشد احتمال پرت بودن داده بیشتر می‌شود. در نهایت جنگل انزوا برای تشخیص پرت بودن میانگین مسیرهای طی شده در هر درخت انزوا برای هر داده را محاسبه می‌کند.تاریخچه.در یادگیری ماشین، تشخیص ناهنجاری در داده ها یکی از مسائل مهم است. روش های مختلفی برای تشخیص ناهنجاری وجود دارد، اما بسیاری از این روش ها به دلیل نیاز به داده های برچسب خورده و یا تلاش برای تخمین توزیع داده ها، در مواقعی که داده های برچسب خورده کمی در دسترس هستند، مشکل دارند. این الگوریتم اولین بار در سال 2008 توسط فی تونی لیو و ژی هوا ژو توسعه داده شد. در سال 2010 یک نسخه ی دیگری از این الگوریتم به نام سای فارست توسعه داده شد تا مسئله ی مربوز به ناهنجاری های خوشه ای و ناهنجاری های موازی با پایه های متعامد فضا را حل کند. این الگوریتم برای تشخیص ناهنجاری در داده های بدون برچسب و با توزیع نامعلوم استفاده می شود.الگوریتم.ساختن درخت انزوا.روند ساختن یک درخت ایزوله از روی یک مجموعهٔ دادهٔ formula_1 به‌طور خلاصه به ترتیب زیر است:خصوصیات الگوریتم.- این الگوریتم پیچیدگی زمانی از مرتبه ی خطی دارد و برای اجرا به حافظه ی کمی نیاز دارد. این موضوع این الگوریتم را برای اجرا روی دادگان حجیم مناسب می سازد.- جنگل انزوا با استفاده از درخت های تصمیم گیری که به صورت تصادفی ساخته شده اند، ناهنجاری را تشخیص می دهد.- هر درخت تصمیم گیری در جنگل انزوا، به صورت جداگانه از داده های دیگر ساخته می شود.- این الگوریتم برای تشخیص ناهنجاری، از مفهوم "ارزش انزوا" استفاده می کند.- جنگل انزوا به عنوان یک الگوریتم یادگیری نظارت نشده شناخته می شود، به این معنی که از داده های بدون برچسب استفاده می کند.ساختن جنگل انزوا.برای ساخت جنگل انزوا، ابتدا باید یک مجموعه داده تهیه شود. سپس به ازای هر درخت تصمیم گیری در جنگل، داده های تصادفی از مجموعه داده انتخاب می شوند. برای ساخت هر درخت، از یک الگوریتم تصمیم گیری مانند CART (Classification and Regression Trees) استفاده می شود. سپس، برای هر نمونه در مجموعه داده، ارزش انزوا محاسبه می شود. در نهایت، با محاسبه میانگین ارزش انزوای هر نمونه، نمونه هایی که بیشترین ارزش انزوا را دارند، به عنوان ناهنجاری ها شناسایی می شوند.محاسبهٔ امتیاز پرت بودن (Anomaly score).برای محاسبه امتیاز پرت بودن یا ناهنجاری، از مفهوم "ارزش انزوا" استفاده می شود. ارزش انزوا برای هر نمونه محاسبه می شود و نشان دهنده میزان انحراف آن نمونه از دیگر نمونه ها است. برای محاسبه ارزش انزوا، ابتدا باید درخت تصمیم گیری ساخته شده را روی داده ها آموزش داد. سپس، برای هر نمونه در مجموعه داده، مسیری که درخت تصمیم گیری برای آن دنبال کرده است، پیدا می شود. سپس با محاسبه میزان انحراف هر نمونه از سایر نمونه ها، ارزش انزوای آن نمونه محاسبه می شود.کاربردها.- تشخیص ناهنجاری در داده های پزشکی، مانند تصاویر پزشکی و ...