অন্যান্য জবাবগুলির তুলনায় আমি কিছুটা ভিন্ন পদ্ধতির পরামর্শ দিতে চাই, যদিও @ বাররন পরোক্ষভাবে একই বিষয় নিয়ে আলোচনা করেছেন।
আপনার ফাংশনটি সরাসরি অপ্টিমাইজ করার পরিবর্তে, পয়েন্টগুলির একটি সিরিজের মূল্যায়নের মাধ্যমে (আশা করি) একটি (স্থানীয়) সর্বোত্তম রূপান্তরিত করে আপনি সরোগেট মডেলিংয়ের ধারণাটি ব্যবহার করতে পারেন , যা আপনি যে ধরণের বর্ণনা করেছেন তার সমস্যার জন্য খুব ভাল উপযুক্ত (উচ্চ ব্যয়, মসৃণ, সীমাবদ্ধ, নিম্ন মাত্রিক অর্থাত্ 20 টি অজানা)।x1,x2,…,xksurrogate modelling
বিশেষত, সার্গেট মডেলিং আপনার প্রকৃত ফাংশন f ∈ R d → R এর একটি মডেল ফাংশন সেট করে কাজ করে । মূলটি হ'ল যদিও সি অবশ্যই পুরোপুরি চ এর প্রতিনিধিত্ব করে না , এটি মূল্যায়ন করা আরও সস্তা।c∈Rd→Rf∈Rd→Rcf
সুতরাং, একটি সাধারণ অপ্টিমাইজেশন প্রক্রিয়া নিম্নলিখিত হবে:
- মূল্যনির্ধারণ করা একটি সেট এ ঞ প্রাথমিক পয়েন্ট এক্স 1 , x এর 2 , ... , x এর ঞ । নোট করুন যে ডেরিভেটিভসের প্রয়োজন নেই। আরও মনে রাখবেন যে এই পয়েন্টগুলি অনুসন্ধানের জায়গাগুলিতে সমানভাবে বিতরণ করা উচিত, যেমন লাতিন হাইপারকিউব স্যাম্পলিং বা অনুরূপ স্পেস ফিলিং ডিজাইনের মাধ্যমে।fjx1,x2,…,xj
- এই মূল ডেটাসেটের উপর ভিত্তি করে একটি মডেল ফাংশন তৈরি করুন । আপনি আপনার মডেলটিকে বৈধতা দেওয়ার জন্য ক্রস বৈধকরণ ব্যবহার করতে পারেন ( সি তৈরি করতে মূল জয়েন্ট পয়েন্টগুলির কেবলমাত্র একটি উপসেট ব্যবহার করুন, এবং সি সেই মানগুলি কতটা ভালভাবে পূর্বাভাস করেছে তা পরীক্ষা করতে ডেটাসেটের বাকী অংশটি ব্যবহার করুন )cjcc
- যেমন প্রত্যাশিত উন্নয়ন (EI) নির্ণায়ক হিসেবে একটি নির্ণায়ক ব্যবহার করুন খুঁজে বের করতে যেখানে 'আরও নমুনার' থেকে ভরাট 'করতে করতে' আরো স্যাম্পলিং দ্বারা সঠিক চ । এটি তাত্ত্বিকভাবে যতটা মনে হয় তার চেয়ে অনেক বেশি অধ্যয়ন করা হয় এবং EI মানদণ্ডটি খুব ভালভাবে গবেষণা হয়। EI মাপদণ্ডও লোভী মানদণ্ড নয়, সুতরাং আপনারা দুজনেই মডেলের যথাযথতার ভাল সামগ্রিক উন্নতি পাবেন, সম্ভাব্য অপটিমের কাছাকাছি নির্ভুলতার অগ্রাধিকার দেবেন।cf
- যদি আপনার মডেলটি যথাযথভাবে সঠিক না হয়, তবে পদক্ষেপ 3 পুনরাবৃত্তি করুন, অন্যথায় এর অনুকূলতম সন্ধানের জন্য আপনার পছন্দসই অপ্টিমাইজেশন রুটিনটি ব্যবহার করুন , যা মূল্যায়নের জন্য খুব সস্তা হবে (যাতে আপনি যে কোনও রুটিন চান, এমনকি ডেরিভেটিভসের প্রয়োজন হয় এমনগুলি ব্যবহার করতে পারেন) সূক্ষ্ম জাল করে ফাংশনটি মূল্যায়ন করুন)।c
সাধারণভাবে, এটি ইজিও দ্বারা বোঝানো হয়েছে, দক্ষ গ্লোবাল অপটিমাইজেশন, যেমন @ বারারন প্রস্তাব করেছে। আমি জোর দিয়ে বলতে চাই যে আপনার আবেদনের জন্য এটি পুরোপুরি উপযুক্ত বলে মনে হচ্ছে - আপনি তুলনামূলকভাবে কয়েকটি মূল্যায়নের ভিত্তিতে একটি আশ্চর্যজনকভাবে সঠিক মডেল পান এবং তারপরে আপনি যে কোনও অপ্টিমাইজেশন অ্যালগরিদম ব্যবহার করতে পারেন can প্রায়শই আকর্ষণীয় বিষয় হ'ল আপনি এখন একটি জালের উপর সিটি মূল্যায়ন করতে পারেন এবং এটি প্লট করতে পারেন, ফলে চ এর সাধারণ উপস্থিতি সম্পর্কে অন্তর্দৃষ্টি অর্জন করতে পারেন । আর একটি মজার বিষয় হ'ল বেশিরভাগ সারোগেট মডেলিং কৌশলগুলি পরিসংখ্যানগত ত্রুটির প্রাক্কলনও সরবরাহ করে, যার ফলে অনিশ্চয়তা অনুমানের অনুমতি দেওয়া হয়।fcf
কীভাবে বানাবেন তা অবশ্যই একটি মুক্ত প্রশ্ন, তবে প্রায়শই ক্রিগিং বা তথাকথিত স্পেস-ম্যাপিং মডেল ব্যবহৃত হয়।c
অবশ্যই, এটি বেশ কয়েকটি কোডিংয়ের কাজ, তবে অন্যান্য অনেক লোক খুব ভাল বাস্তবায়ন করেছে। মতলব-এ, আমি কেবলমাত্র ডেসি সফটওয়্যার সরঞ্জামবাক্স সম্পর্কে জানি ডিএসিই বিনামূল্যে। টমল্যাব একটি মতলব প্যাকেজও সরবরাহ করতে পারে তবে অর্থ ব্যয় করতে পারে - তবে আমি বিশ্বাস করি এটি সি ++ তেও কাজ করে এবং এর আগে ডেসের চেয়ে অনেক বেশি ক্ষমতা রয়েছে। (দ্রষ্টব্য: আমি DACE এর নতুন সংস্করণের অন্যতম বিকাশকারী, শিগগিরই প্রকাশিত হবে, যা ইজিওর জন্য অতিরিক্ত সমর্থন সরবরাহ করবে))
আশা করি যে এই মোটামুটি পর্যালোচনাটি আপনাকে সহায়তা করেছে, দয়া করে এমন প্রশ্নগুলি জিজ্ঞাসা করুন যদি এমন কিছু পয়েন্ট রয়েছে যা আরও স্পষ্ট করে দেওয়া যায় বা আমি যে জিনিসগুলি মিস করেছি, বা আপনি যদি বিষয়টিতে আরও উপাদান চান তা করতে পারেন।