شیوه‌ها و مراحل تصمیم‌گیری
آشنایی با درخت تصمیم‌گیری (Decision Tree)، جنگل تصادفی (Random forest) و بازشناسی الگوها
برای آن‌که بتوانید به عنوان یک برنامه‌نویس یا متخصص حوزه داده‌ها از الگوریتم‌ها استفاده کنید، لازم است با تفاوت‌های نوعی آن‌ها آشنا باشید. رویکرد فوق به شما کمک می‌کند در زمان مناسب از الگوریتم درست استفاده کنید تا فرآیند بازشناسی الگوها به درستی انجام شود.

بازشناخت الگو

شناسایی الگو (بازشناخت الگو یا تشخیص الگو) شاخه‌ای از مبحث یادگیری ماشینی است. می‌توان گفت شناسایی الگو، دریافت داده‌های خام و تصمیم‌گیری بر اساس دسته‌بندی داده‌ها است. بیشتر تحقیقات در زمینه شناسایی الگو در رابطه با «یادگیری نظارت شده» یا «یادگیری بدون نظارت» است. روش‌های شناسایی الگو، الگوهای مورد نظر را از یک مجموعه داده‌ها با استفاده از دانش قبلی در مورد الگوها یا اطلاعات آماری داده‌ها، جداسازی می‌کند. الگوهایی که با این روش دسته‌بندی می‌شوند، گروه‌هایی از اندازه‌گیری‌ها یا مشاهدات هستند که نقاط معینی را در یک فضای چند بعدی تشکیل می‌دهند. این ویژگی اختلاف عمده شناسایی الگو با تطبیق الگو است، که در آنجا الگوها با استفاده از موارد کاملاً دقیق و معین و بر اساس یک الگوی مشخص، تشخیص داده می‌شوند. تشخیص الگو و تطبیق الگو از بخش‌های اصلی مبحث پردازش تصویر به خصوص در زمینه بینایی ماشین هستند.

تشخیص الگو

نیاز به سیستم‌های اطلاعاتی بهبود یافته بیشتر از قبل مورد توجه قرار گرفته‌است چرا که اطلاعات عنصری اساسی در تصمیم‌سازی است و جهان در حال افزایش دادن مقدار اطلاعات در فرم‌های مختلف با درجه‌هایی از پیچیدگی است. یکی از مسائل اصلی در طراحی سیستم‌های اطلاعاتی مدرن، تشخیص الگو به‌طور اتوماتیک است. تشخیص به عنوان یک صفت اصلی انسان بودن است. یک الگو، توصیفی از یک شیء است. یک انسان دارای یک سیستم اطلاعاتی سطح بالاست که یک دلیل آن داشتن قابلیت تشخیص الگوی پیشرفته ‌است. بر طبق طبیعت الگوهای مورد تشخیص، عملیات تشخیص در دو گونه اصلی تقسیم می‌شوند.

تشخیص آیتم‌های واقعی

این ممکن است به عنوان تشخیص سنسوری معرفی شود که تشخیص الگوهای سمعی و بصری را دربر می‌گیرد.

تشخیص الگوهای زمانی و فضایی

این فرایند تشخیص، شناسایی و دسته‌بندی الگوهای فضایی و الگوهای زمانی را در بر می‌گیرد. مثال‌هایی از الگوهای فضایی کارکترها، اثر انگشت‌ها، اشیاء فیزیکی و تصاویر هستند. الگوهای زمانی شامل فرم‌های موجی گفتار، سری‌های زمانی و … هستند. تشخیص الگو می‌تواند به عنوان دسته‌بندی داده‌ها ی ورودی در کلاس‌های شناخته شده به وسیله استخراج ویژگی‌های مهم یا صفات داده تعریف شود. یک کلاس الگو، یک دسته متمایز شده به وسیله برخی صفات و ویژگی‌های مشترک است. ویژگی‌های یک کلاس الگو، صفات نوعی هستند که بین همه الگوهای متعلق به آن کلاس مشترک هستند. ویژگی‌هایی که تفاوت‌های بین کلاس‌های الگو را بیان می‌کنند اغلب به عنوان ویژگی‌های اینترست شناخته می‌شوند. یک الگو، توصیفی از یکی از اعضای دسته است که ارائه دهنده کلاس الگو می‌باشد. برای راحتی، الگوها معمولاً به وسیله یک بردار نمایش داده می‌شوند. مانند:

