نمایش نتایج 1 تا 34 از 34

نام تاپیک: svm toolbox

  1. #1

    svm toolbox

    سلام.


    چرا هنگام استفاده از تولباکس اس وی ام: ((http://www.csie.ntu.edu.tw/~cjlin/libsvm/)،

    زمانیکه قصد داریم داده های تست رو لیبل بزنیم تنها یک کلاس رو نتیجه میده؟

    http://uplod.ir/w86s449gy2ar/svm_toolbox.rar.htm



    البته این قضیه زمانی که از کل داده ی تست رو به یکباره وارد میکنیم و میخوایم که تصمیم بگیره اتفاق نمی افته.

    ولی زمانی که قرار هست svm به ازای هر نمونه ی تست لیبل بزنه و بعد نمونه ی بعدی وارد شه تا تصمیم بگیره و لیبل بزنه (داخل یک حلقه به صورت دونه دونه) دقت به ازای یک کلاس 100 درصد و به ازای کلاس دیگه 0 درصد هست و نتیجتا هم تنها یک کلاس بدست میاد؟

    شاید شبیه به یه همچین مشکلی:

    http://stackoverflow.com/questions/1...bsvm-in-matlab
    آخرین ویرایش به وسیله hhamidy : یک شنبه 24 خرداد 1394 در 14:12 عصر

  2. #2

    نقل قول: svm toolbox

    سلام
    مشکل از libsvm نیست بلکه مشکل از داده ها هست. این داده ها بیشتر شبیه نویز هستند و شما با هر روشی غیر از svm هم روی داده های تحلیل کنید نتیجه همین میشه.
    به عبارت دیگه این داده ها قابلیت این را ندارند که بتونند به خوبی label را پیش بینی کنند

  3. #3

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    سلام
    مشکل از libsvm نیست بلکه مشکل از داده ها هست. این داده ها بیشتر شبیه نویز هستند و شما با هر روشی غیر از svm هم روی داده های تحلیل کنید نتیجه همین میشه.
    به عبارت دیگه این داده ها قابلیت این را ندارند که بتونند به خوبی label را پیش بینی کنند
    این داده ها از تصویر مامو استخراج شدن.
    تصویر مامو هم کنتراستش پایین هست، البته من طبق یه مقاله از فیلتر میانگین استفاده کردم و بعد کنتراستم بردم بالا و بعد استخراج ویژگی کردم.
    اما نتیجه چندان هم فرق نکرد.
    این داده ها از دیتاست مایاس هستن.
    یعنی ممکنه مشکل از اونا باشه؟

  4. #4

    نقل قول: svm toolbox

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

  5. #5

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    منظورم این نیست که اونها دیتاست خراب و اشتباه به ما دادند
    ببینید برای هر مساله طبقه بندی و در کل ایجاد هر مدل که قراره مثلا یک متغیر را به تعدادی متغیر دیگه پیش بینی کنیم باید اون متغیر ها به نوعی همبستگی با متغیر قابل پیش بینی داشته باشند و بتونند اون را به خوب پیش بینی کنند اما با داده های فعلی نمی شه تشخیص داد لیبل چی بوده. اگر چه تعداد اونها 44 تا هم باشه ولی هیچ کدوم از اونها به تنهایی و یا ترکیب اونها کیفیت لازم را برای پیش بینی ندارند. شاید اگه امکانش باشه لازم باشه با استفاده از روشهای دیگری غیر از روشهایی که باهاش این 44 تا را تولید کردید تعدادی ویژگی را از تصویر استخراج کنید و در تحلیل به کار ببرید
    حتی به صورت چشمی هم میشه تشخیص داد که این داده ها بیشتر نویز هستند
    خب الان بگم چطوری چشمی میشه تشخیص داد باز شما میگید ...
    ولی من برای اینکار از ویژگیای بافتی استفاده کردم که اکثر مقالات با بکا بردن همین ویژگی خوب جواب دادن.
    اصلا بهترین راه برای تشخیصش همینه.
    بعدم کاهش بعد دادم.
    حتی وقتی با pcaکرولیشنو کم میکنم و بقول شما این وابستگیا رو باز نتیجه همینه.
    چرا به نظرتون؟

  6. #6

    نقل قول: svm toolbox

    برای اینکه بیشتر توضیح بدم کد زیر را امتحان کنید
    دو سری داده داریم یعنی مثلا می خواهیم با x مقدار label را پیش بینی کنیم به نظرتون در کدوم مورد x برای پیش بینی مناسبه؟

    x = rand(1,100) * 30;
    label = ((1:100)+rand(1,100)*5);
    subplot(1,2,1)
    plot(1: 100 , [x' label'])
    subplot(1,2,2)
    plot(x,label,'o')

    x = ((-19:80)+rand(1,100)*5);
    label = ((1:100)+rand(1,100)*5);
    figure
    subplot(1,2,1)
    plot(1: 100 , [x' label'])
    subplot(1,2,2)
    plot(x,label,'o')

  7. #7

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    برای اینکه بیشتر توضیح بدم کد زیر را امتحان کنید
    دو سری داده داریم یعنی مثلا می خواهیم با x مقدار label را پیش بینی کنیم به نظرتون در کدوم مورد x برای پیش بینی مناسبه؟

    x = rand(1,100) * 30;
    label = ((1:100)+rand(1,100)*5);
    subplot(1,2,1)
    plot(1: 100 , [x' label'])
    subplot(1,2,2)
    plot(x,label,'o')

    x = ((-19:80)+rand(1,100)*5);
    label = ((1:100)+rand(1,100)*5);
    figure
    subplot(1,2,1)
    plot(1: 100 , [x' label'])
    subplot(1,2,2)
    plot(x,label,'o')
    خب مشخصه نمودار سمت چپی.
    متوجه شدم تقریبا.
    ولی علتش رو نمیدونم که آیا باید برای جلوگیری به وجود اومدن این خطا قبلش تصویر مامو رو بهبود داد؟
    چون استخراج ویژگی که همینه و ثابته راهش دیگه.
    منم از تولباکس آماده استفاده کردم.
    نمیدونم ؟

  8. #8

    نقل قول: svm toolbox

    کد را یه کم تغییر دادم که legend را هم ترسیم کنیم
    در هر پلات که دو قسمت هست سمت چپ x و label را کشیدیم در سمت راست هم میشه همبستگی label و x را مشاهده کرد
    وقتی که x به صورت نویز باشه می بینیم که همبستگی با label نداره و نمیتونه اون را پیش بینی کنه

    x = rand(1,100) * 30;
    label = ((1:100)+rand(1,100)*5);
    figure
    ax1= subplot(1,2,1)
    plot(1: 100 , [x' label'])
    ax2 = subplot(1,2,2)
    plot(x,label,'o')
    legend(ax1,'x','label')
    x = ((-19:80)+rand(1,100)*5);
    label = ((1:100)+rand(1,100)*5);
    figure
    ax1= subplot(1,2,1)
    plot(1: 100 , [x' label'])
    ax2 = subplot(1,2,2)
    plot(x,label,'o')
    legend(ax1,'x','label')

  9. #9

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    کد را یه کم تغییر دادم که legend را هم ترسیم کنیم
    در هر پلات که دو قسمت هست سمت چپ x و label را کشیدیم در سمت راست هم میشه همبستگی label و x را مشاهده کرد
    وقتی که x به صورت نویز باشه می بینیم که همبستگی با label نداره و نمیتونه اون را پیش بینی کنه

    x = rand(1,100) * 30;
    label = ((1:100)+rand(1,100)*5);
    figure
    ax1= subplot(1,2,1)
    plot(1: 100 , [x' label'])
    ax2 = subplot(1,2,2)
    plot(x,label,'o')
    legend(ax1,'x','label')
    x = ((-19:80)+rand(1,100)*5);
    label = ((1:100)+rand(1,100)*5);
    figure
    ax1= subplot(1,2,1)
    plot(1: 100 , [x' label'])
    ax2 = subplot(1,2,2)
    plot(x,label,'o')
    legend(ax1,'x','label')
    بله.

    ممنون از لطفتون.
    حالا من باید چیکار کنم؟
    تصویر که تصویره، استخراج ویژگیم که استخراج ویژگی.
    روی یه تصویر یه استخراج ویژگی میزنم و این بدست میاد.
    چرا داده ها نویز میشن به نظرتون؟!

  10. #10

    نقل قول: svm toolbox

    حالا این را امتحان کنید
    9 تا تصویره که تصویر آخری همون label هست و بقیه هم به ترتیب ویژگی های شماره 1 تا 8 هستند که می بینیم همه تقریبا حالت نویز دارند و اطلاعاتی به ما نمی دهند به نظر شما چه اتفاقی افتاده؟

    figure
    subplot(3, 3 , 9)
    image(reshape(Traininglabel,100 , 200)* 200)
    axis 'equal'
    for i = 1:8
    subplot(3, 3 , i)
    imshow(reshape(Ytrain(:, i), 100, 200), [-1, 1])
    end

  11. #11

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    حالا این را امتحان کنید
    9 تا تصویره که تصویر آخری همون label هست و بقیه هم به ترتیب ویژگی های شماره 1 تا 8 هستند که می بینیم همه تقریبا حالت نویز دارند و اطلاعاتی به ما نمی دهند به نظر شما چه اتفاقی افتاده؟

    figure
    subplot(3, 3 , 9)
    image(reshape(Traininglabel,100 , 200)* 200)
    axis 'equal'
    for i = 1:8
    subplot(3, 3 , i)
    imshow(reshape(Ytrain(:, i), 100, 200), [-1, 1])
    end
    فکر کنم نتونسته خوب پیش بینی کنه و لیبل بزنه.

    البته این 0و1 هست:
    [-1, 1]

    ببخشید از روی این تصویرا بیشتر توضیح میدید؟

  12. #12

    نقل قول: svm toolbox

    این هم هیستوگرام همون تصویر ها

    figure
    subplot(3, 3 , 9)
    hist(Traininglabel)
    for i = 1:8
    subplot(3, 3 , i)
    hist(Ytrain(:, i))
    end

  13. #13

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    این هم هیستوگرام همون تصویر ها

    figure
    subplot(3, 3 , 9)
    hist(Traininglabel)
    for i = 1:8
    subplot(3, 3 , i)
    hist(Ytrain(:, i))
    end
    این ویژگیا glrlm هست.
    چرا اینطوریه؟!

  14. #14

    نقل قول: svm toolbox

    فعلا پیش بیتی صورت نگرفته
    گفتم لازمه یه همبستگی بین تصویر لیبل و تصاویر ویژگی وجود داشته باشه یعنی اون تصاویر شکلشون به این صورت باشه که سمت چپ تیره و سمت راست روشن باشه و حداقل نویز داشته باشند که همین طور که در تصاویر مشاهده می شه چنین چیزی وجود نداره حالا این 8 تا ویژگی هست بقیه اونها هم جنین حالتی دارند و به درد نمی خورند

  15. #15

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    فعلا پیش بیتی صورت نگرفته
    گفتم لازمه یه همبستگی بین تصویر لیبل و تصاویر ویژگی وجود داشته باشه یعنی اون تصاویر شکلشون به این صورت باشه که سمت چپ تیره و سمت راست روشن باشه و حداقل نویز داشته باشند که همین طور که در تصاویر مشاهده می شه چنین چیزی وجود نداره حالا این 8 تا ویژگی هست بقیه اونها هم جنین حالتی دارند و به درد نمی خورند
    عجیبه!
    ممنوم از اینکه وقت گذاشتید.

  16. #16

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط hhamidy مشاهده تاپیک
    عجیبه!
    ممنوم از اینکه وقت گذاشتید.
    راستی من الان از روی همون تصاویر فقط ویژگیای استاتیک رو استخراج کردم ولی دقیقا همونطور که میگفتید اصلا نمیتونه تشخیص بده.


  17. #17

    نقل قول: svm toolbox

    من برای یه سری داده ی mri که برنامه به ازای اونا خیلی خوب جواب داده دیتا ها رو رسم کردم:

    http://uplod.ir/w0a99ewrg1l3/mri_reshape.mat.htm

    image(reshape(Traininglabel,89 , 45)* 200)
    axis 'equal'
    for i = 1:8
    subplot(3, 3 , i)
    imshow(reshape(Ytrain(:, i), 89, 45), [0, 1])
    end

    نتیجه به همون صورته :



    یعنی اینم نتونسته لیبل بزنه.
    پس چرا نتیجه خوبه اینقدر؟

  18. #18

    نقل قول: svm toolbox

    حالا این چه تصویریه؟
    http://www.sharefile.ir/uploads/1434779133.png

    figure, imshow(reshape(Traininglabel, 89, 45))


    h = hist(Traininglabel, [0 1])
    disp(h)

    3800 تا صفر داریم و 100 تا 1 داریم این به چه دردی می خوره؟

  19. #19

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    حالا این چه تصویریه؟
    http://www.sharefile.ir/uploads/1434779133.png

    figure, imshow(reshape(Traininglabel, 89, 45))


    h = hist(Traininglabel, [0 1])
    disp(h)

    3800 تا صفر داریم و 100 تا 1 داریم این به چه دردی می خوره؟
    100 تاش توموره دیگه.
    از صد تا بیشتر باشه که اون فرد میمیره که.
    توموره دیگه.
    خیلی کوچیکه.

  20. #20

    نقل قول: svm toolbox

    چه توموریه که به صورت رشته باریکه
    بر فرض تومور باشه آیا برای آنالیز داده ها هم مناسبه؟
    بهتر نیست جهتآنالیز نسبت پیکسلهای تومور به غیر تومور برابر باشند؟ حد اقل یه عکس انتخاب می شد که چنین خاصیتی داشته باشه

  21. #21

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    چه توموریه که به صورت رشته باریکه
    بر فرض تومور باشه آیا برای آنالیز داده ها هم مناسبه؟
    بهتر نیست جهتآنالیز نسبت پیکسلهای تومور به غیر تومور برابر باشند؟ حد اقل یه عکس انتخاب می شد که چنین خاصیتی داشته باشه
    الان شما فقط دارید ترینا رو رسم میکینید درسته؟

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

  22. #22

    نقل قول: svm toolbox

    خب train را دارم میگم بهتره نسبت پیکسلهای تومور به غیر تومور برابر باشه یعنی مثلا 2000 تا پیکسل تومور باشه و 2000 تا غیر تومور

  23. #23

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    خب train را دارم میگم بهتره نسبت پیکسلهای تومور به غیر تومور برابر باشه یعنی مثلا 2000 تا پیکسل تومور باشه و 2000 تا غیر تومور
    نه mri نمیشه.
    کوچیکه تصویرش و واضح.

    این تصویرشه مثلا:


  24. #24

    نقل قول: svm toolbox

    منظورم تعداد نیست منظورم نسبت بین اونهاست
    اگه یکی 100 تا باشه اون یکی هم 100 تا باشه

  25. #25

    نقل قول: svm toolbox

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

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

    اما خب در هر صورت الان این تصویر خروجی ما بود.یعنی 9 تا پست بالاتر.

    اینا که نویز نیستن.
    پس چرا این شکلی ترسیم میکنه.

    اونارم متوجه نشدم علتش چیه.مامو رو میگم.

    چون تو اون تصاویر که دیگه تعداد 0و1 ها دقیقا اندازه ی هم هست.
    از یه تصویرم اومدم استخراج ویژگی کردم دیگه.چرا باید داده هاش نویزی بشن؟!
    چی ممکنه اتفاق افتاده باشه؟

  26. #26

    نقل قول: svm toolbox

    الان داده های mri رو به تعداد یکسان از 0و1 پلات کردم.
    اما پلاتش به اینصورته:




    figure
    subplot(5, 5 , 25)
    image(reshape(Traininglabel,22 , 26)*100);
    axis 'equal'
    for i = 1:16
    subplot(5, 5 , i)
    imshow(reshape(Ytrain(:, i), 22, 26)*100, [0, 1])
    end



    اینا مشکلی نداشتن و برنامه به ازای اینا صحیح اجرا میشه.
    چرا به اینصورته؟

  27. #27

    نقل قول: svm toolbox

    مگه قبلا صحیح اجرا نمی شد؟ الا مشکل را لطفا واضح بیان کنید

  28. #28

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    مگه قبلا صحیح اجرا نمی شد؟ الا مشکل را لطفا واضح بیان کنید
    از اول صحیح اجرا میشد.الانم مشکلی نداره.
    فقط چون دیروز گفتید من شکلش رو ترسیم کردم و اینطوری شد!

  29. #29

    نقل قول: svm toolbox

    سلام.
    اگر من ویژگی glcm رو برای یه تصویر بدست بیارم و دیگه نه مثل حالت قبل برای هر پیکسل از تصویر بلکه برای هر تصویر کلا یه خروجی داشته باشم که :
    مثلا از یه تصویر glcm هاش رو به این صورت بدست آوردم:

    I=imread('roimdb001.tif');
    >> GLCM2 = graycomatrix(I,'Offset',[2 0;0 2]);
    stats = GLCM_Features4(GLCM2,0)
    t2= struct2array(stats)

    حالا برای همین تصویر میخوام بگم خروجی فقط عددیک باید باشه چون این تصویر کلا تومور دارد.

    حالا میشه شکلی برای صحت ویژگیها مثل پستای بالاتر برای این هم کشید؟

  30. #30

    نقل قول: svm toolbox

    سلام
    الان ویژگی های glcm استخراج شده. یعنی مثلا 22 ویژگی به ازای کل تصویر به دست اومده
    حالا اگه یه تصویر دیگه هم داشته باشید برای اون هم 22 تا ویژگی به دست میاد
    اینجور نیست که اگه سایز تصویر 255 در 255 باشه تعداد ویژگی ها برابر با 255 در 255 در 22 میشه
    تصویر هر سایزی باشه فقط 22 ویژگی برای اون به دست میاد

  31. #31

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    سلام
    الان ویژگی های glcm استخراج شده. یعنی مثلا 22 ویژگی به ازای کل تصویر به دست اومده
    حالا اگه یه تصویر دیگه هم داشته باشید برای اون هم 22 تا ویژگی به دست میاد
    اینجور نیست که اگه سایز تصویر 255 در 255 باشه تعداد ویژگی ها برابر با 255 در 255 در 22 میشه
    تصویر هر سایزی باشه فقط 22 ویژگی برای اون به دست میاد
    سلام.
    بله این درسته.
    اما این قضیه زمانی که میخوایم به ازای تک پیکسل و با توجه به پیکسلای محلیش ویژگی استخراج کنیم فرق میکنه.اونوقت میشه به ازای ضرب پیکسلها در این تعداد 22 تا.

    اما الان میگم حالا فرض کنیم که طبق گفته ی شما 22 ویژگی برای یه تصویر داریم و یه دونه هم خروجی داره که این لیبل 1 هست مثلا یعنی دارد(تومور)
    حالا اون شکل رو چه شکلی باید ترسیم کرد؟شکلی که مثلا در پست 88 میبینید.
    برای 22*1 ورودی و 1 دونه خروجی.

  32. #32

    نقل قول: svm toolbox

    نه دیگه وقتی کل تصویر تبدیل می شه یک عدد چه شکلی؟

  33. #33

    نقل قول: svm toolbox

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    نه دیگه وقتی کل تصویر تبدیل می شه یک عدد چه شکلی؟
    پس از کجا متوجه میشیم که استخراج ویژگیمون درست عمل کرده؟

  34. #34

    نقل قول: svm toolbox

    خب اگه برنامه استخراج ویژگی را درست نوشته باشیم و و پارامتر ها را درست وارد برنامه کرده باشیم و برنامه هم ارور نده پس تیجه می گیریم برنامه درست اجرا شده

تاپیک های مشابه

  1. بکارگیری fuzzy toolbox -matlab در برنامه-کمک فوری
    نوشته شده توسط Mahdi Fahmideh در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 28 مرداد 1384, 23:44 عصر
  2. Customize Toolbox
    نوشته شده توسط sh_m در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 21 آبان 1383, 14:03 عصر
  3. منوسازی menu toolbox
    نوشته شده توسط برنامه نویس کوچک در بخش Foxpro
    پاسخ: 3
    آخرین پست: یک شنبه 10 خرداد 1383, 16:20 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •