আমি কখন এমএলই এর জন্য আর এর এনএলএম ফাংশন ব্যবহার করব না?


25

আমি বেশ কয়েকটি সম্ভাব্য অনুমানের জন্য আর এর এনএলএম ব্যবহার করার পরামর্শ দিয়ে কয়েকজন গাইড জুড়েছি। তবে এগুলির কোনওটিই ( আর এর ডকুমেন্টেশন সহ ) কখন ফাংশনটি ব্যবহার করবেন বা ব্যবহার করবেন না সে সম্পর্কিত তাত্ত্বিক দিকনির্দেশনা দেয়।

যতদূর আমি বলতে পারি, এনএলএম নিউটনের পদ্ধতির লাইন ধরে কেবল গ্রেডিয়েন্ট বংশোদ্ভূত করছে। যখন এই পদ্ধতির ব্যবহার করা যুক্তিসঙ্গত হয় তার জন্য কোনও নীতি আছে? কি বিকল্প পাওয়া যায়? এছাড়াও, অ্যারে ইত্যাদির আকারের কি কোনও সীমা রয়েছে?

উত্তর:


39

বেস দ সাধারণ অপ্টিমাইজেশান রুটিন একটি নম্বর যে আমি সচেতন আছি আছে: optim, nlminb, nlmএবং constrOptim(যা রৈখিক বৈষম্য সীমাবদ্ধতা, এবং কলের পরিচালনা optimফণা অধীন)। এখানে কয়েকটি জিনিস যা আপনি কোনটি ব্যবহার করবেন তা বেছে নেওয়ার ক্ষেত্রে আপনি বিবেচনা করতে চাইতে পারেন।

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

  • nlminbকোয়াস্টি-নিউটন অ্যালগরিদম ব্যবহার করে যা "L-BFGS-B"পদ্ধতির মতো একই কুলুঙ্গিকে পূরণ করে optim। আমার অভিজ্ঞতার তুলনায় এটি কিছুটা বেশি দৃ seems় বলে মনে হচ্ছে optimযে প্রান্তিক ক্ষেত্রে যেখানে কোনও optimরূপান্তর করতে ব্যর্থ হবে সে ক্ষেত্রে সমাধানের সম্ভাবনা বেশি , যদিও এটি সম্ভবত সমস্যা-নির্ভর। সমাধানটিতে এর মানগুলির একটি সংখ্যাগত চেক করার জন্য যদি আপনি একটি সুস্পষ্ট গ্রেডিয়েন্ট ফাংশন সরবরাহ করেন তবে এর চমৎকার বৈশিষ্ট্য রয়েছে। এই মানগুলি যদি সংখ্যাগত ভিন্নতা থেকে প্রাপ্তগুলির সাথে মেলে না, nlminbতবে একটি সতর্কতা দেবে; এটি নিশ্চিত করতে সহায়তা করে যে আপনি গ্রেডিয়েন্ট নির্দিষ্ট করার ক্ষেত্রে ভুল করেন নি (জটিল সম্ভাবনাগুলির সাথে সহজ করার জন্য)।

  • nlmশুধুমাত্র একটি নিউটন অ্যালগরিদম ব্যবহার করে। এটি অন্য অ্যালগরিদমের তুলনায় দ্রুততর হতে পারে অভিব্যক্তিতে পৌঁছানোর জন্য কম পুনরাবৃত্তি প্রয়োজন, তবে এর নিজস্ব ত্রুটি রয়েছে। এটি সম্ভাবনার আকৃতির প্রতি আরও সংবেদনশীল, সুতরাং এটি দৃ strongly়ভাবে চতুর্ভুজবিহীন হলে এটি ধীর হতে পারে বা আপনি কোনও মিথ্যা সমাধানে রূপান্তর করতে পারেন। নিউটন অ্যালগরিদম হেসিয়ান এবং কম্পিউটিং ব্যবহার করে যা ব্যবহারের ক্ষেত্রে যথেষ্ট ধীর হতে পারে যে এটি কোনও তাত্ত্বিক গতিবেগ বাতিল করার চেয়ে বেশি।


17

সর্বাধিককরণের কোনও বিশেষ পদ্ধতি কখন ব্যবহার করবেন এবং ব্যবহার করবেন না তা আপনার কাছে থাকা ডেটা ধরণের উপর নির্ভর করে। nlmসম্ভাবনা পৃষ্ঠটি বিশেষত "রুক্ষ" না হলে এবং সর্বত্র পৃথক হয়ে থাকলে ঠিক কাজ করবে। nlminbনির্দিষ্ট বাউন্ডিং বাক্সগুলিতে প্যারামিটার মানগুলিকে সীমাবদ্ধ করার একটি উপায় সরবরাহ করে। optimযা সম্ভবত সবচেয়ে বেশি ব্যবহৃত অপটিমাইজার, কয়েকটি ভিন্নতর অপ্টিমাইজেশন রুটিন সরবরাহ করে; উদাহরণস্বরূপ, বিএফজিএস, এল-বিএফজিএস-বি, এবং সিমুলেটেড অ্যানেলিং (এসএনএএন বিকল্পের মাধ্যমে), এর পরে যদি আপনার কোনও সমস্যা সমাধানের সমস্যা হয় তবে এটি কার্যকর হতে পারে। সিআরএএন-তে বেশ কয়েকটি অপ্টিমাইজার উপলব্ধ রয়েছে। rgenoudউদাহরণস্বরূপ, অপ্টিমাইজেশনের জন্য একটি জেনেটিক অ্যালগরিদম সরবরাহ করে।DEoptimএকটি ভিন্ন জেনেটিক অপ্টিমাইজেশন রুটিন ব্যবহার করে। জেনেটিক অ্যালগরিদমগুলি একত্রিত হতে ধীর হতে পারে, তবে সাধারণত সম্ভাবনা বিচ্ছিন্নতা থাকা সত্ত্বেও সাধারণত সময়ে সময়ে রূপান্তরিত হওয়ার নিশ্চয়তা দেওয়া হয়। আমি এটি সম্পর্কে জানি না DEoptim, তবে সমান্তরাল প্রক্রিয়াকরণের জন্য rgenoudব্যবহারের snowজন্য সেট আপ করা হয়েছে যা কিছুটা সহায়তা করে।

সুতরাং, সম্ভবত কিছুটা অসন্তুষ্ট উত্তর হ'ল আপনার nlmবা অন্য কোনও অপ্টিমাইজার ব্যবহার করা উচিত যদি এটি আপনার কাছে থাকা ডেটার জন্য কাজ করে। আপনার যদি ভাল আচরণের সম্ভাবনা থাকে তবে যে কোনও রুটিন সরবরাহ করেছে optimবা nlmআপনাকে একই ফল দেবে। কিছু অন্যের তুলনায় দ্রুত হতে পারে, যা ডেটাসেটের আকারের উপর নির্ভর করে বা নাও বিবেচনা করতে পারে ইত্যাদি these অবশ্যই, আপনার যত বেশি প্যারামিটার রয়েছে, আপনি কনভার্সেশন নিয়ে সমস্যায় পড়ার সম্ভাবনা তত বেশি।

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