مسائل اساسی در طراحی سیستم تشخیص الگو

به‌طور کلی طراحی یک سیستم تشخیص الگو چند مسئله اصلی زیر را شامل می‌شود:

۱. طریقه نمایش داده‌ها

2. استخراج ویژگی

3. تعیین رویه تصمیم بهینه

طریقه نمایش داده‌ها

اول از همه، ما بایستی در مورد نمایش داده‌های ورودی تصمیم بگیریم.

استخراج ویژگی

دومین مسئله در تشخیص الگو، استخراج ویژگی‌ها یا صفات خاصی از داده ورودی دریافته شده و کاهش ابعاد بردارهای الگوست. این مورد اغلب به عنوان مسئله پیش پردازش و استخراج ویژگی معرفی می‌شود. عناصر برای همه کلاس‌های الگو مشترک هستند و می‌توانند حذف شوند. اگر یک مجموعه کامل از ویژگی‌های تشخیصی برای هر کلاس از داده‌های اندازه‌گیری شده تعیین شود، تشخیص و دسته‌بندی الگوها، دشواری کمتری را در برخواهد داشت. تشخیص خودکار ممکن است به یک فرآیند تطبیق ساده یا یک جدول جستجو کاهش یابد. به هر حال در بسیاری از مسائل تشخیص الگو، در عمل ، تعیین یک مجموعه کامل از ویژگی‌های تشخیص اگر غیرممکن نباشد دشوار است.

تعیین رویه تصمیم بهینه

مسئله سوم در طراحی سیستم تشخیص الگو تعیین رویه‌های تصمیم بهینه است که در فرایند شناسایی و دسته‌بندی مورد نیاز واقع می‌شود. پس از آنکه داده‌های مشاهده شده از الگوها جمع‌آوری شد و در فرم نقاط الگو یا بردارهای اندازه‌گیری در فضای الگو بیان شد، ما ماشینی را می‌خواهیم تا تصمیم بگیرد که این داده به کدام کلاس الگو تعلق دارد.

ماشین بردار پشتیبانی

ماشین بردار پشتیبانی (Support vector machines ) یکی از روش‌های یادگیری بانظارت است که از آن برای طبقه‌بندی و رگرسیون استفاده می‌کنند. این روش از جمله روش‌های نسبتاً جدیدی است که در سال‌های اخیر کارایی خوبی نسبت به روش‌های قدیمی‌تر برای طبقه‌بندی نشان داده‌است. مبنای کاری دسته‌بندی کننده SVM دسته‌بندی خطی داده‌ها است و در تقسیم خطی داده‌ها سعی می‌کنیم خطی را انتخاب کنیم که حاشیه اطمینان بیشتری داشته باشد. حل معادله پیدا کردن خط بهینه برای داده‌ها به وسیله روش‌های QP که روش‌های شناخته شده‌ای در حل مسائل محدودیت‌دار هستند صورت می‌گیرد. قبل از تقسیمِ خطی برای اینکه ماشین بتواند داده‌های با پیچیدگی بالا را دسته‌بندی کند داده‌ها را به وسیله تابعِ phi به فضای با ابعاد خیلی بالاتر می‌بریم. برای اینکه بتوانیم مسئله ابعاد خیلی بالا را با استفاده از این روش‌ها حل کنیم از قضیه دوگانی لاگرانژ برای تبدیلِ مسئله کمینه‌سازی مورد نظر به فرم دوگانی آن که در آن به جای تابع پیچیده phi که ما را به فضایی با ابعاد بالا می‌برد، تابعِ ساده‌تری به نامِ تابع هسته که ضرب برداری تابع phi است ظاهر می‌شود استفاده می‌کنیم. از توابع هسته مختلفی از جمله هسته‌های نمایی، چندجمله‌ای و سیگموید می‌توان استفاده نمود.الگوریتم SVM، جزو الگوریتم‌های تشخیص الگو دسته‌بندی می‌شود. از الگوریتم SVM، در هر جایی که نیاز به تشخیص الگو یا دسته‌بندی اشیا در کلاس‌های خاص باشد می‌توان استفاده کرد. در ادامه به کاربردهای این الگوریتم به صورت موردی اشاره می‌شود:

