توضیحات
اطلاعاتی در مورد این دیتا بیس در آدرس زیر وجود دارد:
http://archive.ics.uci.edu/ml/datasets/Pen-Based+Recognition+of+Handwritten+Digits
در این دو ماتریس هر سطر بیانگر یک الگو می باشد. ستونهای اول تا شانزدهم را به عنوان ویژگیها در نظر گرفته ایم. کلاس مربوط به هر نمونه در ستون هفدهم ذکر شده است. داده ها مربوط به 10 کلاس مختلف هستند(رقمهای صفر تا 9)
شبکه MLP با الگوریتم آموزش BP مناسب برای دسته بندی این داده ها ایجاد نموده ایم. در
گزارش این پروژه آموزشی مراحل انتخاب شبکه مناسب از نظر خود را توضیح داده ایم (تعداد نرونهای لایه ورودی ،لایه مخفی و لایه خروجی، نوع تابع یا توابع فعالسازی و….)
شبکه را با داده های data_train آموزش می دهیم و دقت دسته بندی را هم برای data_train و هم برای data_test بدست می آوریم.
با توجه به تعداد زیاد نمونه ها و تعداد زیاد ویژگیهای هر بردار، یک روش برای کم کردن تعداد
ویژگیهای ورودی(کم کردن تعداد نرونهای ورودی) پیشنهاد می کنیم
ما با جمع آوری 250 نمونه از 44 نویسنده یک پایگاه داده رقمی ایجاد می کنیم. نمونه های نوشته شده توسط 30 نویسنده برای آموزش، اعتبارسنجی متقاطع و آزمون وابسته به نویسنده استفاده می شود و ارقام نوشته شده توسط 14 نویسنده دیگر برای آزمون مستقل نویسنده استفاده می شود. این پایگاه داده در قالب UNIPEN نیز موجود است.
ما از تبلت حساس به فشار WACOM PL-100V با صفحه نمایش LCD یکپارچه و قلم بی سیم استفاده می کنیم. نواحی ورودی و نمایشگر در یک مکان قرار دارند. متصل به پورت سریال رایانه شخصی مبتنی بر Intel 486، به ما امکان می دهد نمونه های دست خط را جمع آوری کنیم. تبلت مختصات تبلت x$ و y$ و مقادیر سطح فشار قلم را در فواصل زمانی ثابت (نرخ نمونه برداری) 100 میلی ثانیه ارسال می کند.
از این نویسندگان خواسته می شود که 250 رقم را به ترتیب تصادفی در جعبه هایی با وضوح 500 در 500 پیکسل تبلت بنویسند. موضوع فقط در اولین صفحه ورود نظارت می شود. هر صفحه شامل پنج جعبه است که ارقامی که باید در بالا نوشته شود نمایش داده می شود. به آزمودنی ها گفته می شود که فقط در داخل این جعبه ها بنویسند. اگر اشتباه کنند یا از نوشته خود ناراضی باشند، به آنها دستور داده می شود که محتوای یک جعبه را با استفاده از دکمه روی صفحه پاک کنند. ده رقم اول نادیده گرفته می شود زیرا اکثر نویسندگان با این نوع دستگاه های ورودی آشنا نیستند، اما آزمودنی ها از این موضوع آگاه نیستند.
در مطالعه خود، ما فقط از اطلاعات مختصات ($x, y$) استفاده می کنیم. مقادیر سطح فشار قلم نادیده گرفته می شود. ابتدا نرمالسازی را اعمال میکنیم تا نمایش خود را نسبت به ترجمهها و تحریفهای مقیاس تغییرناپذیر کنیم. داده های خامی که از تبلت می گیریم شامل مقادیر صحیح بین 0 تا 500 (رزولوشن جعبه ورودی تبلت) است. مختصات جدید به گونه ای هستند که مختصاتی که حداکثر دامنه را دارد بین 0 تا 100 متغیر است. معمولاً $x$ در این محدوده باقی می ماند، زیرا بیشتر کاراکترها بلندتر از عرض آنها هستند.
برای آموزش و آزمایش طبقهبندیکنندهها، باید ارقام را بهعنوان بردارهای مشخصه طول ثابت نشان دهیم. یک تکنیک رایج که منجر به نتایج خوب می شود، نمونه برداری مجدد از نقاط (x_t, y_t) است. نمونهگیری مجدد زمانی (نقاط با فاصله زمانی منظم) یا نمونهگیری مجدد فضایی (نقاط با فاصله منظم در طول قوس) میتوانند در اینجا استفاده شوند. داده های نقطه خام قبلاً به طور منظم در زمان فاصله دارند اما فاصله بین آنها متغیر است. تحقیقات قبلی نشان داد که نمونهگیری مجدد فضایی برای بدست آوردن تعداد ثابتی از نقاط با فاصله منظم در مسیر، عملکرد بسیار بهتری را به همراه دارد، زیرا همترازی بهتری بین نقاط فراهم میکند. الگوریتم نمونهگیری مجدد ما از درونیابی خطی ساده بین جفت نقاط استفاده میکند. ارقام نمونه برداری مجدد به عنوان دنباله ای از نقاط T (x_t, y_t )_{t=1}^T، با فاصله منظم در طول قوس، بر خلاف دنباله ورودی، که به طور منظم در زمان فاصله دارند، نشان داده می شوند.
بنابراین، اندازه بردار ورودی 2 * T است، دو برابر تعداد نقاط نمونه برداری مجدد. ما در آزمایشهای خود نمونهگیری مجدد فضایی را به نقاط T=8،12،16 در نظر گرفتیم و دریافتیم که T=8 بهترین مبادله بین دقت و پیچیدگی را ارائه میدهد.
برای اجرای این کار شما کافی است کد main.m را در متلب اجرا کنید و نتایج را ببینید. در ایتدا نتایج دقت آموزش و تست برای تمام ویژگی ها چاپ می شود و در ادامه هم دقت با انتخاب 5 ویژگی برتر نمایش داده خواهد شد. توجه کنید که برای سهولت کار داده های تست و ترین بصورت فایل اکسل به متلب داده می شود. در اینجا به توضیح کد main می پردازیم:
clc; clear all
در اینجا متلب بصورت خالی از هر گونه متغیری شروع به کار میکند.
%Load Data
tr = csvread(‘pendigit_tr.csv’, 1, 0); % read Train
te = csvread(‘pendigit_ts.csv’, 1, 0); % read Test
- فایلهای پروژه آموزشی به صورت کامل پس از خرید فایل بلافاصله در اختیار شما قرار خواهد گرفت.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.