Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > یادگیری (Learning) > دسته بندي (Classification)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۱۱-۶-۱۳۹۱, ۱۰:۵۶ قبل از ظهر   #1 (لینک دائم)
عضو جدید
 
آواتار Milandini
 
تاريخ عضويت: بهمن ۱۳۹۱
پست ها: 3
تشكرها: 1
0 تشكر در 0 پست
پيش فرض نحوه کلاسه بندی

توی متلب چه طوری میشه یه سری داده رو طبقه بندی کرد و بعد اونها رو train کرد
یه نمونه کد ساده هم باشه خوبه
ممنون
Milandini آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۱۱-۶-۱۳۹۱, ۱۲:۱۴ بعد از ظهر   #2 (لینک دائم)
Super Moderator
 
آواتار raha_hakhamanesh
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: دنیا
پست ها: 281
تشكرها: 28
253 تشكر در 147 پست
My Mood: Zodranj
پيش فرض

با سلام
سوالتان کمی گنگ است من با زمینه فکری خودم پاسخ می دم.
تا جاییکه من اطلاع دارم متلب دستور خاصی برای دسته بندی ندارد (این فرآیند استاندارد نیست) بلکه ابزارهایی را فراهم کرده که در پروسه دسته بندی بسیار مفید هستند.

بطور کلی شما باید کارهای زیر رو انجام بدید:
1- داده های آموزشی (Train) را در قالب ساختاری مشخص و صریح تبدیل کنید مثلا فرض کنیم هر آیتم شما دارای 200 ویژگی می باشد و شما 10000 آیتم دارید پس بهتر است با دستوراتی که در متلب وجود دارد یا بوسیله کد اختصاصی خودتان آنها را به یک ماتریس 200*10000 تبدیل کنید. یعنی 10000 رکورد داشته باشید که هر رکورد مربوط به یک آیتم است و می دانیم هر آیتم مثلا 200 ویژگی دارد.

2- از یک الگوریتم یادگیرنده برای آموزش استفاده کنیم؛ معمولا تنوع این الگوریتم ها باعث می شود نتوان فقط یک راه حل را پیشنهاد داد و کاملا وابسته به هدف مسئله و نوع پروژه دارد (توجه داشته باشید که مسئله دسته بندی در کاربردها و علوم متنوعی استفاده می شود از زیر گرایش های هوش بگیرید تا رشته هایی همچون کشاورزی و ...، که من مقالاتی را در آنها دیده ام) - از جمله می توان به شبکه عصبی، svm، بوستینگ؛ Naive Bayesian و مواردی از این قبیل اشاره کرد.

3- حالا یادگیرنده می داند مثلا شی x دارای رکوردی به فرم مثلا y می باشد

4- باید یک (چند) نمونه آزمایشی (Test) تهیه و دقیقا به فرک داده های آموزشی تبدیل کنید یعنی هر رکورد دارای 200 ویژگی که در یک ردیف از یک ماتریس 200*1 ذخیره شده است، آن را به الگوریام یادگیرنده بدهید و بهترین پاسخ را دریافت کنید.

ملاحضات»
* مسلم است که ممکنه پاسخ غلط باشد به همین علت معمولا در مرحله آزمایش تعداد قابل توجهی نمونه را تست می کنیم تا بتوانیم اطلاعات آماری از میزان عملکرد الگوریتم مان بدست آوریم (مثلا بر حسب درصد) البته توجه داشته باشید در این خصوص متریک های استانداری همچون نمودار ROC موجود است که فرم علمی ارائه گزارش در این خصوص می باشد.

* معمولا وقتی میخواهیم داده ها را به دو بخش آموزش و آزمایش تقسیم کنیم پیشنهاد می شود حدود 60% کل داده ها را برای آموزش و 40% را برای آزمایش جدا کنیم و این بدیهی است که نباید داده ها با یکدیگر همپوشانی داشته باشند (یعنی هم در آموزش و هم در آزمایش استفاده شوند)

موفق باشید
__________________
.
.
.
برای تشکر دکمه مخصوص وجود دارد لطفا پست هرز ایجاد نکنید
.
.
اینقدر از دسترسی نداشتن به مقاله شیون نکنید

مقالات انگلیسی: ایران سای (ISI, IEEE, ACM)
مقالات فارسی: سیویلیکا (کنفرانس داخلی)
مقالات فارسی: مگ ایران (ژورنالهای داخلی)

ويرايش شده توسط raha_hakhamanesh; ۱۱-۶-۱۳۹۱ در ساعت ۱۲:۱۹ بعد از ظهر دليل: غلط املایی
raha_hakhamanesh آفلاين است   پاسخ با نقل قول
از raha_hakhamanesh تشكر كرده اند:
EhsanPardaz (۰۴-۲۳-۱۳۹۳), mary92 (۱۱-۱۲-۱۳۹۲), Milandini (۱۱-۶-۱۳۹۱), roozgard (۰۳-۱۷-۱۳۹۴)
قديمي ۱۱-۶-۱۳۹۱, ۱۲:۵۳ بعد از ظهر   #3 (لینک دائم)
عضو جدید
 