سیستم آنالیز ریسک، کنترل هواپیما بدون خلبان، ردیابی انحراف هواپیما، شبیه‌سازی مسیر، سیستم راهنمایی اتوماتیک اتومبیل، سیستم‌های بازرسی کیفیت، آنالیز کیفیت جوشکاری، پیش‌بینی کیفیت، آنالیز کیفیت کامپیوتر، آنالیز عملیاتهای آسیاب، آنالیز طراحی محصول شیمیایی، آنالیز نگهداری ماشین، پیشنهاد پروژه، مدیریت و برنامه‌ریزی، کنترل سیستم فرایند شیمیایی و دینامیکی، طراحی اعضای مصنوعی، بهینه‌سازی زمان پیوند اعضا، کاهش هزینه بیمارستان، بهبود کیفیت بیمارستان، آزمایش اتاق اورژانس، اکتشاف روغن و گاز، کنترل مسیر در دستگاه‌های خودکار، ربات، جراثقال، سیستم‌های بصری، تشخیص صدا، اختصار سخن، کلاسه بندی صوتی، آنالیز بازار، سیستم‌های مشاوره‌ای محاسبه هزینه موجودی، اختصار اطلاعات و تصاویر، خدمات اطلاعاتی اتوماتیک، مترجم لحظه‌ای زبان، سیستم‌های پردازش وجه مشتری، سیستم‌های تشخیص ترمز کامیون، زمانبندی وسیله نقلیه، سیستم‌های مسیریابی، کلاسه بندی نمودارهای مشتری/بازار، تشخیص دارو، بازبینی امضا، تخمین ریسک وام و.... اشاره کرد.

درخت تصمیم

برای درخت تصمیم به عنوان الگوریتم یادگیری ماشین به یادگیری درخت تصمیم رجوع نمائید. درخت تصمیم‌گیری (Decision Tree) یک ابزار برای پشتیبانی از تصمیم است که از درخت‌ها برای مدل کردن استفاده می‌کند. درخت تصمیم به‌طور معمول در تحقیق‌ها و عملیات مختلف استفاده می‌شود. به‌طور خاص در آنالیز تصمیم، برای مشخص کردن استراتژی که با بیشترین احتمال به هدف برسد بکار می‌رود. استفاده دیگر درختان تصمیم، توصیف محاسبات احتمال شرطی است. در آنالیز تصمیم، یک درخت تصمیم به عنوان ابزاری برای به تصویر کشیدن و آنالیز تصمیم، در جایی که مقادیر مورد انتظار از رقابت‌ها متناوباً محاسبه می‌شود، استفاده می‌گردد. یک درخت تصمیم دارای سه نوع گره ‌است:

۱-گره تصمیم: به‌طور معمول با مربع نشان داده می‌شود.

۲-گره تصادفی: با دایره مشخص می‌شود.

۳-گره پایانی: با مثلث مشخص می‌شود.

یک درخت تصمیم می‌تواند خیلی فشرده در قالب یک دیاگرام، توجه را بر روی مسئله و رابطه بین رویدادها جلب کند. مربع نشان دهنده تصمیم‌گیری، بیضی نشان دهنده فعالیت، و لوزی نشان دهنده نتیجه‌است.

جنگل تصادفی

