মাল্টিক্লাস এসভিএম সঞ্চালনের সেরা উপায়


18

আমি জানি যে এসভিএম একটি বাইনারি শ্রেণিবদ্ধকারী। আমি এটি মাল্টি-ক্লাস এসভিএম পর্যন্ত প্রসারিত করতে চাই। এটি সম্পাদন করার জন্য সবচেয়ে ভাল এবং সম্ভবত সবচেয়ে সহজ উপায়?

কোড: ম্যাটল্যাবে in

   u=unique(TrainLabel); 
    N=length(u); 
    if(N>2)    
        itr=1;    
        classes=0;   
        while((classes~=1)&&(itr<=length(u)))   
            c1=(TrainLabel==u(itr));    
            newClass=double(c1); 
            tst = double((TestLabel == itr));
            model = svmtrain(newClass, TrainVec, '-c 1 -g 0.00154');  
            [predict_label, accuracy, dec_values] = svmpredict(tst, TestVec, model);    
            itr=itr+1;   
        end
        itr=itr-1;
    end

এটি কীভাবে উন্নত করা যায়?


ভেরিয়েবল classesকোডে কি করে ? এটি অকেজো বলে মনে হচ্ছে।

আপনি কোন সিদ্ধান্তে পৌঁছেছেন? আমার কর্মক্ষেত্রে আমার এই সমস্যা রয়েছে if আপনি যদি কোনও উপযুক্ত ফলাফলের কাছে পৌঁছে থাকেন তবে দয়া করে আপনার বহুগুণীকরণ কোডটি এখানে ভাগ করুন share ধন্যবাদ
me.rasouli

উত্তর:


16

বহু শ্রেণীর শ্রেণিবদ্ধকরণের জন্য প্রচুর পদ্ধতি রয়েছে। দুটি ক্লাসিক বিকল্প, যা এসভিএম-নির্দিষ্ট নয়:

  1. ওয়ান-বনাম-অল (ওভিএ) শ্রেণিবিন্যাস:
    ধরুন আপনার কাছে A, B, C এবং D. ক্লাস রয়েছে চার দিকের শ্রেণিবদ্ধকরণের পরিবর্তে চারটি বাইনারি শ্রেণিবদ্ধকরণ প্রশিক্ষণ দিন: A বনাম-নন-এ, বি বনাম নয়-বি , সি বনাম নট-সি, এবং ডি বনাম নট-ডি। তারপরে, "সর্বোত্তম" (যেমন, চারটি রান জুড়ে মার্জিন থেকে দূরে) ইতিবাচক শ্রেণিটি বেছে নিন। শ্রেণিবদ্ধারগুলির মধ্যে যদি কোনও ইতিবাচক না হয় (যেমন, তারা সবাই এক্স-এক্স নয়), সবচেয়ে খারাপ শ্রেণীর "বিপরীত" চয়ন করুন (উদাহরণস্বরূপ, মার্জিনের নিকটতম)।

  2. সমস্ত-বনাম-সমস্ত:
    শ্রেণিবদ্ধকরণের সমস্ত সম্ভাব্য জোড়া প্রশিক্ষণ দিন। ক্লাসগুলি কোনও ফ্যাক্টর (যেমন, # বার নির্বাচিত বার) দ্বারা রেঙ্ক করুন এবং সেরাটি চয়ন করুন।

কোনটি সবচেয়ে ভাল কাজ করে তা বিতর্কিত ছিল: ডুয়ান এবং কের্তির একটি অভিজ্ঞতা অভিজ্ঞতা রয়েছে যা একটি নির্দিষ্ট অলস বনাম সমস্ত পদ্ধতির পরামর্শ দেয়, যখন রিফকিন এবং ক্লাউটাউ এক-বনাম-সমস্ত স্কিমের পক্ষে যুক্তি দেয়। এমনকি এমন স্কীম রয়েছে যেখানে শ্রেণি লেবেলগুলি নিজেরাই লেবেলের পরিবর্তে বর্ণিত কোডগুলি ত্রুটি-শোধকারী কোড শিখেন।

শুভকামনা!

সম্পাদনা: আপনি যা চান তা হ'ল বিশেষত ওভিএ-র জন্য, প্রতিটি শ্রেণির উত্তরোত্তর সম্ভাবনা। নায়েভ বেয়েসের মতো কিছু পদ্ধতির জন্য এটি বেরোনোর ​​পক্ষেও তুচ্ছ। এসভিএমগুলি সাধারণত আপনাকে সম্ভাবনা দেয় না তবে তাদের গণনার উপায় রয়েছে। জন প্লাটের 1999 এর কাগজটি "সমর্থন ভেক্টর মেশিনগুলির জন্য সম্ভাব্য আউটপুট ..." দেখুন


2
ওভিএ-র জন্য - আপনি কি ক্লাসটি বেছে নিতে পারেন যা সবচেয়ে বেশি সম্ভাবনা রয়েছে (প্লাট স্কেলিং দ্বারা প্ররোচিত)?
বি_মিনার

1
হ্যাঁ, এটি মূলত ডুয়ান এবং কের্তি কাগজের ফলশ্রুতি। তারা প্ল্যাটের সম্ভাব্যতাগুলিকে হাসটির জুটিওয়ালা কাপলিং ট্রিকের সাথে একত্রিত করে এবং ভাল ফলাফল পায়। আমি সম্ভবত এটি অন্তর্ভুক্ত পাঠ্য সম্পাদনা করা উচিত। বি_মিনার ভাল ধরা!
ম্যাট ক্রাউস

এসভিএম-এ, আপনার কি ভোটদান বা সম-পুলিংয়ের দরকার আছে?
লেকেশ

@ লাকেশ, ওয়ান-বনাম-সমস্ত বা অল-বনাম-সবই ভোটদানের মতো। আপনি যদি বাইনারি শ্রেণিবদ্ধের সেট ব্যবহার করে থাকেন তবে সেগুলি একটি বহু-শ্রেণীর শ্রেণিবদ্ধে পরিণত করার জন্য আপনাকে কিছু করতে হবে। পর্যায়ক্রমে, আপনি নীচে কার্লোসডিসি দ্বারা বর্ণিত সংশোধিত এসভিএম ব্যবহার করতে পারেন ...
ম্যাট ক্রাউস

এটা কি কিছু?
লেকেশ

6

আমাকে যোগ করতে দিন যে এসভিএমগুলি একাধিক ক্লাসে বাড়ানোর কাজ চলছে (ম্যাট ক্রাউস যে পদ্ধতিগুলির বিপরীতে বিভিন্ন বাইনারি শ্রেণিবদ্ধকরণ কার্যগুলিতে ক্ষয় হয় তার বিপরীতে) work একটি গুরুত্বপূর্ণ কাজ হ'ল: মাল্টিক্লাস কার্নেল-ভিত্তিক ভেক্টর মেশিনের অ্যালগরিদমিক প্রয়োগকরণ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.