لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : word (..docx) ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 16 صفحه
قسمتی از متن word (..docx) :
Dec. 28
Feature Extraction
2
1) چکیده:
در این تمرین روش های استخراج ویژگی و روش های خطی و غیر خطی دسته بندی را مورد مطالعه قرار میدهیم. در ابتدا روش های مختلف استخراج ویژگی که از آن جمله PCA، LDA، روش قاب بندی و چند روش دیگر هستند را و سپس برای ویژگی های استخراج شده از روش های دسته بندی خطی بیزین و SVM خطی و سپس روش های غیرخطی RBF ، MLP و همچنین SVM غیرخطی برای دسته بندی استفاده شده است. بسته به روش شناسایی بکار گرفته شده، معمولا ویژگی های متفاوتی از دنباله نقاط استخراج می شود. در اکثر روش های موجود استخراج ویژگی، ویژگی ها از روی مختصات نقاط نمونه برداری شده ورودی استخراج می شوند. از مجموعه ی ویژگی های استخراج شده معمولاً تعدادی مفید تر و موثرترند. ما برای تشخیص و انتخاب ویژگی های تاثیرگذارتر از یک الگوریتم ژنتیک استفاده کرده ایم. اما پس از استخراج و انتخاب ویژگی ها نوبت به دسته بندی می رسد. در ابتدا از چند دسته بند خطی استفاده کرده ایم. به راحتی میتوان نشان داد که ناحیههای تصمیمگیری یک ماشین خطی محدودند و این محدودیت انعطافپذیری و دقت دستهبند را کاهش میدهد. مسایل بسیاری وجود دارد که توابع جداساز خطی برای داشتن حداقل خطا در آنها کافی نیستند. علاوه بر این مرزهای تصمیمگیری که کلاسها را از یکدیگر تفکیک میکنند ممکن است همیشه خطی نباشند و پیچیدگی مرزها گاهی اوقات نیاز به استفاده از سطحهای کاملاً غیر خطی را دارند. بنابراین در ادامه ی کار از چند دسته بند غیرخطی نیز استفاده نمودیم. در استفاده از شبکههای عصبی چندلایه، شکل غیر خطی بودن از مجموعهی آموزش فرا گرفته میشود. در روشهای RBF و SVM غیرخطی مشکل اصلی انتخاب توابع هسته غیر خطی مناسب است.
2) مقدمه
اولین الگوریتم دستهبندی در سال 1936 توسط Fisher ارایه شد و معیارهای آن برای بهینه بودن، کم کردن خطای دستهبندی کنندههای الگوهای آموزشی بود. بسیاری از استراتژیهای موجود نیز از همین روش پیروی میکنند. در سادهترین شکل ممکن، دسته بندهای خطی میتوانند دو دستهی متفاوت را تفکیک کنند. با توجه به این موضوع مسالهای را جداییپذیر خطی مینامند که با یک ابرصفحه بتوان محدودهی تصمیم را به دو گروه تقسیمبندی کرد. در عمل میتوان دسته بندهای خطیای را طراحی کرد که بیش از دو گروه را از هم تفکیک کنند. این عمل را با تنظیم محدودههای تصمیم متعدد و آزمونهای چندگانه بر اساس شرایط موجود میتوان انجام داد. ما در این مساله یک دسته بندی با 26 کلاس را داریم.
در روش بیزین احتمال شرطی تعلق بررسی میشود. به این ترتیب که الگوی مورد نظر به دستهای تخصیص داده میشود که احتمال شرطی تعلق بردار مشخصهی الگو به آن دسته ازتمام دستههای دیگر بیشتر باشد. روش بیزین به طور کلی می تواند برای کارایی بسیار مطلوب بهینه شوند. این روش مزایای دیگری نیز دارد که استفادهی از آن را توجیه میکند. این روش میتواند با چند فرض ساده در مورد دادهها کاملاً به شکل روشهای سادهی خطی عمل کند، به علاوه این کار میتواند به
Dec. 28
Feature Extraction
2
گونهای انجام شود که در پایان، مدل قطعی بدون هیچ گونه رجوع به آمار به دست آید. در روش بیزین مشکل کار تعریف احتمالات شرطی مورد نظر قاعدهی بیز است.
یک محقق روسی به نام Vladimir Vapnik در سال 1965 گام مهمی در طراحی دستهبندها برداشت [1] و نظریهی آماری یادگیری را بصورت مستحکمتری بنا نهاد و ماشین بردار پشتیبان را ارایه کرد. ماشینهای بردار پشتیبان در دو حالت جداییپذیر و جداییناپذیر برای دستهبندی الگوهای یک مسالهی چندکلاسه از چند مرز جداکنندهی خطی یا ابرصفحه استفاده میکنند و در واقع حاصلضرب داخلی بردار ورودی با هر یک از بردارهای پشتیبان در فضای d بعدی ورودی محاسبه میشود. Vapnik نشان داد که میتوان بردار ورودی را با یک تبدیل غیرخطی به یک فضای با بعد زیاد انتقال داد و در آن فضا حاصلضرب داخلی را بدست آورد که با این شرایط هستهی مفیدی را خواهیم داشت.
روش RBF یک دستهبندی و تقریبساز تابعی الگوست و شامل دو لایه میباشد که نرونهای خروجی ترکیبی خطی از توابع پایهای را به وجود میآورند که توسط نرونهای لایهی پنهان محاسبه شدهاند. زمانی که ورودی در ناحیهی تعیین شدهی کوچک از فضای ورودی قرار گیرد، توابع اساسی(غیر خطی) در لایهی پنهان، پاسخ غیر صفری به محرک ورودی میدهند. همچنین این مدل به عنوان یک شبکهی دریافتکنندهی ناحیهای شناخته شده است. ما در روش RBF از معمولترین تابع هستهی غیر خطی یعنی سیگموئید استفاده کردهایم.
به طور کلی شبکههای پرسپترون چندلایه شامل چندین پرسپترون ساده هستند که به طور ساختار سلسلهمراتبی، یک شکل پیشخورد با یک و یا چند لایهی میانی (لایههای پنهان) بین لایههای ورودی و خروجی را شکل میدهد. تعداد لایهی پنهان و تعداد نرونهای هر لایه ثابت نیستند. هر لایه ممکن است از نرونهای مختلفی تشکیل شده باشد که این موضوع به کار آنها بستگی دارد. الگوریتمهای آموزشی متفاوتی در روش چند لایه استفاده میشوند.
3) روشهای به کار رفته در این گزارش
در این قسمت روشهای استخراج ویژگی، روشهای انتخاب ویژگی ها جهت بهینه کردن آنها و کم کردن ابعاد مساله با کاهش تعداد آنها و روشهای دستهبندی (خطی و غیرخطی) به کار رفته بررسی شدهاند.
3-1) روشهای استخراج ویژگی
در این قسمت انواع روشهای استخراج ویژگی ها ذکر شده است. ذکر این نکته لازم است که برخی الگوریتم های استخراج برای انتخاب ویژگی های موثر نیز استفاده می شوند ازجمله ی آنها PCA و LDA هستند. اما در این گزارش ما برای بهینه کردن ویژگی ها و کم کردن تعداد آنها و یا به عبارت دیگر برای کاهش ابعاد (Curse of Dimensionality) از الگوریتم ژنتیک استفاده نموده ایم.
Dec. 28
Feature Extraction
4
3-1-1) روش PCA خطی
روشهای استخراج ویژگی یک زیرفضای مناسب m بعدی در فضای اصلی ویژگی ها از d بعد را تعیین می کنند(m
از آجا که PCA یک روش بدون بررسی استخراج ویژگی هاست (Unsupervised)، تحلیل جداسازی از یک اطلاعات گروهی در رابطه با هر الگو برای استخراج (خطی) ویژگی های با قابلیت جداسازی زیاد استفاده می کند. در LDA جداسازی بین کلاسی با جابجایی کل ماتریس کوواریانس در PCA با یک معیار جداسازی عمومی مانند معیار Fisher تائید می شود که در یافتن بردارهای مشخصه sw-1sb نتیجه می شود.( حاصل معکوس ماتریس پراکندگی sw و ماتریس پراکندگی بین کلاسی sb ). معیار دیگر همراه با بررسی (Supervised) برای چگالی های شرایط کلاس غیرگاوسی بر پایه ی فاصله Patrick-Fisher با استفاده از برآورد چگالی Parzen است.
3-1-2) روش Kernel PCA (PCA با هسته یا PCA غیرخطی)
چندین روش برای تعریف روش های استخراج ویژگی غیرخطی وجود دارد. یکی از این روش ها که مستقیماً به PCA مربوط است، Kernel PCA نام دارد. ایده ی اصلی KPCA نگاشتن داده های ورودی بر روی برخی از فضاهای ویژگی F جدید بطور معمولی با استفاده از تابع غیرخطی ∅ و سپس اعمال یک PCA خطی در فضای نگاشت شده است. به هر حال فضایF معمولاً ابعاد بسیار زیادی دارد. برای دوری از محاسبات نگاشت ساده ی ∅، KPCA تنها هسته های Mercel که می توانند به یک نقطه تجزیه شوند را بکار می گیرد.
kx,y=∅x.∅(y)
به عنوان یک نتیجه فضای هسته یک متریک با تعریف مناسب دارد. نمونه های هسته های Mercer شامل چندجمله ای های مرتبه P بصورت
Dec. 28
Feature Extraction
5
(x-y)p و هسته گاوسی هستند.
e-x-y2c
فرض می کنیم که X یک ماتریس الگوی n×d نرمال شده با میانگین صفر است و ∅x یک ماتریس الگو در فضای F باشد. PCA خطی در فضای F بردارهای مشخصه ی ماتریس همبستگی ∅x.∅(y)T را حل می کند که همچنین ماتریس هسته K(X,X) نیز نامیده می شود. در KPCA در ابتدا m بردار ویژگی از K(X,X) بدست می آیند تا یک ماتریس انتقال E را تعریف کنند (E یک ماتریس n×m است که m تعداد ویژگی های دلخواه است و m
3-1-3) روش مقیاس گذاری چندبعدی(MDS)
مقیاس گذاری چند بعدی (MDS)یک روش غیرخطی دیگر برای استخراج ویژگی هاست. هدف این روش بازنمایی یک مجموعه ی چندبعدی در دو یا سه بعد است مثل آنچه ماتریس فاصله در فضای اصلی ویژگی های d بعدی به طور کاملاً ثابت در فضای تصویرشده باقی مانده است. توابع تاکید فراوانی برای اندازه گیری کارایی این نگاشت استفاده شده اند. یک مشکل MDS این است که یک تابع نگاشت ساده و روشن را ارئه نمی کند بنابراین ممکن نیست که یک الگوی جدید را در یک نگاشت برای یک مجموعه ی آموزش مشخص بدون تکرار جایگذاری کند. چندین روش برای عنوان کردن این نقص که از درون یابی خطی تا آموزش شبکه عصبی محدود است مورد بررسی قرار گرفته است. همچنین امکان دارد که الگوریتم MDS مجدداً تعریف شود بنابراین مستقیماً یک نگاشت را تهیه می کند که ممکن است برای الگوهای آزمون جدید استفاده شود.
3-1-4) روش شبکه عصبی روبه جلو (Feed-Forward Neural Network)
یک شبکه ی عصبی روبه جلو یک روال جامع را برای استخراج ویژگی هاو دسته بندی پیشنهاد می کند. خروجی هر لایه ی مخفی ممکن است به عنوان یک مجموعه ی جدید و اغلب غیرخطی از ویژگی ها تعریف شود که در لایه ی مخفی برای دسته بندی ارائه می شوند. در این شرایط شبکه های استفاده شده توسط Fukushima و Lecun که اصطلاحاً آن را لایه های وزنی مشترک نامیده اند، در حقیقت فیلترهایی برای استخراج ویژگی ها در تصاویر دوبعدی هستند. در طول آموزش فیلترها با داده ها برای بیشینه کردن کارایی دسته بندی وفق داده شده اند.
شبکه های عصبی می توانند بطور مستقیم برای استخراج ویژگی ها در یک شکل بدون بررسی (
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : word (..doc) ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 27 صفحه
قسمتی از متن word (..doc) :
چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write میباشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب میشوند.
در این گزارش بر روی درستی و ساختار الگوریتمها متمرکز خواهیم شد. در این راستا برای ساختار پایگاه داده توزیعی یک سطحی از انتزاع را در نظر میگیریم تا مساله تا حد ممکن ساده سازی شود.
1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود میآید. کنترل همروندی به کاربران اجازه میدهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور میکند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام میدهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:
کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.
مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاهدادههای متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار میگیرد بصورت مداوم راهکارهای بهبود مختلف عرضه میشود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده میباشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت میباشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان میشوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه میشود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.
با بررسی الگوریتمهای مختلف میتوان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخههای متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی میباشند.
همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود میآید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره مینماید.
حالت اول را میتوان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت میشود. این حالت در شکل 1 نشان داده شده است.
شکل 1 نمایش حالت بروز آوری از دست رفته
حالت دوم حالتی است که در آن اطلاعات صحیح از پایگاه داده استخراج نمیشود. در این حالت فرض کنید دو مشتری بخواهند کارهای ذیل را انجام دهند.
مشتری 1: بخواهد یک چک 1 میلیونی را به حساب X واریز و از حساب Y برداشت نماید.
مشتری 2: بخواهد بیلان حساب مالی X و Y شامل کل موجودی را نمایش دهد.
در غیاب کنترل همروندی همانطور که در شکل 2 نشان داده شدهاست، تزاحم بین پروسس ها بوجود خواهد آمد. فرض کنید در زمانی که مشتری 1 اطلاعات را از حساب