آواتار Milandini
 
تاريخ عضويت: بهمن ۱۳۹۱
پست ها: 3
تشكرها: 1
0 تشكر در 0 پست
پيش فرض

خیلی ممنون از پاسختون...
برای آشنایی با بحث کلاسه بندی میخوام یه مسئله ساده رو حل کنم....
داخل یه متغیر(myvar) مقدار زیادی عدد اعشاری دارم ...تنها فیچرشون هم اینکه که اگر با صفر شروع بشن(مثل 0.5) جزو گروه 1
اگر با 1 شروع بشن(مثل 1.5) جزو گروه 2
و اگر با 2 شروع بشن جزو گروه 3

بعد که کلاسه بندی انجام شد میخوام تعدادی داده رو اموزش بدم و چندتا هم تست کنم(در این قسمت میشه از الگوریتم knn استفاده کرد؟)
Milandini آفلاين است   پاسخ با نقل قول
قديمي ۱۱-۶-۱۳۹۱, ۰۵:۱۸ بعد از ظهر   #4 (لینک دائم)
Super Moderator
 
آواتار raha_hakhamanesh
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: دنیا
پست ها: 281
تشكرها: 28
253 تشكر در 147 پست
My Mood: Zodranj
پيش فرض

با سلام
همین که شما سه دسته داده دارید مسئله رو از حالت باینری به مالتی کلاس تبدیل می کنه! و کار به همون اندازه سخت میشه پس تفاوتی چندانی نداره وقتی شما سه کلاس داشته باشید یا مثلا 20 تا.

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

با توجه به اطلاعات شما که از مطالبتان می شود استخراج کرد بهتره از KNN استفاده کنید زیرا نسبت به سایر روش ها به مراتب ساده تر است. سه لینک زیر راهنمای خوبی هستند
k-nearest neighbor classification - MATLAB - MathWorks Deutschland

Fit k-nearest neighbor classifier - MATLAB - MathWorks Deutschland

Code: K-Nearest neighbor classification using euclid distance - Naotoshi Seo

موفق باشید
__________________
.
.
.
برای تشکر دکمه مخصوص وجود دارد لطفا پست هرز ایجاد نکنید
.
.
اینقدر از دسترسی نداشتن به مقاله شیون نکنید

مقالات انگلیسی: ایران سای (ISI, IEEE, ACM)
مقالات فارسی: سیویلیکا (کنفرانس داخلی)
مقالات فارسی: مگ ایران (ژورنالهای داخلی)
raha_hakhamanesh آفلاين است   پاسخ با نقل قول
از raha_hakhamanesh تشكر كرده اند:
EhsanPardaz (۰۴-۲۳-۱۳۹۳), punsher2011 (۱۰-۱۸-۱۳۹۴), roozgard (۰۳-۱۷-۱۳۹۴), sm1989 (۰۳-۱۶-۱۳۹۳)
قديمي ۱۱-۶-۱۳۹۱, ۰۶:۲۱ بعد از ظهر   #5 (لینک دائم)
عضو جدید
 
آواتار Milandini
 
تاريخ عضويت: بهمن ۱۳۹۱
پست ها: 3
تشكرها: 1
0 تشكر در 0 پست
پيش فرض

تا الان چندین بار اون قسمت هایی که گفتید توی help متلب زیر رو کردم...اما چیزی نفهمیدم
میشه مرحله وار با شبه کد توضیح بدید؟
ممنون میشم
Milandini آفلاين است   پاسخ با نقل قول
قديمي ۱۱-۷-۱۳۹۱, ۰۴:۰۳ قبل از ظهر   #6 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

نقل قول:
نوشته اصلي بوسيله Milandini نمايش پست
تا الان چندین بار اون قسمت هایی که گفتید توی help متلب زیر رو کردم...اما چیزی نفهمیدم
میشه مرحله وار با شبه کد توضیح بدید؟
ممنون میشم
برای این مساله ای که گفتید یک مجموعه داده تعلیم دارید و مجموعه تست یعنی داده هاتون برچسب داره و باید از روشهای دسته بندی استفاده کنید .می تونید از روشهای مثل فیشر، SVM ,شبکه های عصبی استفاده کنید. همچنین LDA , knn
mahdiii آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۱۹-۱۳۹۲, ۱۱:۵۹ قبل از ظهر   #7 (لینک دائم)
عضو جدید
 
آواتار zahra213
 
تاريخ عضويت: آبان ۱۳۹۱
پست ها: 6
تشكرها: 8
1 تشكر در 1 پست
پيش فرض

