নেল্ডার মিডের জন্য মানদণ্ড বন্ধ করা


11

আমি কোনও ফাংশন অনুকূলকরণের জন্য নেল্ডার-মিড অ্যালগরিদম বাস্তবায়নের চেষ্টা করছি। Nelder-তৃণভূমি সম্পর্কে উইকিপিডিয়া পৃষ্ঠা তার বাঁধন নির্ণায়ক ছাড়া সমগ্র এলগরিদম সম্পর্কে আশ্চর্যজনক স্পষ্ট। সেখানে এটি দুঃখের সাথে বলে:

অভিমতের জন্য পরীক্ষা করুন [স্পষ্টকরণের প্রয়োজনীয়তা]

আমি নিজে বেশ কয়েকটি মানদণ্ড চেষ্টা করেছি এবং পরীক্ষা করেছি:

  • বন্ধ করেন তাহলে (এক্সএন+ +1)-(এক্স1)<ε যেখানে ε ছোট এবং যেখানে এক্সআমি হয় আমি -th সিমপ্লেক্স এর প্রান্তবিন্দু, কম থেকে আদেশ ( (এক্স1) ) উচ্চ ( (এক্সএন+ +1)) ফাংশন মান। অন্য কথায়, যখন সিমপ্লেক্সের সর্বাধিক মান ন্যূনতম মানের সমান হয়। আমি দেখেছি এটি সঠিকভাবে কাজ করে না, যেহেতু এটি সরলপ্লেক্সের ভিতরে কার্যকারিতাটি সম্পর্কে কোনও গ্যারান্টি দেয় না। উদাহরণ, ফাংশন বিবেচনা করুন:

    (এক্স)=এক্স2
    এই কোর্স নিখুত তুচ্ছ হয়, কিন্তু এর আমরা এনএম সঙ্গে এই কাজ বলা যাক, এবং আমাদের দুই সিমপ্লেক্স পয়েন্ট হোক এক্স1=-1 এবং । অ্যালগরিদম এর সর্বোত্তম খুঁজে না পেয়ে এখানে রূপান্তর করবে।এক্স2=1
  • দ্বিতীয় বিকল্পটি সিমপ্লেক্সের মূল্যায়নের সাথে জড়িত: যদি বন্ধ করুন । এটি ধরে নেওয়া হয় যে সিমপ্লেক্সের সর্বনিম্ন বিন্দু এবং সেন্ট্রয়েডের একই ধরণের মান থাকে তবে কনভার্জেন্সকে কল করতে সিমপ্লেক্স যথেষ্ট ছোট।|(এক্স1)-(এক্স)|<ε

এই রূপান্তর পরীক্ষা করার জন্য কি সঠিক উপায়? অথবা এটি পরীক্ষা করার কোনও প্রতিষ্ঠিত উপায় আছে? বেশিরভাগ অনুসন্ধান-হিটগুলি অ্যালগরিদমের জটিলতায় ফোকাস করার কারণে আমি এর কোনও উত্স খুঁজে পাইনি।


1. এটা আমার কাছে পরিষ্কার কেন আপনি তুলনা করছেন কি ঘটবে না সঙ্গে এক্স 1 ; অবশ্যই আপনি এটি এক্স এন এ যা ঘটে তার সাথে তুলনা করতে চাই । ২. কনভার্জেন্স চেকগুলি অনেক অপ্টিমাইজেশনের একটি বিশেষত জটিল ক্ষেত্র; আপনার প্রয়োজন যে ফাংশনটি খুব বেশি পরিবর্তন হচ্ছে না, তবে যদি তর্কগুলি দ্রুত পরিবর্তন হয় (ফাংশন সবেমাত্র পরিবর্তন হয় এমন কি) আপনিও রূপান্তর করতে পারেন না, তাই লোকেরা প্রায়শই উভয়কে দেখায় এমন মানদণ্ড ব্যবহার করে। আপনি কোনও আপেক্ষিক বা নিখুঁত মানদণ্ড ব্যবহার করেন কিনা তা নিয়েও সমস্যা রয়েছে ( এক্সএন+ +1এক্স1এক্সএন
উভয়ই

3
নেল্ডার মিডের জন্য সবচেয়ে ভাল থামানোর মানদণ্ড আপনি শুরু করার আগে।
মার্ক এল। স্টোন

@ গ্লেন_ বি এর মন্তব্যে কেবল বিভ্রান্তি রোধ করতে এড়াতে ... আমি বিশ্বাস করি যে এখানে সাবস্ক্রিপ্টগুলি অ্যালগরিদমের পুনরাবৃত্তি নয়, সিমপ্লেক্সের শীর্ষকোষকে বোঝায়। যাতে এই প্রশ্নে প্রস্তাবিত প্রথম রূপান্তর মানদণ্ডটি, ডাইমেনশনাল প্যারামিটার স্পেসের অনুভূমিকের সর্বনিম্ন এবং সর্বোচ্চ ফাংশন মানের সাথে তুলনা করে ... এটি প্রশ্নে স্পষ্টভাবে বলা হয়নি, তবে লিঙ্কযুক্ত উইকিপিডিয়া পৃষ্ঠায় অ্যালগরিদমের বর্ণনা ( এবং মূল কাগজে) N + 1 শীর্ষকে নিম্নতম ফাংশন মান থেকে সর্বোচ্চে অর্ডার করুন । এনএন+ +1
নাট পোপ

@ নাটপোপ এটাই ছিল আমার উদ্দেশ্য হ্যাঁ, আমি এই প্রশ্নের স্পষ্টতা যোগ করব \
জেএডি

উত্তর:


6

সংখ্যার রেসিপিগুলির মূল সংস্করণগুলিতে এই "ডাউনহিল সিমপ্লেক্স অ্যালগরিদম" এর অ্যাকাউন্টটি বিশেষত সুস্পষ্ট এবং সহায়ক। আমি তাই এর সম্পর্কিত অংশ উদ্ধৃত করব। এখানে পটভূমি:

এক-মাত্রিক কমানোর ক্ষেত্রে, সর্বনিম্ন বন্ধনী করা সম্ভব ছিল ...। হায়! বহুমাত্রিক স্থানে কোনও অ্যানালগাস পদ্ধতি নেই। ... আমরা সবচেয়ে ভাল যা করতে পারি তা হল আমাদের অ্যালগরিদমকে একটি প্রাথমিক অনুমান দেওয়া; এটি হ'ল প্রথম পয়েন্ট হিসাবে স্বাধীন ভেরিয়েবলের একটি ভেক্টর। এরপরে অ্যালগোরিদমটি কোনও এন- ডাইমেনশনাল টপোগ্রাফির অভাবনীয় জটিলতার মধ্য দিয়ে নিজের (নূন্যতম স্থানীয়) ন্যূনতমের মুখোমুখি না হওয়া অবধি তার নিজস্ব পথ তৈরি করার কথা ।এনএন

উতরাইয়ের সিমপ্লেক্স পদ্ধতিটি কেবল একটি একক পয়েন্ট দিয়ে নয় , শুরুতে প্রাথমিক সিম্প্লেক্সকে সংজ্ঞায়িত করে পয়েন্ট দিয়ে শুরু করা উচিত । [আপনি এই পয়েন্ট নিতে ইনিশিয়াল আদ্যস্থল হতে পারেন পিএন+ +1 সহ] পি আমি = পি 0 + + λ আমি যেখানেআমি এর দ্বারা এন ইউনিট ভেক্টর এবং যেখানে λ একটি ধ্রুবক যা সমস্যা চরিত্রগত আপনার অনুমান হয় দৈর্ঘ্য স্কেল ...পি0

(10.4.1)পিআমি=পি0+ +λআমি
আমিএনλ

সর্বাধিক পদক্ষেপ কেবল সরান সরল বিন্দুতে [সরান] যেখানে ফাংশনটি সর্বাধিক ("সর্বোচ্চ পয়েন্ট") সিমপ্লেক্সের বিপরীত মুখ থেকে নীচের বিন্দুতে থাকে। ...

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

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

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

পুনরারম্ভগুলি কখনও খুব ব্যয়বহুল হওয়া উচিত নয়; আপনার অ্যালগরিদম সর্বোপরি একবার পুনঃসূচনা পয়েন্টে রূপান্তরিত করে এখন আপনি ইতিমধ্যে অ্যালগরিদম শুরু করছেন।

[পৃষ্ঠা ২৯০-২৯২।]

এক্সYটি>0

(1)|এক্স|-|Y|(এক্স,Y)=2|এক্স|-|Y||এক্স|+ +|Y|<টি

সাথে (এক্স,Y)=(|এক্স|+ +|Y|)/2

(1)

উল্লেখ

উইলিয়াম এইচ। প্রেস এট। , সংখ্যার রেসিপি: বৈজ্ঞানিক কম্পিউটিং আর্ট। কেমব্রিজ বিশ্ববিদ্যালয় প্রেস (1986)। সর্বশেষ সংস্করণগুলির জন্য http://numerical.recips/ দেখুন ।


1
পুনরায় আরম্ভ করার অন্তর্দৃষ্টি জন্য ধন্যবাদ। আমি ভেবেছিলাম এটি কেবল বিভিন্ন প্রারম্ভিক বিন্দু থেকে অ্যালগরিদম চালাচ্ছে, তবে বাস্তবে এটি আরও বেশি বলে মনে হচ্ছে।
জেএডি

"পুনরায় চালু করা" এর সম্ভাব্য অর্থ সম্পর্কে আমি আগে ভাবিনি। বর্তমান প্রসঙ্গে, আমি "পুনঃসূচনা" -এর জন্য "পলিশিং" এর মতো শব্দটি ব্যবহার করতে পারি তবে এটি সম্ভবত খুব সঠিক নয়। সিমপ্লেক্স পদ্ধতির পক্ষে যে ধরণের "পুনঃসূচনা" করা হয়েছে এটি তার চেয়ে বিশেষ হতে পারে।
whuber

9

একটি সম্পূর্ণ উত্তর নয়, তবে একটি মন্তব্যের জন্য খুব দীর্ঘ এবং আপনাকে সঠিক পথে রাখতে পারে।

জন সি সি ন্যাশ দ্বারা "কম্পিউটারের জন্য সংক্ষিপ্ত সংখ্যা সংক্রান্ত পদ্ধতি" ২ য় এড। এর 171 পৃষ্ঠায় এই বিষয়টিকে সংক্ষেপে চিকিত্সা করা হয়েছে। আর এর optim()কার্যক্রমে প্রয়োগ করা নেল্ডার-মাড রুটিনের জন্য উদ্ধৃত রেফারেন্স হিসাবে দেখা যায় । প্রাসঙ্গিক অংশ উদ্ধৃত:

টিগুলিটি=[(Σআমি=1এন+ +1[এস(আমি)-এস¯]2)/এন]1/2
এস¯=Σআমি=1এন+ +1এস(আমি)/(এন+ +1)

এস()এন+ +1এনএইচএল

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

একটি দ্রুত বর্ণন এর উৎস optim()নির্দেশ করে যে এটা অভিসৃতি নির্ধারণ (পয়েন্ট সিমপ্লেক্স সংজ্ঞা এর) সর্বোচ্চ এবং সর্বনিম্ন ফাংশন মানের মধ্যে পার্থক্য ব্যবহার করে: if (VH <= VL + convtol || VL <= abstol) break;কোথায় VHউচ্চমূল্য এবং VLকম মূল্য। এটি সেই সতর্কতার সাথে আসে যা আমি উত্সটিতে খুব তাড়াতাড়ি দেখেছি এবং সম্ভবত কিছু অনুপস্থিত missing

এখন, আপনার বিকল্পটি (1) ন্যাশ দ্বারা সমর্থিত দ্বিতীয় পদ্ধতির বলে মনে হচ্ছে। আপনি যে সমস্যার মুখোমুখি হয়েছেন সে সম্পর্কেও সে আলোচনা করে:

(এন+ +1)(এন-1)এন

ন্যাশ এখানে মূল উল্লেখ উল্লেখ করেছেন:

নেলদার জেএ, মেড আর। 1965. ফাংশন হ্রাস করার জন্য একটি সরল পদ্ধতি। কম্পিউটার জার্নাল 7: 308-313।

ও'নিল আর। 1971. অ্যালগরিদম এএস 47: সাধারণ পদ্ধতি ব্যবহার করে ফাংশন হ্রাসকরণ min প্রয়োগ পরিসংখ্যান 20: 338-345।


3

সর্বনিম্ন(টি)সর্বনিম্নসমস্ত কোণে (এক্সআমি,টি)
# stop when you run out of patience, no improvement for say 10 iterations in a row:
if t > tbest + patience:
    message = "iter %d: f %g >= fbest %g" ...
    return message, fbest, xbest

এন+ +1 কোণে যুক্তিসংগত তুল্য স্কেলিং, সীমাবদ্ধতা, এনএম প্রাথমিক সিমপ্লেক্স চেক স্পষ্টভাবে দরকারী। সমস্ত কোণ ট্র্যাকিং এর সমন্বয় উন্নত করতে পারে কিনা

  1. সমস্যা: রুক্ষ ভূখণ্ড, সম্ভবত খারাপ স্কেলিং বা নির্বিকার সীমাবদ্ধতার সাথে
  2. অ্যালগরিদম, ব্যালেন্সিং এক্সপ্লোরিং এবং মুভিং (এবং সফ্টওয়্যার জটিলতা)
  3. থামার নিয়ম যথাযথ

দেখার জন্য রয়ে গেছে - আসল পরীক্ষার কেসগুলি স্বাগত।

(সত্যিকারের Stopiterশ্রেণীর পাশাপাশি অনেকগুলি স্টপ শর্ত রয়েছেpatience ; ওয়াল ক্লক সময় সর্বাধিক সহজ)

আরও দেখুন:
এনএলপ্ট : তুলনামূলক সহজ নেল্ডার- মাড সহ অনেক অ্যালগরিদম। ডাউনহিলের তুলনা অ্যালগোরিদম সম্পর্কিত বিশেষত নোটগুলি দেখুন : ধৈর্য সহ বন্ধ হচ্ছে
min_improvement

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