خانه / هوش مصنوعی / طبقه بندی / الگوریتم هوشمند انتخاب واحد و پیش بینی نمرات
الگوریتم هوشمند انتخاب واحد و پیش بینی نمرات
الگوریتم هوشمند انتخاب واحد و پیش بینی نمرات

الگوریتم هوشمند انتخاب واحد و پیش بینی نمرات


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

قابلیت های پروژه :

  1. طبقه بندی و پیش بینی نمرات با طبقه بند نایو بیز

  2. طبقه بندی و پیش بینی نمرات با طبقه بندSVM

  3. طبقه بندی و پیش بینی نمرات با طبقه بند درخت تصمیم(ِDesition Tree)

  4. طبقه بندی و پیش بینی نمرات با طبقه بند شبکه عصبی(NeuralNetwork)

  5. طبقه بندی و پیش بینی نمرات با طبقه بند نزدیکترین همسایه (KNN)

  6. طبقه بندی و پیش بینی نمرات با ترکیب طبقه بندها(Combaining classifier)

  7. تقسیم بندی داده ها با روش Kfold-Cross-Validation

  8. انجام عملیات انتخاب ویژگی به منظور بهبود پیش بینی و کاهش پردازش

  9. مقایسه دقت پیش بینی هر طبقه بند برای دروس مختلف

  10. بیان مزایا و معایب هر طبقه بند روی دیتاست استفاده شده

  11. حاوی داکیومنت فارسی و شرح نحوه اجرای پروژه


 

علاقه مندان به موضوع و پروژه مربوطه می توانند، پروژه را از طریق لینک زیر خریداری و دانلود کنند:

 

 

طبقه بندی  :

  • مهم ترین مساله دنیا که بشر با ان سرو کار دارد.

  • نتیجه گیری های مهمی که از مشاهدات و داده های جمع آوری شده صورت میگیرد.

  • فرآیند کلی استخراج دانش از داده است.

  • یکی از مباحث مهم در بحث داده کاوی(Data Mining) محسوب میشود.

در واقع مسأله طبقه بندی، یک مسأله یادگیری نظارت شده است.

بیان مساله :

الگوریتم هوشمند انتخاب واحد و پیش بینی نمرات :

هدف : پیش بینی نمرات هر درس   فرد و معدل فرد بر اساس نمرات ترم 1-3

دروس انتخاب شده برای آموزش :

  • شامل دروس ماقبل درس مورد نظر باشند.

  • بیشترین میزان همبستگی را با درس مورد نظر داشته باشند.

طبقه بندهای استفاده شده :

  • Naïve bayes

  • Suppor vector mashin

  • NeuralNetwork

  • Decision Tree

  • KNN

  • Combaining classifier

 

طبقه بند   نایو بیز – naïve bayes  :

  • یک طبقه بند آماری است.

  • برمبنای احتمال وقوع یا عدم وقوع یک ویژگی عمل میکند.

  • کل داده ها از هم مستقل هستند.وهیچ وابستگی باهم ندارند.

  • برای دادهای با حجم بالا هم مناسب است.

  • کارایی خوبی در طبقه بندی دادها دارد.

  • تعداد پارامترهای کمی دارد .(مزیت)

راهکارهای بهبود نتایج برای طبقه بند   : NAÏVE BAYES

  • ….. outlier removal(anomaly Detection)

  • عملیات پیش پردازش (pca – svd- transformation)

  • انتخاب ویژگی با الگوریتم کلونی مورچگان(feature selection)


طبقه بند    :  support verctor mashin  – svm

  • هدفش بیشینه کردن فاصله بین دو بردار مماس بر کلاس هاست.

  • از توابع کرنل برای نگاشت به فضای بالاتر استفاده میکند.

  • بیشتر برای حالت دو کلاسه استفاده میشود.

  • برمبنای معادله لاگرانژ است.

  • دچار over fiting نمیشه.قابلیت تعمیم بالایی دارد.

  • مناسب برای جاهایی که دقت خیلی زیاد لازم است.

  • مناسب برای داده ای با ابعاد بالا

  • Generalization خیلی خوبی دارد.

راهکارهای بهبود نتایج برای طبقه بند   SVM:

  • انتخاب ویژگی با الگوریتم کلونی مورچگان

  • عملیات پیش پردازش (pca – svd- transformation)

  • عملیات CossValidation

  • تغییر تابع کرنل :

    • کرنل خطی

    • کرنل polynomial  درجه 2

    • کرنل polynomial درجه 5

    • کرنل rbf

    • کرنل rbf_sigma

    • کرنل mlp

بهترین رویکردها برای این داده ها با طبقه بند SVM :

  • انتخاب ویژگی با تعداد مشخص 200 داده خوب

  • عملیات CROSS VALIDATIIN روی داده ها

  • OUTLIER REMOVAL

  • استفاده از کرنل polynomial درجه 5

معایب SVM  :

  • عدم قطعیت در تعیین تابع کرنل

  • محاسبات پیچیده و زمان بر

  • حافظه زیادی اشغال میکند.

  • برای داده های پیوسته سازگار نیست و باید تبدیل صورت گیرد.

  • بیشتر برای حالت دو کلاسه استفاده میشود.


