Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   نرم افزار MATLAB (http://artificial.ir/intelligence/forum64.html)
-   -   راهنمایی درباره nctool (http://artificial.ir/intelligence/thread11039.html)

Silverlight ۰۵-۳۱-۱۳۹۱ ۰۸:۱۳ بعد از ظهر

راهنمایی درباره nctool
 
سلام دوستان
من از ویزارد nctool برای خوشه بندی داده های iris استفاده کردم
اما معنی اعداد خروجی نهایی رو متوجه نمی شوم، این خروجی تولید شده هست

كد:

val =
1(40,1) 1(70,2) 1(80,3) 1(79,4) 1(39,5) 1(28,6) 1(80,7) 1(30,8) 1(90,9) 1(69,10) 1(19,11) 1(49,12) 1(70,13) 1(90,14) 1(8,15) 1(8,16) 1(9,17) 1(40,18) 1(17,19) 1(29,20) 1(20,21) 1(29,22) 1(60,23) 1(48,24) 1(58,25) 1(69,26) 1(48,27) 1(40,28) 1(40,29) 1(79,30) 1(79,31) 1(20,32) 1(18,33) 1(8,34) 1(69,35) 1(59,36) 1(10,37) 1(69,38) 1(90,39) 1(40,40) 1(50,41) 1(100,42) 1(90,43) 1(48,44) 1(38,45) 1(70,46) 1(29,47) 1(80,48) 1(19,49) 1(30,50) 1(6,51) 1(45,52) 1(6,53) 1(96,54) 1(36,55) 1(84,56) 1(45,57) 1(98,58) 1(36,59) 1(95,60) 1(98,61) 1(65,62) 1(87,63) 1(64,64) 1(67,65) 1(16,66) 1(74,67) 1(76,68) 1(93,69) 1(97,70) 1(53,71) 1(56,72) 1(83,73) 1(73,74) 1(46,75) 1(16,76) 1(26,77) 1(15,78) 1(64,79) 1(77,80) 1(97,81) 1(97,82) 1(76,83) 1(82,84) 1(74,85) 1(54,86) 1(35,87) 1(93,88) 1(75,89) 1(96,90) 1(94,91) 1(64,92) 1(76,93) 1(98,94) 1(86,95) 1(75,96) 1(75,97) 1(55,98) 1(98,99) 1(66,100) 1(32,101) 1(91,102) 1(13,103) 1(51,104) 1(31,105) 1(2,106) 1(85,107) 1(3,108) 1(41,109) 1(11,110) 1(34,111) 1(62,112) 1(14,113) 1(91,114) 1(81,115) 1(33,116) 1(51,117) 1(1,118) 1(2,119) 1(92,120) 1(21,121) 1(91,122) 1(2,123) 1(63,124) 1(22,125) 1(4,126) 1(63,127) 1(44,128) 1(42,129) 1(4,130) 1(3,131) 1(1,132) 1(42,133) 1(72,134) 1(61,135) 1(12,136) 1(43,137) 1(51,138) 1(44,139) 1(14,140) 1(23,141) 1(24,142) 1(91,143) 1(21,144) 1(23,145) 1(24,146) 1(71,147) 1(34,148) 1(43,149) 1(52,150)

مگه نباید مراکز خوشه ها تو خروجی نهایی مشخص باشه

saeedfa ۰۶-۱-۱۳۹۱ ۰۸:۰۴ قبل از ظهر

این شکل نمایش بهش می گن پارسه! شما باید با استفاده از دستور full به شکل استاندارد درش بیاری.
چون این شکل نمایش جای کمتری می گیره و حافظه کمتری اشغال میکنه ازش استفاده می کنه دستور full به حالت اول برش می گردونه

Silverlight ۰۶-۱-۱۳۹۱ ۰۹:۱۲ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله saeedfa (پست 25790)
این شکل نمایش بهش می گن پارسه! شما باید با استفاده از دستور full به شکل استاندارد درش بیاری.
چون این شکل نمایش جای کمتری می گیره و حافظه کمتری اشغال میکنه ازش استفاده می کنه دستور full به حالت اول برش می گردونه

ممنون دوست عزیز
دستور full رو هم اجرا کردم، ولی بازم معنی خاصی نمی ده، ماتریس ورودی iris یک ماتریس 150*4 و ماتریس خروجی شده یک ماتریس اسپارس 150*100 ! اگر این ابزار داره خوشه بندی انجام میده پس چرا خروجی این شکلی میشه،
تو help متلب هم چیزی در این باره ننوشته، همه چی که به صورت ویزارد انجام میشه در نهایت هم خروجی رو ذخیره می کنم، نمی دنم :102:

saeedfa ۰۶-۱-۱۳۹۱ ۱۰:۲۱ قبل از ظهر

بیا عزیز دل اینم کدش :
net = newsom(in,[2 2]);
net = train(net,in);
outn=full(sim(net,in));
تست کردم جواب میده

Silverlight ۰۶-۱-۱۳۹۱ ۱۱:۱۶ قبل از ظهر

شما اندازه شبکه رو تغییر دادید، من هم مقدار پیش فرض که 10 بود رو تغییر دادم
ولی بازم پاسخ نهایی معنی خاصی نداره، چون تعداد کلاسترهای iris سه تا هست
ولی خروجی یک ماتریس اسپارس 150*4 هست،

من خودم هم موندم این ابزار به چه شکل داره خوشه بندی می کنه

Silverlight ۰۶-۱-۱۳۹۱ ۱۱:۴۳ قبل از ظهر

کد شما رو به این شکل تغییر دادم

net = newsom(in,[1 3]);
net = train(net,in);
outn=full(sim(net,in));

الان دیگه خروجی یک ماتریس اسپارس 150*3 هست
حالا چطور میتونم این ماتریس رو به یک ماتریس 150*1 که هر ستون برابر شماره سطری از ماتریس 150*3 که مقدارش 1 هست، تبدیل کنم

saeedfa ۰۶-۱-۱۳۹۱ ۱۲:۳۱ بعد از ظهر

آهان
پس یه چیزی رو متوجه نشدید
وقتی من شبکه رو 2 2 انتخاب می کنم یعنی 4 تا خوشه دارم.
شما باید بعد یا dimantion شبکه رو معرفی کنید. همون توپولوژی . من یه توپولوژی 2 در 2 انتخاب کردم . پس طبیعی هست که 4 تا بده

Silverlight ۰۶-۱-۱۳۹۱ ۰۱:۱۵ بعد از ظهر

حق با شماست
برای خودم هم سوال بود که تعداد کلاسترها کجا مشخص میشه

الان خروجی یک ماتریس اسپارس 150*3 هست
حالا چطور میتونم این ماتریس رو به یک ماتریس 150*1 که هر ستون برابر شماره سطری از ماتریس 150*3 که مقدارش 1 هست، تبدیل کنم

مثلا
ورودی

1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0

خروجی
1 2 4 3

masood ۰۶-۲-۱۳۹۱ ۰۵:۲۴ قبل از ظهر

با توجه به چیزی که از روش های محاسبات ماتریس در ریاضیات دوره دبیرستان یادمه اول ماتریس جواب رو ترانهاده کنید و بعد در یک ماتریس با یک ستونی که درایه های اون 1 و 2 و 3 هستن ضرب کنید.
در Matlab با استفاده از روش زیر ترانهاده ماتریس بدست میاد:
كد:

A=A'

saeedfa ۰۶-۲-۱۳۹۱ ۱۰:۵۲ قبل از ظهر

یه حلقه ی for بذار . که یکی یکی سطر ها رو بخونه . توی سطر درایه ای رو که یک هست رو با دستور find پیدا کن و بریز تو یه بردار جدید.


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

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