بخشی از مقاله
چکیده
یکی از بزرگترین مشکلات سلامتی و بهداشتی در دنیای امروز بیماری دیابت می باشد چرا که ناتوانی جسمی و حتی مرگ افراد مبتلا به این بیماری را به همراه داشته است به همین دلیل برای تشخیص درست بیماری دیابت باید روشی را به کار برد که در تشخیص بیماری دیابت حداقل خطا را داشته باشد که مدلهای مختلف شبکه های عصبی مصنوعی توانایی انجام تشخیص با حداقل خطا را دارند. به همین دلیل در این مقاله از مدل شبکه های عصبی احتمالی - - PNN برای تشخیص بیماری دیابت از نوع 2 استفاده شده است.
دیتاستی که برای تشخیص بیماری دیابت از نوع 2 استفاده شده است، Pima dataset Indians Diabetes است که شامل 768 نمونه داده می باشد با توجه به این دیتاست مدل PNN در محیط متلب پیاده سازی شده است و همچنین در این مقاله معیار کارایی به حداکثر رساندن دقت تشخیص بیماری دیابت از نوع 2 در مرحله ی اموزش و ازمایش Pima Indians Diabetes dataset می باشد که در نهایت به این نتیجه پی بردیم که دقت اموزش برابر 89.56% و دقت ازمایش برابر 81.49% می باشد.
.1 مقدمه
یکی از شایعترین بیماری ها در جهان، بیماری دیابت می باشد. این بیماری به دو دسته ی نوع یک و نوع دو تقسیم می شود که در این مقاله به دسته ی دوم یعنی تشخیص بیماری دیابت از نوع 2 با استفاده از PNN خواهیم پرداخت. علت مبتلا بودن به بیماری دیابت از نوع 2 در مردم عواملی همچون سابقه خانوادگی، رژیم غذایی نامناسب، عدم فعالیت بدنی، اضافه وزن و چاقی و... می باشد. اگر تشخیص و درمان در بیماران دیابتی از نوع 2 در زمان معین انجام نگیرد سبب ایجاد مشکلاتی مثل حمله های قلبی ،سکته، کوری، نارسایی کلیه و... خواهد شد که حتی قطع عضو را نیز به همراه خواهد داشت .
[1, 2, 3, 4] بدون شک یکی از مهمترین مشکلاتی که در دنیای پزشکی وجود دارد تشخیص درست و بهنگام بیماری ها می باشد. در کل تشخیص یک کار پیچیده ای است که نیاز به تجربه و مهارت بالا دارد، اما تشخیص سریع و مراقبت ویژه پزشکی از بیماران مبتلا به این امراض میتواند تا حد زیادی از مشکلات این بیماران بکاهد و کاهش هزینه های گزافی در سایر دوره های درمانی را به همراه داشته باشد .[5 , 6] تا به امروز راه حل های متفاوتی برای تشخیص بیماری های مختلف ارائه شده است. یکی از مهم ترین این راه حل ها، شبکه های عصبی مصنوعی می باشد. شبکه های عصبی مصنوعی شاخه ای از هوش مصنوعی، به عنوان یک فن آوری جدید در علم کامپیوتر پذیرفته شده است.
شبکه های عصبی مصنوعی تکنیکی است که سعی در شبیه سازی رفتار نرون های مغز انسان را دارد. این تکنیک در چندین سال اخیر در موارد زیادی بکارگیری شده است. از جمله قابلیت های شبکه های عصبی در تشخیص و تخمین و پیش بینی است شبکه های عصبی مصنوعی با داده هایی که بر روی میز کارش دارد سعی می کند که تشخیص دهد که ایا فرد به بیماری دچار شده است یا خیر. با مدلهایی که از شبکه های عصبی مصنوعی وجود دارد می توان عمل تشخیص را در بیماریهای مختلفی انجام داد تا با استفاده از مدلهای متفاوت شبکه های عصبی مصنوعی با کاهش خطای انسانی در روند تشخیص بیماری های مختلف، بتوانیم یکی از مشکلات که تشخیص بیماری در مرحله اول می باشد را به میزان قابل توجهی حل کرد تا بیمار از این طریق بتواند عوارض جبران ناپذیر بیماری را پیشگیری کرده و سلامتی خود را حفظ کند.
همچنین در طی سالهای اخیر شبکه های عصبی مصنوعی در هر زمینه ای از علوم پزشکی استفاده شده است و همواره مورد قبول پزشکان چه در زمینه تشخیص بیماری های مختلف و چه در زمینه درمان بیماران بوده است .[6 , 7] در استفاده از شبکه های عصبی مصنوعی در تشخیص بیماری های مختلف هدف رسیدن به یک نرخ دقت بالا و عینیت تشخیص پزشکی در آموزش و آزمایش مجموعه ای داده است .[7] با توجه به مجموعه داده های بیماران، مدلهای شبکه های عصبی مصنوعی قبل از انجام عمل اصلی که تشخیص می باشد آموزش می یابند و پس از آموزش و آزمایش مجموعه داده های بیماران توسط مدلهای شبکه های عصبی مصنوعی می توان زمینه ی تشخیص بیماری را در رسیدن به دقت تشخیص بالا و کمترین خطا در تشخیص فراهم کرد .
[7 , 8] در این مقاله سعی شده است که تا با استفاده از مدل شبکه های عصبی مصنوعی PNN به بالاترین نرخ دقت در مرحله آموزش و آزمایش تشخیص بیماری دیابت از نوع 2 دست پیدا کنیم. از مزایای مدل PNN، می توان به جدید بودن این مدل برای تشخیص بیماری دیابت از نوع 2 به جای روشهای سنتی همراه با خطای انسانی اشاره کرد که این کار هزینه های انسانی را کاهش داده و کمک بزرگی در زمینه علم پزشکی می باشد که برای انجام این هدف از یک مجموعه داده به نام Pima Indians Diabetes با 768 نمونه داده استفاده شده است که هر نمونه شامل ویژگی های مشخصی می باشد.
با استفاده از این 768 نمونه داده، مدل PNN را آموزش خواهیم داد و همچنین مدل PNN برای تشخیص بیماری دیابت از نوع 2 را در محیط متلب پیاده سازی کرده ایم. در این مقاله، در بخش دوم به مطالعات و پژوهشهایی که قبلا در زمینه تشخیص بیماری دیابت انجام شده است، خواهیم پرداخت. در بخش سوم به بحث و بررسی مجموعه داده Pima Indians Diabetes، مدل پیشنهادی PNN برای تشخیص بیماری دیابت از نوع 2 در دو معیار آموزش و آزمایش Pima Indians Diabetes خواهیم پرداخت و در بخش چهارم به بحث و بررسی و مقایسه کارهای قبلی برای تشخیص بیماری دیابت از نوع 2 با مدل PNN در مرحله ی آموزش و آزمایش خواهیم پرداخت و در بخش پنجم نتیجه گیری و کارهای آینده در زمینه تشخیص بیماری دیایت از نوع 2 را بیان می کنیم.
.2 پیشینه و مطالعات قبلی
.1,2 شبکه های عصبی احتمالی
شبکه های عصبی احتمالی - PNN - در ابتدا توسط دی.اف. اسپیچ3 در سال 1990 معرفی شد. یک شبکه عصبی احتمالی درواقع یک دسته بند است. PNN از یک مجموعه آموزشی نظارتی جهت توسعه توابع تراکم احتمال با یک لایه الگو استفاده می کند. این یک مدل براساس یادگیری رقابتی بوده و مفهوم اصلی آن براساس تخمین احتمال چندمتغیره است. PNN و GRNN - شبکه های عصبی رگرسیون کلی - معماری یکسانی دارند، اما یک تفاوت اساسی در آنها وجود دارد. شبکه های عصبی رگرسیون، عمل رگرسیون انجام می دهند که متغیر هدف پیوسته است، اما شبکه های عصبی احتمالی دسته بندی انجام می دهند و متغیر هدف قطعی - درجه ای - است.
همه شبکه های عصبی احتمالی دارای چهار لایه هستند:
-1 لایه ورودی: به ازای هر متغیر پیش بینی کننده در لایه ورودی یک نورون وجود دارد. برای متغیرهای دسته ای - قطعی - ، N-1 نورون استفاده می شوند، که N تعداد دسته ها - طبقه ها - است. نورون های ورودی بازه ی مقادیر را با تفریق میانه و تقسیم آن بر کل بازه ی چهار-یک استانداردسازی می نمایند. سپس نورون های ورودی هرکدام از نورون های موجود در لایه پنهان را تغذیه - فید - می کنند.
-2 لایه پنهان: این لایه برای هر حالت در مجموعه داده آموزش یک نورون دارد. نورون مقادیر متغیرهای پیش بینی کننده را همراه با مقدار هدف برای حالت ذخیره می کند. وقتی بردار x مقادیر ورودی از لایه ورودی نمایش داده شد، فاصله اقلیدسی حالت تست از نقطه مرکزی نورون با نورون پنهان محاسبه می شود و سپس از مقدار - یا مقادیر - سیگما جهت اعمال تابع هسته RBF استفاده می کند. مقدار بدست آمده از نورون های لایه الگو عبور داده می شود.
-3 لایه الگو: لایه بعدی در شبکه برای PNN و GRNN متفاوت است. برای شبکه های PNN، به ازای هر طبقه از متغیر هدف یک نورون الگو وجود دارد. طبقه هدف واقعی هر حالت آموزش با یک نورون پنهان ذخیره می شود؛ مقدار وزن دار بدست آمده از یک نورون پنهان تنها به نورون الگویی داده می شود که مربوط به نوع نورون پنهان است. نورون های الگو مقادیر را برای دسته ای که نمایش می دهند، اضافه می نمایند.
-4 لایه تصمیم: این لایه نیز در شبکه های PNN و GRNN متفاوت است. در شبکه های PNN لایه تصمیم رای های وزن دار را برای هر طبقه هدف که در لایه الگو انجام شده است مقایسه می کند و از بزرگترین رای برای پیش بینی طبقه هدف استفاده می کند. PNN یک الگوریتم دسته بندی الگو است که در دسته الگوریتم های شبیه به نزدیک ترین همسایه قرار می گیرد. اگرچه پیاده سازی آن بسیار متفاوت است، اما PNN از نظر مفهومی مشابه مدل های -kنزدیک ترین همسایه است.