طبقه بند شبکه عصبی- (MLP-neural network) :

  • Mlp جز رایج ترین نوع شبکه عصبی است.

  • جز شبکه های پیشخور هستند.

  • با انتخاب تعداد لایه ها و نرونهای لایه مخفی میتواند به دقت بسیار بالای برسد.

  • متداول ترین الگوریتم یادگیری این شبکه ها الگوریتم پس انتشار خطا است.

  • هدف : تعادل بین قابلیت یادگیری و تعمیم است.

  • زمان اموزش : وابسته به میانگین مربعات خطا

آموزش  : (پیش خور کردن الگوهای اموزشی – پس انتشار خطای مربوطه – بروزرسانی وزنها)

راهکارهای بهبود نتایج برای طبقه بند   ANN  :

  • انتخاب ویژگی با الگوریتم کلونی مورچگان

  • پیش پردازش دادها (pca – svd – transformation)

  • تغییر تعداد نرونهای لایه مخفی

  • تغییر تعداد لایه های مخفی

  • تغییر تابع فعالسازی نرون های لایه مخفی

  • تغییر نوع الگوریتم یادگیری

    • Gradient descent

    • Gradient descent with momentum

    • Gradient descent with adaptive learning rate

    • Levenberg-Marquardt

    • Quasi-Newton

    • Conjugate gradient

بهترین رویکردها برای این داده ها با طبقه بند شبکه عصبی mlp :

  • انتخاب ویژگی با تعداد مشخص 200 داده خوب

  • عملیات فشرده سازی و کاهش بعد

  • حذف داده های پرت

  • تعداد نرونهای لایه مخفی 30 عدد باشد.

  • تعداد لایه های مخفی 3 عدد باشد.

  • تابع فعالسازی لایه ها ‘tansig‘ باشد.

    • الگوریتم یادگیری Conjugate gradient …. ‘trainscg’

معایب شبکه عصبی :

  • عدم قطعیت در تعیین… تعداد لایه ها..تابع فعالسازی…الگوریتم یادگیری

  • محاسبات پیچیده و زمان بر

  • حافظه زیادی اشغال میکند.

  • پارامترهای زیادی دارد.


طبقه بند درخت تصمیم-Desition Tree  :

  • برای حالتی که تعداد کلاسها زیاد باشد مناسب است.

  • حساسیت کمتری به نویز دارد.

  • بر مبنای مقایسه از ریشه به پایین حرکت میکند.و کلاسهای نامناسب را حذف میکند.

  • برای مشخص کردن نرخ دسته بندی هر ویژگی از IG استفاده میکند.

  • یک رویکرد منطقی دارد.و از ترکیبات عطفی و فصلی استفاده میکند.

  • نیاز به تنظیم پارامتر ندارد.و یک روش غیر پارامتری است.

هدف ان ساخت درخت با کمترین ارتفاع است.

راهکارهای بهبود نتایج برای طبقه بند  Decision Tree  :

  • انتخاب ویژگی با الگوریتم کلونی مورچگان

  • CrossValidation

  • فشرده سازی و کاهش بعد

  • حذف داده های پرت

معایب Desition Tree :

  • پیچیدگی مکانی الگوریتم زیاد است.

  • انعطاف پذیری کمی دارد.

  • ممکن است به کلاس مدنظر همگرا نشود.

  • ارتفاع درخت زیاد شود.و پیچیدگی زمانی ان زیاد شود.


طبقه بند نزدیک ترین همسایه – KNN  :

  • یکی از ساده ترین و سریعترین طبقه بندها است.

  • با توجه به معیار فاصله و میزان شباهت به همسایه ها طبقه بندی را انجام میدهد.

  • K نزدیکترین همسایه به نمونه جدید را پیدا میکند.و با توجه به k همسایه تصمیم گیری میکند.

  • معیارهای فاصله (فاصله اقلیدسی – مانهاتان – minkowski)

  • انتخاب درست پارامتر k خیلی مهم است..

راهکارهای بهبود نتایج برای طبقه بند   KNN  :

  • انتخاب ویژگی با الگوریتم کلونی مورچگان

  • پیش پردازش (فشرده سازی و کاهش بعد ..حذف داده پرت….تبذیل دادها )

  • CrossValidation

  • تنظیم بهترین شعاع همسایگی k

  • نکته : انتخاب درست پارامتر k خیلی در نتیجه میتواند تاثیر گذار باشد.

بهترین رویکردها برای این داده ها با طبقه بند KNN :

  • انتخاب ویژگی با تعداد مشخص 200 داده خوب

  • عملیات CROSS VALIDATIIN روی داده ها

  • OUTLIER REMOVAL

  • فشرده سازی و کاهش بعد

  • انتخاب شعاع همسایگی K==5


ترکیب طبقه بندها(Combaining classifier) :

روش های مختلفی برای ترکیب طبقه بندها وجود دارد :

  • میانگین گیری
  • رای گیری اکثریت
  • boosting
  • adaboost
  • Bagging

*

 

همچنین ببینید

java agent development framework

سیستم چند عامله برای خرید و فروش سهام با کتابخانه Jade

هدف از این پروژه این است که با استفاده از چارچوب نرم افزاری jade یک …

2 دیدگاه

  1. واقع مطالب کاربردی و مفیدی را اراده نموده اید. موفق و پاینده باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *