এসভিএমের সেরা মেটাপ্যারামিটারগুলি খুঁজে পাওয়ার জন্য দ্রুত পদ্ধতি (এটি গ্রিড অনুসন্ধানের চেয়ে দ্রুত)


17

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

Libsvm ডকুমেন্টেশন (এবং আরও অনেকগুলি বই আমি পড়েছি) এই পরামিতিগুলি সন্ধানের জন্য গ্রিড অনুসন্ধান ব্যবহার করার পরামর্শ দেয় - তাই আমি মূলত একটি নির্দিষ্ট সেট থেকে এই প্যারামিটারগুলির প্রতিটি সংমিশ্রনের জন্য মডেলকে প্রশিক্ষণ দিয়ে সেরা মডেলটি বেছে নিই।

অনুকূল (বা সর্বোত্তম কাছাকাছি) রূপকগুলি খুঁজে পাওয়ার জন্য এর চেয়ে ভাল আর কোনও উপায় আছে কি? আমার জন্য এটি মূলত গণনার সময়সই বিষয় - এই গ্রিডের একটি গ্রিড অনুসন্ধানে প্রায় দুই ঘন্টা সময় লাগে (কিছুটা অপ্টিমাইজেশন করার পরে)।

গ্রিড অনুসন্ধানের পেশাদার:

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

উত্তর:


10

গ্রিড অনুসন্ধানের ক্ষয়ক্ষতি হচ্ছে যে রানটাইম প্রতিটি প্যারামিটারের জন্য বিকল্পগুলির সংখ্যার গুণমান হিসাবে দ্রুত বাড়ায় grows

আপনার প্রশ্নের সাথে সম্পর্কিত অ্যালেক্স স্মোলার ব্লগে এখানে একটি এন্ট্রি দেওয়া আছে

এখানে একটি উদ্ধৃতি:

[...] বাছুন, আপনার ডেটাসেট থেকে এলোমেলোভাবে 1000 জোড় (x, x ') বলুন, এই জাতীয় সমস্ত জোড়ার দূরত্ব গণনা করুন এবং মিডিয়ান, 0.1 এবং 0.9 কোয়ান্টাইল নিন। এই তিনটি সংখ্যার যে কোনও একটিকে বিপরীতমুখী হতে এখন বেছে নিন। অল্প অল্প করে ক্রুডিয়ালিফিকেশন দিয়ে আপনি বুঝতে পারবেন যে তিনটির মধ্যে কোনটি সবচেয়ে ভাল। বেশিরভাগ ক্ষেত্রে আপনাকে আর কোনও অনুসন্ধানের প্রয়োজন হবে না।

আমি নিজে চেষ্টা করে দেখিনি, তবে মনে হয় এটি আশাব্যঞ্জক of


এটি প্রশ্নের সাথে কীভাবে সম্পর্কিত? প্রশ্নটি কোনও এসভিএম মডেলটির (সেরা উপায়ে) সেরা পরামিতিগুলি সন্ধান করার বিষয়ে।
রোরোনোয়া জোড়ো

2
@ রোরোনোয়া জোরো: এবং এর উত্তরও তাই। এটি ব্যাখ্যা করছে যে কীভাবে রেডিয়াল ভিত্তিক ফাংশন ভিত্তিক এসভিএমগুলি (স্মোলার ব্লগ পোস্টে সি এবং mb ল্যাম্বডা) 3 | সিসে | সময় | opposed gammas || সিএস | এর বিপরীতে যেমন এটি গ্রিড অনুসন্ধানের ক্ষেত্রে সম্পন্ন হয়।
carlosdc

আমি স্পষ্টতই বুঝতে পেরেছি যে আমি হিউরিস্টিক বুঝতে পারছি, মূলত আপনি এসভিএম প্রশিক্ষণের জন্য ডেটাসেট থেকে এলোমেলোভাবে 1000 ডেটা পয়েন্ট আঁকেন, তারপরে .1, .9 কোয়ান্টাইল এবং মিডিয়ানের বিপরীতটি নিন এবং সেগুলি সম্ভবত ভাল হবে একটি উপযুক্ত গামা প্রার্থী?
টমাস

6

যদি আপনি এই ধারণাটি তৈরি করেন যে প্যারামিটারগুলির গ্রিডের অন্তর্নিহিত তুলনামূলকভাবে মসৃণ ফাংশন রয়েছে, তবে এমন কিছু জিনিস রয়েছে যা আপনি করতে পারেন। উদাহরণস্বরূপ, একটি সাধারণ হিউরিস্টিক হ'ল প্যারামিটারগুলির খুব মোটা গ্রিড দিয়ে শুরু করা এবং তারপরে মোটা গ্রিড থেকে প্যারামিটারের সেরা সেটিংসের চারপাশে একটি সূক্ষ্ম গ্রিড ব্যবহার করা।

এটি অবশ্যই অনুশীলনে বেশ ভালভাবে কাজ করার প্রবণতা রাখে cave প্রথমটি হ'ল স্থানটি প্রয়োজনীয়ভাবে মসৃণ নয় এবং সেখানে স্থানীয় অপটিমা থাকতে পারে । মোটা গ্রিড এগুলি পুরোপুরি মিস করতে পারে এবং আপনি একটি উপ-অনুকূল সমাধান দিয়ে শেষ করতে পারেন। এছাড়াও মনে রাখবেন যে আপনার যদি আপনার হোল্ড-আউট সেটে তুলনামূলকভাবে কয়েকটি নমুনা থাকে, তবে আপনার কাছে অনেকগুলি প্যারামিটার সেটিংস থাকতে পারে যা একই স্কোর দেয় (ত্রুটি বা আপনি যে কোনও মেট্রিক ব্যবহার করছেন)। এটি বিশেষত সমস্যাযুক্ত হতে পারে যদি আপনি মাল্টি-ক্লাস লার্নিং করে থাকেন (উদাঃ এক-বনাম-সমস্ত পদ্ধতি ব্যবহার করে ), এবং আপনার হোল্ড-আউট সেটে প্রতিটি ক্লাসের কয়েকটি উদাহরণ রয়েছে। যাইহোক, বাজে ননলাইনার অপ্টিমাইজেশান কৌশলগুলি অবলম্বন না করে এটি সম্ভবত একটি ভাল সূচনা পয়েন্ট হিসাবে কাজ করে।

সেখানে একটা চমৎকার রেফারেন্স সেট এর এখানে । অতীতে আমি এই পদ্ধতিটি গ্রহণ করেছি যে আপনি কার্নেলের পরিদর্শন করে কার্নেল হাইপারপ্যারামিটারগুলির ভাল পরিসরটি যুক্তিসঙ্গতভাবে অনুমান করতে পারেন (যেমন আরবিএফ কার্নেলের ক্ষেত্রে, কার্নেল মানগুলির হিস্টগ্রাম মানগুলির একটি ভাল বিস্তার দেয় তা নিশ্চিত করে, 0 বা 1 এর দিকে স্কিউ হওয়ার পরিবর্তে - এবং আপনি খুব বেশি কাজ ছাড়াই স্বয়ংক্রিয়ভাবে এটি করতে পারেন), যার অর্থ আপনি শুরু করার আগে পরিসরকে সঙ্কুচিত করতে পারেন। তারপরে আপনি নিয়মিতকরণ / ক্ষমতা প্যারামিটারের মতো অন্য কোনও পরামিতিগুলিতে নিজের অনুসন্ধানকে ফোকাস করতে পারেন। তবে অবশ্যই এটি প্রাক্পম্পিউটেড কার্নেলগুলির সাথে কাজ করে, যদিও আপনি প্রাক্পিউটেড কার্নেলগুলি ব্যবহার করতে না চান তবে আপনি পয়েন্টগুলির একটি এলোমেলো উপসেটে এটি অনুমান করতে পারেন, এবং আমি মনে করি যে পদ্ধতিটিও ভাল হবে।


5

আমি পরামিতিগুলি অনুসন্ধানের জন্য সিমুলেটেড অ্যানিলিং ব্যবহার করি ।

আচরণটি কয়েকটি পরামিতি দ্বারা পরিচালিত হয়:

  • k বোল্টজমানের ধ্রুবক।
  • T_max আপনার শুরু তাপমাত্রা
  • T_min আপনার শেষ প্রান্তিকতা।
  • mu_T( μ) আপনি তাপমাত্রাকে কতটা কমিয়ে দিন ( T->T/μ)
  • i প্রতিটি তাপমাত্রায় পুনরাবৃত্তির সংখ্যা
  • zএকটি পদক্ষেপ আকার - আপনি ঠিক কি এর অর্থ নির্ধারণ। আমি এলোমেলোভাবে ভিতরে যেতে old*(1±z)
  1. একটি সূচনা পয়েন্ট (প্যারামিটার মানগুলির সেট) নিন।
  2. এটির জন্য শক্তি পান (এটি আপনার ডেটার সাথে কতটা ভাল ফিট করে; আমি চি-স্কোয়্যার মানগুলি ব্যবহার করি)।
  3. এলোমেলো দিক দেখুন ("একটি পদক্ষেপ নিন")।
    • শক্তি যদি আপনার বর্তমান পয়েন্টের চেয়ে কম থাকে তবে সেখানে চলে যান।
    • যদি এটি উচ্চতর হয় তবে সম্ভাব্যতার সাথে সেখানে যান p = e^{-(E_{i+1} - E_i)/(kT)}
  4. পুনরাবৃত্তি করুন, আঘাত না করা পর্যন্ত মাঝেমধ্যে T->T/μপ্রতিটি iপুনরাবৃত্তি হ্রাস করা T_min

কিছুটা প্যারামিটার নিয়ে খেলুন এবং আপনি এমন একটি সেট খুঁজে পেতে সক্ষম হবেন যা ভাল এবং দ্রুত কাজ করে।

এবং জিএনইউ সায়েন্টিফিক লাইব্রেরিতে সিমুলেটেড অ্যানেলিং অন্তর্ভুক্ত রয়েছে।


4

এখানে যদি কেউ আগ্রহী হন তবে বিষয়টি সম্পর্কে আমার কিছু চিন্তাভাবনা রয়েছে:

  • @Tdc প্রস্তাবিত হিসাবে আমি মোটা / সূক্ষ্ম গ্রিড অনুসন্ধান করছি। এটি দুটি সমস্যার পরিচয় দেয়:
    • বেশিরভাগ ক্ষেত্রে আমি ভাল মেটাপ্যারামিটার সেটগুলি পেয়ে যাব যাতে বন্যভাবে বিভিন্ন প্যারামিট থাকে --- আমি এটি এইভাবে ব্যাখ্যা করছি যে এই প্যারামিটারগুলি সর্বোত্তম সমাধান, তবে নিশ্চিত হতে হবে যে এই সমস্ত ভাল পরামিতিগুলির নিকটে আমার সমস্ত সূক্ষ্ম গ্রিডগুলি পরীক্ষা করা উচিত ( এটিতে অনেক সময় লাগবে), তাই আপাতত আমি কেবলমাত্র বেটের মেটাপ্যারামিটার সেটটির আশেপাশে পরীক্ষা করি।
    • বেশিরভাগ ক্ষেত্রে সূক্ষ্ম অনুসন্ধানে এসভিএমের কার্যকারিতা বাড়ায় না (এটি কারণ হতে পারে যে আমি কেবল মোটা গ্রিডের সেরা পয়েন্টের কেবলমাত্র নেত্রবৌরড পরীক্ষা করছি।
  • আমি আচরণটি পর্যবেক্ষণ করেছি যে সর্বাধিক কম্পিউটিং সময় মেটাপ্যারিমিটার সেটগুলিতে ব্যয় করা হয় যা ভাল ফলাফল দেয় না, উদাহরণস্বরূপ: বেশিরভাগ মেটাপ্যারামিটার সেটগুলি 15 সেকেন্ডের নীচে গণনা করবে (এবং তাদের মধ্যে সেরাের মধ্যে 15% এর ত্রুটি হার রয়েছে), এবং কিছুতে 15 মিনিট সময় লাগে ( এবং এর বেশিরভাগের ত্রুটির হারগুলি 100% এর চেয়ে বড়) সুতরাং গ্রিড অনুসন্ধান করার সময় আমি এমন পয়েন্টগুলিকে মেরে ফেলি যা গণনা করতে 30 সেকেন্ডের বেশি লাগে এবং ধরে নেয় যে তাদের অসীম ত্রুটি হয়েছিল।
  • আমি মাল্টিপ্রসেসিং ব্যবহার করি (যা যথেষ্ট সহজ)

1

কার্নেলটি যদি রেডিয়াল হয় তবে আপনি যথাযথ পেতে এই হিউরিস্টিকটি ব্যবহার করতে পারেনσ - সি অপ্টিমাইজেশন তখন সহজতর উপায়।


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