(1-2)
با توجه به تعریف آنتروپی هر چقدر که نسبت کلاس‌ها به کل نمونه‌های موجود به همدیگر نزدیک‌تر باشد، آنتروپی مقدار بیشتری به خود می‌گیرد و در واقع زمانی که همه کلاس‌ها دقیقاً به یک اندازه باشند، میزان آنتروپی به بیش‌ترین مقدار خود یعنی 1 خواهد رسید:
(2-2)
و وقتی که همه نمونه‌ها متعلق به یکی از کلاس‌ها باشند و باقی کلاس‌ها هیچ عضوی نداشته باشند در این صورت میزان آنتروپی به کمترین مقدار خود، یعنی صفر خواهد رسید. شکل زیر نحوه تغییر میزان آنتروپی را برای مجموعه‌ای با دو کلاس نشان می‌دهد. در این شکل، میزان فراوانی کلاس اول با P1 (که در نتیجه مقدار فراوانی کلاس دیگر برابر خواهد بود با 1- P1 ) بر روی محور افقی نمایش داده‌شده و محور عمودی آنتروپی مجموعه S را بر اساس این پراکندگی نشان می‌دهد [36]:
شکل (2-2): تغییر میزان آنتروپی را برای مجموعه‌ای با دو کلاس
از روی مفهوم آنتروپی می‌توان، مفهوم بهره اطلاعاتی مجموعه نمونه S برای ویژگی A را به صورت زیر تعریف نمود:
(3-2)
که Values(A) مجموعه تمام مقادیری است که ویژگی A به خود می‌گیرد و همچنین Sv نیز نشان‌دهنده زیرمجموعه‌ای از S است که در آن‌ها ویژگی A مقدار v را به خود گرفته است. در هر مرحله از شاخه زنی درخت تصمیم (انتخاب یک ویژگی برای رأس‌های میانی)، ویژگی انتخاب خواهد شد که بهره اطلاعاتی بیشتری داشته باشد و به عبارت دیگر با انتخاب این ویژگی، میزان آنتروپی نسبت به حالت قبل از شاخه زنی بیش‌ترین کاهش را داشته باشد. الگوریتم درخت تصمیم از گره ریشه شروع به شاخه زنی و تقسیم مجموعه نمونه‌ها به زیرمجموعه‌های کوچک‌تر کرده و سپس این کار را به صورت بازگشتی بر روی زیرمجموعه‌های به وجود آمده از این شاخه زنی نیز تکرار میکند و این کار را تا جای ممکن ادامه میدهد:
در گره n، که شامل مجموعه نمونه‌های S است، ویژگی A را طوری انتخاب کن که بیش‌ترین بهره اطلاعاتی را برای مجموعه S داشته باشد، در صورتی که شاخه زنی ممکن نباشد، الگوریتم تمام شده است [36].
2-16 هرس درخت تصمیم تولیدشده
با توجه به اینکه درخت تصمیم تولیدشده در این مرحله تا جای ممکن گسترش داده‌شده، یعنی شاخه زنی در این درخت تا جایی ادامه یافته که هر کدام از برگهای درخت شامل نمونههای آموزشی با تنها یک کلاس باشند، برگهای موجود در این درخت به شدت به تک‌تک نمونه‌های استفاده‌شده وابسته بوده و به همین درخت تولیدشده دلیل نسبت به نویز دادههای آموزشی حساسیت زیادی دارد [37].
درخت با داده‌های آموزشی مطابق روش قبل یاد گرفته می‌شود. سپس برای یک گره داخلی (غیر برگ n ) زیرشاخه n حذف می‌گردد. این زیرشاخه با یک برگ جایگزین می‌شود. به این برگ دسته مثال‌های اکثریت یعنی دسته‌بندی اکثر مثال‌های قرارگرفته تحت این شاخه نسبت داده می‌شود. عملکرد درخت بر روی نمونه‌های تست که در آموزش درخت از آن‌ها استفاده نکرده‌ایم بررسی می‌شود: اگر درخت هرس شده عملکرد بهتر و یا مساوی با درخت فعلی داشت از درخت هرس شده استفاده می‌شود. هرس کردن آن‌قدر ادامه می‌یابد تا هرس بیشتر، سودی نداشته باشد.
2-17 شبکه عصبی مصنوعی
یکی از ابزارهای تحلیلی داده کاوی است که می‌تواند برای پیش‌بینی شاخص بهداشت و درمان مانند هزینه و استفاده از تسهیلات مناسب به کار گرفته شود. شبکه‌های عصبی شناخته‌شده برای تولید نتایج بسیار دقیق در پزشکی و هم چنین ابزاری قدرتمند برای کمک به پزشکان در تجزیه و تحلیل، مدل و ایجاد داده‌های بالینی پیچیده در طیف گسترده‌ای از برنامه‌های کاربردی می‌باشد [38]. این شبکه‌ها مجموعه‌ای از اتصالات ورودی و خروجی است که هر اتصال دارای وزن مختص به خود می‌باشد [16،14]. این مدل شبیه مغز انسان است و شامل یادگیری الگوها از یک مجموعه داده‌ها برای پیش‌بینی در پزشکی می‌باشد [39]. شبکه‌های عصبی توانایی استنتاج معانی را از داده‌های مبهم و پیچیده را دارد [40] و شامل فرایندهای یادگیری، پیش‌بینی مشاهدات جدید و تعیین توالی می‌باشد. اما اشکال آن در این است که توضیحی راجع به اینکه چگونه به این نتیجه خاص رسیده است را نمی‌دهد. در حقیقت شبکه‌های عصبی مصنوعی بر آن هستند تا با ورودی‌های خاص یک خروجی خاص ایجاد کنند و بر این اساس مفهوم آموزش یا تنظیم و یادگیری شبکه عصبی مصنوعی به وجود می‌آید. شبکه‌های عصبی در زمینه پزشکی قادر به تجزیه و تحلیل نمونه‌های خون و ادرار، ردیابی سطح گلوکز در بیماران دیابتی، تعیین سطح یون در مایعات بدن و تشخیص آسیب شناختی و تشخیص بیماری قلبی شده است [33].
ایده اصلی این‌گونه شبکه‌ها الهام گرفته از شیوه کارکرد سیستم عصبی موجودات زنده و به خصوص مغز انسان، برای پردازش داده‌ها، و اطلاعات به منظور یادگیری و ایجاد دانش قرار دارد [41]. عنصر کلیدی این ایده، روشی برای محاسبه است که بر پایه اتصال به هم پیوسته چندین واحد پردازشی ساده به نام نورون ساخته می‌شود که برای حل یک مسئله با هم هماهنگ عمل می‌کنند و توسط سیناپس‎ها (ارتباطات الکترومغناطیسی) اطلاعات را بین یکدیگر منتقل میکنند و یادگیری این شبکه‌ها بر پایه این اتصالات به هم پیوسته واحدهای پردازشی ساخته می‌شود. شبکه از تعداد دلخواهی سلول یا گره یا واحد یا نرون تشکیل می‌شود که مجموعه ورودی را به خروجی ربط می‌دهند [36،39].
از نقاط قوت استفاده از شبکه‌های عصبی، قابلیت مدلسازی داده‌ها، با متغیرهای پیوسته و گسسته بوده و قابلیت تقریب قوی در این ساختارها است. طبق قضیه “سایبنکو”، یک شبکه پرسپترون با یک لایه مخفی و تعداد کافی نورون غیرخطی، میتواند نقش یک تقریب زننده جهانی را ایفا کند، یعنی میتواند هر تابع پیوسته بر روی هر زیر فضای بسته را تقریب زند. با این حال، یافتن وزنهای بهینه برای یک شبکه‌های عصبی مصنوعی به منظور کمینه کردن خطا بسیار پیچیده است [42]. از سوی دیگر با وجود اینکه این روش کارایی بسیار خوبی برای کار با دادههای عددی دارد ولی با داده‌های رستهای نیز مانند دادههای عددی برخورد میکند. به همین دلیل، نحوه تفسیر عددی از دادههای رستهای به عنوان دادههای عددی، میتواند در عملکرد الگوریتم تأثیرگذار باشد. از دیگر معایب شبکههای عصبی ماهیت جعبه سیاه آن است یعنی پس از انجام مرحله آموزش و برآورد وزنهای مدل، تفسیر این وزنها و استدلال درباره دادهها بر اساس این پارامترها ناممکن است. از دیگر معایب این الگوریتمها، زمان بیشتر آموزش دادن مدل نسبت به دیگر الگوریتمهای به‌کاررفته در این پژوهش میباشد [36].
یکی از معروف‌ترین انواع شبکه‌های عصبی مصنوعی، شبکه عصبی پرسپترون چند لایه می‌باشد. این شبکه‌ها، شامل چند لایه از گره‌هایی به نام پرسپترون هستند که توسط یک شبکه feed-forward کاملاً به هم پیوسته به یکدیگر متصل میشوند. نورون های همه لایه‌ها به جز لایه ورودی (که خطی هستند) به صورت نورون هایی با تابع فعال‌سازی غیرخطی مدل میشوند. از معروف‌ترین توابع فعال‌سازی مورد استفاده برای پرسپترون میتوان به موارد زیر اشاره نمود:
شکل (2-3): توابع نرمال سازی [36]
در این شبکه‌ها، هر نورون در لایه‌های غیر پایانی، به هر کدام از نورون های لایه بعدی توسط اتصال (در نقش سیناپس های مغز) با وزن نسبت داده میشود تا تأثیر خروجی نورون (پالس تولیدشده) را بر روی نورون های لایه بعدی نشان دهد. در این شبکه، خروجی هر نورون در هر لایه به تک‌تک نورون های لایه بعدی فرستاده می‌شود (با تأثیرپذیری از وزن wij) و مجموع مقادیر ورودی به هر نورون در نورونهای لایه بعد، ورودی این نورون ها را تشکیل میدهند.
مرحله یادگیری یک شبکه پرسپترون چند لایه از طریق تعیین وزن‌های شبکه عصبی انجام می‌شود به طوری که این وزنها بتوانند میزان خطای خروجی شبکه را نسبت به کلاس‌بندی واقعی تا جای ممکن کاهش دهند. معروف‌ترین روش برای این کار، الگوریتم پس انتشار خطا می‌باشد.
الگوریتم آموزش پس انتشار خطا به این صورت است: وزن‌های شبکه با اعداد تصادفی کوچکی وزن دهی میشوند. برای هر نمونه آموزشی، خروجی شبکه با توجه به وزن‌های موجود تعیین شود. خروجی شبکه با کلاس واقعی داده نمونه مقایسه شود [36]. اگر تفاوتی بین کلاس پیش‌بینی‌شده و کلاس واقعی وجود داشت، میزان تغییرات مورد نیاز برای اعمال بر روی وزن‌ها طبق قانون پس انتشار خطا محاسبه میشوند. اگر مجموع خطا بر روی تمام داده‌های نمونه، در حد قابل قبولی بود الگوریتم پایان پذیرفته، در غیر این صورت به مرحله 2 برگشته و بار دیگر داده‌های خروجی را به الگوریتم داده و وزنها را بر حسب میزان خطا به روز مینماییم.
میزان تغییرات خطا در قانون پس انتشار خطا بر پایه مشتق تابع فعال‌سازی پرسپترون های هر لایه و بر حسب میزان خطای تولیدشده برای نمونه تعیین میشود [36]. فرض کنیم نمونه آموزشی p با کلاس واقعی d(p) به شبکه عصبی داده میشود و شبکه عصبی خروجی y(p) را برای این نمونه پیش‌بینی میکند، در این صورت میزان خطای شبکه برای این نمونه آموزشی، برابر خواهد بود با: