SciPy লাইব্রেরি উচ্চ দক্ষতার সাথে গতিতে জটিল বৈজ্ঞানিক গণনা সম্পাদন করতে ব্যবহার করা যেতে পারে। নেল্ডার-মিড অ্যালগরিদম সাধারণ অনুসন্ধান অ্যালগরিদম নামেও পরিচিত৷
এটিকে সেরা অ্যালগরিদমগুলির মধ্যে একটি হিসাবে বিবেচনা করা হয় যা প্যারামিটার অনুমান সমস্যা এবং পরিসংখ্যানগত সমস্যাগুলি সমাধান করতে ব্যবহার করা যেতে পারে। এই অ্যালগরিদমটি এমন পরিস্থিতিতে ব্যবহার করার জন্য প্রাসঙ্গিক যেখানে ফাংশনের মানগুলি অনিশ্চিত বা এর সাথে প্রচুর শব্দ যুক্ত৷
এই অ্যালগরিদমটি অবিচ্ছিন্ন ফাংশনগুলির সাথে কাজ করতেও ব্যবহার করা যেতে পারে যা পরিসংখ্যানে প্রায়শই ঘটে। এটি একটি সাধারণ অ্যালগরিদম এবং এটি বোঝাও সহজ। একটি বহুমাত্রিক অনিয়ন্ত্রিত অপ্টিমাইজেশানের ক্ষেত্রে একটি নন-লিনিয়ার ফাংশনের প্যারামিটারগুলিকে ছোট করতে ব্যবহৃত হয়৷
সর্বোত্তম গ্রেডিয়েন্ট মানগুলি খুঁজে পেতে এই অ্যালগরিদমটি ব্যবহার করার পরামর্শ দেওয়া হয় না কারণ এটি দীর্ঘ সময় নিতে পারে৷
আসুন একটি উদাহরণ দেখি -
উদাহরণ
import numpy as np from scipy.optimize import minimize def f(x): return .6*(1 - x[0])**2 scipy.optimize.minimize(f, [2, -1], method="Nelder-Mead")
আউটপুট
final_simplex: (array([[ 1. , -1.27109375], [ 1. , -1.27118835], [ 1. , -1.27113762]]), array([0., 0., 0.])) fun: 0.0 message: 'Optimization terminated successfully.' nfev: 147 nit: 69 status: 0 success: True x: array([ 1. , -1.27109375])
ব্যাখ্যা
-
প্রয়োজনীয় লাইব্রেরিগুলি আমদানি করা হয়৷
৷ -
একটি ফাংশন 'f' সংজ্ঞায়িত করা হয় যা যুক্তি হিসাবে একটি মান নেয় এবং এটিতে কিছু গাণিতিক গণনা করে।
-
এই ফাংশনটিকে ফাংশনের সংজ্ঞার বাইরে 'f' ফাংশন বলা হয় যা মান গণনা করে।
-
এই ফাংশনটি 'scipy' লাইব্রেরির 'অপ্টিমাইজ' ক্লাসে উপস্থিত 'মিনিমাইজ' ফাংশনের একটি প্যারামিটার হিসাবে পাস করা হয়।
-
এই আউটপুট কনসোলে প্রদর্শিত হয়৷
৷