بخشی از مقاله
چکیده
مسئله انتخاب و رتبهبندی ویژگیها از جمله مسائلی است که در مباحث شناسایی آماری الگو و یادگیری ماشین بسیار مورد توجه است. این مسئله زمانی اهمیت بیشتری پیدا میکند که در پی یافتن عوامل و ویژگیهای موثر در بروز بیماریهایی همچون سرطان باشیم. تکنولوژی ریزآرایه به عنوان ابزار قدرتمندی جهت بررسی رفتار هزاران ژن به صورت همزمان استفاده میشود و نقش بسیار مهمی در تشخیص و بررسی روشهای درمان دارد
یکی از مهمترین ویژگیهای دادههای حاصل از ریزآرایه، تعداد بسیار زیاد ژنها در برابر تعداد کم نمونهها است. بنابراین به منظور کشف و تشخیص ژنهای عامل بیماری لازم است از روشهای انتخاب ویژگی و رتبهبندی استفاده شود. این روشها باید به گونهای استفاده شوند که توانایی کشف موثرترین ویژگیها در بروز بیماری را داشته باشند. در این مقاله یک روش رتبهبندی جدید پیشنهاد شده که از سه مرحله عمده تشکیل شده است. مرحله اول شامل کاهش ابعاد دادهها با استفاده از آزمون t آماری و SOM است. در مرحله دوم با بکار بردن الگوریتم NSGA2 زیرمجموعههای کوچکی از ژنها با درصد خطای طیقهبندی کمتر انتخاب میشوند.
سرانجام در مرحله سوم رتبهبندی ژنها با توجه به زیرمجموعههای استخراج شده مرحله قبل انجام میشود. در این روش با کاهش ابعاد دادهها، سرعت و دقت اجرای برنامه افزایش یافت و از طرفی به علت استفاده ازNSGA2 در یافتن زیرمجموعههای کوچک اما موثر در طبقهبندی، ژنهای گذارش شده سهم بسیار مهمی در طبقهبندی دادههای ریزآرایه دارند. با اجرای الگوریتم پیشنهادی بر روی دادههای ریزآرایه سرطان سینه دقت طبقهبندی نسبت به روشهای پیشین تا 92 درصد افزایش یافت.
-1 مقدمه
ریزآرایه آزمایشگاه بزرگی بر روی یک تراشه است. درواقع ریزآرایه یک آرایه دو بعدی بر روی زمینهای جامد - معمولا یک اسلاید شیشهای یا غشای نازک سیلیکنی - است که قدرت بررسی حجم زیادی از مواد بیولوژیکی را با روش-های بررسی کننده دارای توان عملیاتی - حجم کار بالا - ممکن می سازد. در سالهای اخیر تکنولوژی ریزآرایه به دانشمندان علوم زیستی برای فهم فرایندهای سلولی کمک زیادی کرده است. دانشمندان علم ژنتیک با استفاده از الگوی بیان ژنها، نحوه عملکرد سلولها یا بافتها را شناسایی کرده و باعث پیشرفت چشمگیری در اکتشاف داروها و تشخیصهای کلینیکی شده-اند. دادههای حاصل از ریزآرایه که برای تشخیص و طبقهبندی بندی بیماری-ها استفاده میشوند، به صورت یک ماتریس عددی بسیار بزرگ در نظر گرفته میشوند.
در این ماتریس تعداد سطرها که نمایانگر نمونههای مختلف است با تعداد ستونها که نشاندهنده ژنها است، اختلاف بسیار زیادی داد. به طوری که معمولا یک ماتریس ریزآرایه شامل دهها سطر و هزاران ستون است. این حجم عظیم دادهها باعث افزایش پیچیدگی روشهای طبقهبندی، و از همه مهمتر تفسیر نادرست ژنهای عامل بیماریها حواهد شد. به همین منظور استفاده از روشهای کاهش ابعاد دادهها و رتبهبندی ژنها بر روی دادههای ریزآرایه بسیار مورد توجه محققان قرار گرفته است.
Golub و همکارانش از جمله پیشگامان طبقه بندی سرطان با استفاده از دادههای ریزآرایه سرطانی بودند. آنها با استفاده از روشهای ریاضی و آمار احتمال تشخیص سرطان را نشان دادند .[11] پس از آن، استفاده از روشهای داده کاوی و یادگیری ماشین برای این منظور بسیار گسترش یافت .[2] در سال 2004، Cho و همکارانش از روش KFDA اصلاح شده جهت تحلیل دادههای سرطان سینه استفاده نمودند. نویسندگان این مقاله، از میانگین مربعات خطا به عنوان معیار انتخاب ژن برای کمک به این طبقهبندی کننده استفاده نمودند .[3] از بین روشهای بسیاری که برای انتخاب ژنها در دادههای ریزآرایه استفاده شده است، الگوریتمهای ابتکاری خصوصا الگوریتم ژنتیک از جایگاه قابل توجهی برخوردار است.
در سال 2001، Li و همکارانش یک روش پیوندی با عنوان GA-KNN را برای تحلیل دادههای میکروآرایه مربوط به سرطان روده بزرگ به کار بردند. در این روش، بهوسیله الگوریتم ژنتیک، زیرمجموعههای بزرگی از ژنها تولید شدند و طبقهبندیکننده KNN برای فیلتر کردن این مجموعهها بر اساس صحت طبقهبندی استفاده شد .[4] در مقالهای که در سال 2002 توسط Liu و همکارش منتشر شد، از الگوریتم تکاملی چندهدفه MOEA جهت انتخاب ژنهای حاوی اطلاعات مفید استفاده شد .[5] پس از آن در سال 2007، Huang and Chang روش پیوندی دیگری برای انتخاب ژن پیشنهاد نمودند. در این روش، از الگوریتم ژنتیک هوشمند IGA برای استخراج زیرمجموعههای ژن اولیه استفاده شد.
بعد از آن، ماشین بردار پشتیبان جهت انتخاب زیرمجموعههای بهتر از زیرمجموعههای اولیه استفاده میشد .[6] در سال 2008، Kim و همکارش، از روش جدیدی بر اساس الگوریتم تکاملی برای فراهم کردن طبقهبندی کنندههای بهینه و بهبود انتخاب ویژگی ارائه دادند .[7] در مقاله Bonilla Huerta و همکارانش که در سال 2010منتشر شد، روش نوینی شامل الگوریتم ژنتیک و LDA ارائه شد. در این الگوریتم، طبقهبندی کننده LDA نهتنها به عنوان تابع برازش، بلکه از ضرایب تفکیککننده آن در عملگرهای ترکیب و جهش نیز استفاده شد.
[8] در سال 2011، Lee وهمکارانش روش AGA-KNN را برای انتخاب زیرمجموعههای ژنی ارائه کردند. با استفاده از این الگوریتم ابعاد دادهها کاهش یافته و تمام نمونههای دادهها به درستی طبقهبندی میشوند. همچنین این روش نسبت به مدل GA-KNN دارای دقت بیشتر و مصرف پردازنده کمتر بود Tsai .[9] و همکارانش در سال 2010، روش انتخاب جدیدی معرفی کردند که ویژگیها و نمونهها را به طور همزمان انتخاب میکرد.
این انتخابها توسط الگوریتم ژنتیک و طبقهبندیکنندههای SVM و KNN صورت میگرفت .[10] در سال 2014 نیز ابوالقاسمی و همکارانش یک روش انتخاب ژن و طبقه بندی دادههای ریز آرایه با استفاده از الگوریتم ژنتیک و شبکه عصبی خود سازمانده ارائه کردند. در این روش ژنها پس از خلاصه سازی و اجرای الگوریتم اکتشافی ژنتیک بر حسب فرکانس حضور در زیرمجموعه های بهینه انتخاب و گزارش شدند .[1]
روشهای ذکر شده در مجموع به منظور طبقهبندی، رتبهبندی، خلاصه سازی و کاهش ابعاد دادههای ریزآرایه استفاده شدند. اما اشکالاتی نظیر نداشتن دقت بالا در طبقهبندی، فیلتر نامناسب ژنها و عدم توجه به نقش بسیار مهم بیان هم زمان ژنها در رخ دادن یک فعالیت زیستی در بدن، در آنها مشاهده می-شود. بنابراین لازم است تا مدلها طوری طراحی شوند که صحت طبقهبندی هر مدل، حاصل از مشارکت چندین ژن برای ساخت مدل باشند.
بدین منظور در این پژوهش، با استفاده از SOM ، ژنهای مشابه در گروههایی قرار گرفته و نماینده هر گروه که برآیند ویژگیهای ژنهای آن گروه است، برای ساخت مدل طبقهبندی استفاده شده است. بدین ترتیب فضای مساله از از فضای ژنها به فضای کاهش یافته نورونها تبدیل شده است. این کار باعث کاهش پیچیدگی مساله، کاهش فضای جستجو و زمان لازم برای جستجو شده است. علاوه بر این، ارائه مدلی با دقت طبقهبندی بالا با تعداد ژنهای کمتر بسیار حائز اهمیت است. چرا که بدین طریق از ورود نویز و اطلاعات نامربوط به مدل جلوگیری خواهد شد. به همین منظور در این تحقیق از الگوریتم تکاملی چند هدفه NSGA2 استفاده شده که هدف اول کسب کمترین خطا در طبقهبندی و هدف دوم کمترین تعداد ویژگیها در مدل ساخته شده در نظر گرفته شده است.
-2 روشها
-1-2 شبکه عصبی خودسازمانده SOM
درشبکهی خودسازمانده، از روش یادگیری رقابتی برای آموزش استفاده می-شود و مبتنی بر مشخصههای خاصی از مغز انسان توسعه یافته است. سلولها در مغز انسان در نواحی مختلف طوری سازمان دهی شده اند که در نواحی حسی مختلف، با نقشه های محاسباتی مرتب و معنی دار ارائه می شوند. برای نمونه، ورودیهای حسی، لامسه، شنوائی و ... با یک ترتیب هندسی معنیدار به نواحی مختلف مرتبط هستند.
در یک شبکهی خود سازمانده که با SOM نشان داده میشود، واحدهای پردازشگر در گرههای یک شبکهی یک بعدی، دو بعدی یا بیشتر قرار داده می شوند. واحدها در یک فرآیند یادگیری رقابتی نسبت به الگوهای ورودی منظم میشوند. محل واحدهای تنظیم شده در شبکه به گونهای نظم مییابد که برای ویژگیهای ورودی، یک دستگاه مختصات معنیدار روی شبکه ایجاد شود. لذا یک نقشهی خود سازمانده، یک نقشهی توپوگرافیک از الگوهای ورودی را تشکیل میدهد که در آن، محل قرار گرفتن واحدها، متناظر ویژگی-های ذاتی الگوهای ورودی است. در واقع این نقشه از واحدهایی تشکیل شده که پس از مرحله آموزش، نمونههای ورودی بر روی آن نگاشت میشوند.
از آنجایی که تعداد واحدها در نقشه نهایی کمتر از تعداد نمونههای ورودی است، هر واحد حاصل نگاشت چند نمونه ورودی خواهد بود. واز آنجایی که وزنهای هر واحد از نقشه برآیند وزنهای نمونههای نگاشت شده بر آن است، میتواند به عنوان نمایندهای از نمونهها برای ساخت مدلهای طبقهبندی استفاده شود. این روش که به عنوان روشی برای کاهش ابعاد دادهها مورد استفاده قرار می-گیرد، باعث کاهش زمان اجرای برنامهها، کمتر شدن خطاها و افزایش دقت طبقهبندی مدلها میشود.
-2-2 الگوریتم ژنتیک چندهدفه NSGA2
الگوریتم ژنتیک از جمله الگوریتمهای اکتشافی است که برای حل مسائل مختلف ازجمله مسائل بهینهسازی مورد استفاده قرار میگیرد. این الگوریتم که از نظریه انتخاب طبیعی داروین برای یافتن پاسخهای بهینه استفاده میکند؛ با یک جمعیت اولیه از ویژگیهای مدل سازی شده مسأله آغاز میشود. ویژگی-های این جمعیت طی نسلهای مختلف با توجه به تابع هدف که نشان دهنده میزان برتری هر عضو است بهبود مییابند. و جمعیت نسل بعد با استفاده از عملیات ترکیب و جهش از بین اعضای برتر نسل قبل انتخاب و تولید می-شوند. در نهایت آخرین نسل، متشکل از جمعیتی است که میانگین مقدار تابع هدف برای اعضا آن از نسلهای پیشین بهتر است. روش کار الگوریتم NSGA2 که یک الگوریتم ژنتیک چندهدفه میباشد، به شرح ذیل است:
1. تشکیل جمعیت اولیه به اندازه .N
2. محاسبه مقدار تابع هدف اعضا برای تک تک اهداف.
3. مرتب کردن جمعیت کنونی برحسب شرطهای غلبه کردن و تشکیل صف نامغلوب.
4. محاسبه فاصله ازدحامی برای تک تک اعضا هر صف.
5. انتخاب تورنومنت ازدحامی: در مرحله انتخاب از بین دو عضو a و b، عضوی که رتبه پایینتری در صف نامغلوب دارد انتخاب می-شود. اما درصورتی که هر عضو در یک رتبه قرار داشته باشند، عضوی انتخاب میشود که فاصله ازدحامی بیشتری داشته باشد.
6. انجام عملیات ترکیب و جهش بر روی اعضای انتخاب شده از مرحله 6 و تولید فرزندان.
7. تلفیق اعضا نسل قبل و فرزندان در یک جمعیت جدید به اندازه 2N و تشکیل صف نامغلوب بر اساس توابع هدف.
8. جایگذینی والدین با بهترین اعضا ازجمعیت تلفیقی مرحله 7 به اندازه .N در این مرحله به ترتیب تمام اعضای صف نامغلوب اول تا صف k - که مجموع تعداد اعضا صفهای 1 تا k کمتر از N باشد - به جمعیت والدین اضافه میشوند. سایر والدین نیز از صف k+1 و برحسب بیشترین فاصله ازدحامی انتخاب میشوند.
9. ادامه اجرای الگوریتم از مرحله پنجم تا زمانی که به تعداد نسل مورد نظر برسیم.
-3 روش پیشنهادی
این پژوهش از سه بخش عمده تشکیل شده است: .1 کاهش ابعاد دادهها توسط آزمون T آماری و SOM، .2 اجرای الگوریتم اکتشافی NSGA2 و به دست آوردن جمعیتی بهینه از ویژگیها، .3 رتبهبندی ژنها - شکل . - 1 پس از کاهش ابعاد دادهها در مرحله اول، با اجرای الگوریتم دوهدفه NSGA2 مجموعه بهینه ای از نورونها به دست آمد. و در مرحله آخر، ژنها با توجه به خلاصه سازیهای قبلی و نتایج اجرای الگوریتم NSGA2 رتبهبندی شدند.
-1-3 کاهش ابعاد دادهها
ماتریس ریز آرایه اولیه شامل 128 نمونه و 47293 ژن در نظر گرفته شد. در مرحله کاهش ابعاد دادهها، ابتدا 500 ژن برتر با استفاده از آزمون T آماری انتخاب شده اند. سپس با اجرای SOM، فضای ویژگیها - ژنها - به فضایی شامل 100 ویژگی - نورون - نگاشته شد. شبکه SOM با اندازه 10 × 10 در نظر گرفته شد. با این کار فضای جستجو برای الگوریتم اکتشافی از 47293 ژن به فضایی شامل 100 نورون که هر نورون نمایندهای از چند ژن با عملکرد مشابه بود تقلیل یافت. محدوده شبکه SOM به صورت معمولی و تعداد دورهها، 100 در نظر گرفته شد.
-2-3 بهینه سازی ویژگیها با استفاده از NSGA2
الگوریتم دوهدفه NSGA2 طی 100 نسل و هر نسل با جمعیتی شامل 100 کروموزوم اجرا شد. برای انتخاب والدین از روش تورنومنت ازدحامی استفاده شد. فرزندان هر نسل با عملیات ترکیب تک نقطه ای با نرخ 80 درصد و جهش با نرخ 20 درصد تولید شدند. هر کروموزوم از دوقسمت باینری و عددی تشکیل شد؛ که عدد یک در قسمت باینری نمایانگر حضور نورون متناظر در قسمت عددی در ساخت مدل طبقه بندی است.
بدین طریق هرکروموزوم حداقل از دو نورون و حداکثر از 20 نورون تشکیل شد. برای این الگوریتم دو تابع هدف در نظر گرفته شد. تابع هدف اول میانگین خطای طبقهبندی هر مدل با استفاده از طبقهبندی کننده KNN در اعتبارسنجی متقاطع 10 تایی است. تابع هدف دوم نیز تعداد نورونهایی است که در ساخت هر مدل استفاده شده است. بدیهی است که هدف اجرای الگوریتم NSGA2 کمترین میزان در هر دو هدف میباشد. الگوریتم NSGA2 پنج مرتبه و هر بار با مقادیر اولیه تصادفی متفاوت برای کروموزومها اجرا شد. با اینکار اثر مقداردهی اولیه در نتیجه پایانی کاهش پیدا کرد. در نهایت تمامی کروموزومها از آخرین نسل از هر اجرا به عنوان جمعیت برتر درنظر گرفته شدند تا برای رتبهبندی ژنها در مرحله بعد انتخاب گردند.