به پروژه معروف تشخیص ارقام دست نویس خوش آمدید! این پروژه از مجموعه پروژههای هوش مصنوعی فنولوژی هست که هدفش کمک به علاقهمندان هوش مصنوعی برای ارتقای سطح مهارتهاشونه. توی این پروژه میخواییم بریم سراغ یکی از معروفترین دیتاستها یعنی دیتاست تصاویر ارقام دست نویس انگلیسی یا همون MNIST. حتما تا آخر پروژه با ما همراه باشید و ویدئوی آموزشی پروژه رو بعد از اینکه خودتون انجامش دادید از دست ندید! میتونید در همین نوشته به صورت رایگان برای دانلود دیتاست MNIST اقدام کنید. راستی گروه تلگرام پروژها هم حتما عضو بشید تا به سوالاتتون توسط کارشناسان فنولوژی پاسخ داده بشه.
شروع پروژه تشخیص ارقام
یکی از معروفترین پروژههای پردازش تصویر، دریافت نکاتی از مجموعه تصاویر و دستهبندی اون تصاویره؛ به طرزی که انسان بین تصاویر دستهبندی میکنه. یعنی اگه تو این پروژه به دنبال تشخیص ارقام هستیم، ممکنه یه رقم دست نویس با یه رقم دیگه متفاوت باشه یا به عبارتی دستخط انسانها با هم خیلی متفاوته. پس چطوری ذهن انسان اونها رو تشخیص میده و به همه رقمهای دستنویس چهار، لیبل چهار رو اختصاص میده؟ پس هدف این پروژه اینه که بتونیم به الگوریتممون یاد بدیم که مثل ما یاد بگیره! بزن بریم!
دانلود دیتاست MNIST
این دیتاست دقیقا چیه؟ این دیتاست درواقع شامل تعدادی تصویر از اعداد انگلیسی ۰ تا ۹ هستند که به صورت دستنویس نوشته شدند و عکس دست نویسشون توی این دیتاست به صورت Binary هست. راحت تر بگم یعنی عکس ها سیاه و سفید هستند. (هر پیکسل سیاه عدد صفر و هر پیکسل سفید عدد یک رو به خودش اختصاص داده) در تصویر زیر نمونههایی داده از این دیتاست رو میتونید مشاهده کنید.
برای دانلود این دیتاست به صورت رایگان از سایت فنولوژی، لطفا فرم زیر را پر کنید:
- دیگه چطوری میتونیم به دیتاست دسترسی داشته باشیم؟
این دیتاست همچنین به طور پیش فرض توی کتابخونهی scikit-learn قرار داره و ما میتونیم با استفاده از این کد دیتاست رو فراخوانی کنیم:
1 |
from sklearn.datasets import load_digits |
هدف پروژه چیه؟
قراره درواقع این تصاویر رو پیش پردازش کنیم و آماده کنیم که برای یادگیری به الگوریتم بدیم، و این دفعه قراره دقت مدل رو بر اساس Confusion Matrix ها بررسی کنیم. اما شما نباید خودتون رو محدود کنید و از هر روشی برای بهینه سازی دقت و الگوریتم میشناسید استفاده کنید. در نهایت باید بتونید با یه دقت خوب اعداد رو به درستی تشخیص بدید.
الگوریتم مورد استفاده توی این پروژه چیه؟
توی این پروژه من از الگوریتم های Decision Tree و Random Forest استفاده میکنم، اما شما میتونید از هر الگوریتمی که بلدید استفاده کنید و شاید دقت بهتری هم گرفتید!
پیشنیازها و منابع پیشنهادی قبل از شروع پروژه
برای انجام پروژه میتونید از مطالب زیر در سایت فنولوژی استفاده کنید. همچنین داخل گروه تلگرام پروژههای هوش مصنوعی فنولوژی میتونید سوالاتتون رو مطرح کنید. (برای عضویت روی بنر عضویت در ابتدای مقاله)
- هوش مصنوعی چیست و چه کاربردی دارد؟
- دوره آموزش پایتون مقدماتی
- دوره آموزش کتابخانه numpy
- ویدیو آشنایی با کتابخانههای یادگیری ماشین در پایتون
ویدئوی آموزشی پروژه
از پروژه لذت ببرید و در گروه تلگرام ما سوالاتتون رو بپرسید!