جنگل‌ تصادفی یا جنگل‌های تصمیم تصادفی (Random forest) یک روش یادگیری ترکیبی برای دسته‌بندی، رگرسیون می‌باشد، که بر اساس ساختاری متشکل از شمار بسیاری درخت تصمیم، بر روی زمان آموزش و خروجی کلاس‌ها (کلاس‌بندی) یا برای پیش‌بینی‌های هر درخت به شکل مجزا، کار می‌کنند. جنگل‌های تصادفی برای درختان تصمیم که در مجموعه آموزشی دچار بیش برازش می‌شوند، مناسب هستند. عملکرد جنگل تصادفی معمولا بهتر از درخت تصمیم است، اما این بهبود عملکرد تا حدی به نوع داده هم بستگی دارد.

نخستین الگوریتم برای جنگل‌های تصمیم تصادفی را «تین کم هو» با بهره‌گیری از روش زیرفضاهای تصادفی پدیدآورد. نسخه‌های بعدی آن توسط لیو بریمن ارتقا یافت. پژوهش‌های «بریمن» روی کار «امیت و گمن» اثر گذاشت، کسانی که پژوهش براساس دسته تصادفی که نود را تقسیم می‌کند (در مبحث بزرگ شدن تک درخت) ارائه کردند در این روش، پیش از این که هر درخت یا هر گره را جاسازی کنند، جنگلی از درختان بزرگ می‌شود و گزینش از بین گونه‌ای از درختان که برای گزینش تصادفی زیرفضاهایی از داده آموزش دیده‌اند، صورت می‌گیرد. در پایان ایده بهبود بخشیدن به گره‌های تصادفی (که انتخاب هر گره به شکل تصادفی بوده) به جای بهبودی قطعی توسط «دیتریش» بیان شد دستاوردهای درباره جنگل تصادفی نخستین بار به دست «لئو بریمن» مقاله شد. این مقاله روش‌هایی از چگونگی ساخت جنگل بدون کنترل درخت‌ها با بهره‌گیری از CART را بیان می‌کند که با متد بگینگ و بهبودی نود تصادفی ترکیب شده‌است. به علاوه، این مقاله بسیاری از نتایج اولیه به دست آمده که شناخته شده بودند و چه آن‌هایی که به چاپ رسیده بودند را ترکیب می‌کرد که این ترکیبات پایه و اساس تمرینات امروزی جنگل‌های تصادفی را شامل می‌شود این الگوریتم توسط «لئو بریمن و عادل کالچر» توسعه یافت که جنگل تصادفی نیز جزو دستاوردهای ایشان بود ایده بگینگ برای ساخت مجموعه‌ای از درخت‌های تصمیم و انتخاب تصادفی نخست توسط «هو» و سپس «امیت و گمان» کامل شد. این تمرینات امروزی عبارتند از:

۱. بهره گرفتن از نقص خارج از کیسه برای تعمیم نقص‌های سازماندهی

۲. اهمیت اندازه‌گیری گونه‌ها و تنوع از طریق جایگشت

همچنین این گزارش نخستین فرجام تئوری برای جنگل‌هایی که از راه نقص سازماندهی تعمیم یافته بودند را بیان می‌کند که بستگی به قدرت درخت‌ها و ارتباط آن‌ها دارد. درخت تصمیم روش مشهوری برای انواع مختلفی از وظایف یادگیری ماشین به حساب می آید. با این حال در بسیاری موارد دقیق نیستند. در کل، معمولا درخت تصمیمی که بیش از حد عمیق باشد الگوی دقیق نخواهد داشت: دچار بیش برارزش شده , و دارای سوگیری پایین و واریانس بالا میباشد. جنگل تصادفی روشی است برای میانگین گیری با هدف کاهش واریانس با استفاده از درخت های تصمیم عمیقی که از قسمت های مختلف داده آموزشی ایجاد شده باشند. در این روش معمولا افزایش جزیی سوگیری و از دست رفتن کمی از قابلیت تفسیر اتفاق افتاده اما در کل عملکرد مدل را بسیار افزایش خواهد داد.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