سلام
من برای تمرین پایانی شناسایی الگو م اومدم ماتریس ویژگیمو با استفاده از روش liu استخراج کردم و یه کلاسیفایر bdf طراحی کردم.
حالا یه مشکلی دارم،قسمت اخر سوالو متوجه نمیشم و اینکه گفته شده کد knn رو خودمون بنویسیمفقط تا فردا وقت دارم ممنون میشم کمکم کنید.
قسمت اخر سوال: براي استفاده از روش KNN به منظور طراحي يك دسته بندي كننده ي چهره چه ايده اي مي توانيد ارائه دهيد؟. نتايج را با دسته بندي كننده ي BDF مقايسه كنيد.
zahra213 آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۱۹-۱۳۹۲, ۰۶:۰۱ بعد از ظهر   #8 (لینک دائم)
عضو فوق فعال
 
آواتار kamran_kenzo
 
تاريخ عضويت: تير ۱۳۸۹
محل سكونت: Tehran
پست ها: 190
تشكرها: 4
91 تشكر در 74 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله zahra213 نمايش پست
سلام
من برای تمرین پایانی شناسایی الگو م اومدم ماتریس ویژگیمو با استفاده از روش liu استخراج کردم و یه کلاسیفایر bdf طراحی کردم.
حالا یه مشکلی دارم،قسمت اخر سوالو متوجه نمیشم و اینکه گفته شده کد knn رو خودمون بنویسیمفقط تا فردا وقت دارم ممنون میشم کمکم کنید.
قسمت اخر سوال: براي استفاده از روش KNN به منظور طراحي يك دسته بندي كننده ي چهره چه ايده اي مي توانيد ارائه دهيد؟. نتايج را با دسته بندي كننده ي BDF مقايسه كنيد.
دسته بند KNN بر اساس فاصله اقلیدسی عمل می کند. فرض کنید داده x را میخواهید با KNN دسته بندی کنید. ابتدا فاصله داده x را با سایر داده های آموزشی محاسبه می کنید. سپس k داده ای را که با داده x فاصله ی کمتری دارند را انتخاب می کنید. حال کلاس داده x را می توانید با توجه به k داده ی انتخاب شده مشخص کنید.
پس نوشتن تابع kNN کار سختی نیست. کافیست فاصله داده را با سایر داده ها محاسبه و بر حسب فاصله k داده ی نزدیک به داده ی ورودی را انتخاب کنید.
kamran_kenzo آفلاين است   پاسخ با نقل قول
از kamran_kenzo تشكر كرده اند:
mary92 (۱۱-۱۲-۱۳۹۲), zahra213 (۰۴-۱۹-۱۳۹۲)
قديمي ۰۴-۱۹-۱۳۹۲, ۰۷:۵۱ بعد از ظهر   #9 (لینک دائم)
عضو جدید
 
آواتار zahra213
 
تاريخ عضويت: آبان ۱۳۹۱
پست ها: 6
تشكرها: 8
1 تشكر در 1 پست
پيش فرض

این داده x رو باید بر چه اساسی انتخاب کنم؟
یعنی یه سمپل رو در نظر بگیرم فاصلشو با بقیه پیدا کنم و این کارو با یه حلقه برای 1000 تا داده ام انجام بدم؟درست متوجه شدم؟
خیلی ممنون از راهنماییتون مهندس
zahra213 آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۱۹-۱۳۹۲, ۰۸:۴۸ بعد از ظهر   #10 (لینک دائم)
عضو فوق فعال
 
آواتار kamran_kenzo
 
تاريخ عضويت: تير ۱۳۸۹
محل سكونت: Tehran
پست ها: 190
تشكرها: 4
91 تشكر در 74 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله zahra213 نمايش پست
این داده x رو باید بر چه اساسی انتخاب کنم؟
یعنی یه سمپل رو در نظر بگیرم فاصلشو با بقیه پیدا کنم و این کارو با یه حلقه برای 1000 تا داده ام انجام بدم؟درست متوجه شدم؟
خیلی ممنون از راهنماییتون مهندس
داده x همون داده یست که شما میخواید دسته بندی کنید. مگه مسئله تون دسته بندی نیست؟؟ خب پس باید یکسری داده داشته باشید که بخشی از آن به عنوان داده آموزشی و بخشی به عنوان داده تست استفاده می شود. شما داده x را از داده های تست انتخاب می کنید و فاصله آن را از داده های آموزشی محاسبه می کنید.
در بعضی مسائل داده های تست و آموزش جداگانه وجود دارند و در بعضی دیگر مسائل یک مجموعه داده ارائه شده است که شما باید آن را به داده ی آموزشی و داده ی تست تقسیم کنید. مثلا اگر شما ۵۰۰ تا داده باشید می توانید ۳۰۰ تا را برای آموزش و ۲۰۰ تا برای تست استفاده کنید(نسبت تعداد داده های آموزشی به داده های تست در هر مسئله متفاوت است و اینجا فقط برای روشن شدن مسئله اعداد ۳۰۰ و ۲۰۰ بکار رفته است. ).

موفق باشید
kamran_kenzo آفلاين است   پاسخ با نقل قول
از kamran_kenzo تشكر كرده است:
zahra213 (۰۴-۱۹-۱۳۹۲)
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۵:۴۳ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design