হাইপারঅপ্টের সাথে মডেল টিউনিং কীভাবে স্বয়ংক্রিয় করবেন
আপনি টিউনিং মডেল ভালবাসেন? যদি আপনার উত্তর হয় "হ্যাঁ", এই পোস্ট না তোমার জন্য.
এই ব্লগে আমরা অত্যন্ত জনপ্রিয় স্বয়ংক্রিয় হাইপারপ্যারামিটার টিউনিং অ্যালগরিদম কভার করব গাছ-ভিত্তিক পারজেন এস্টিমেটর (TPE)। TPE ওপেন সোর্স প্যাকেজ, HyperOpt দ্বারা সমর্থিত। HyperOpt এবং TPE ব্যবহার করে, মেশিন লার্নিং ইঞ্জিনিয়াররা করতে পারেন কোনো ম্যানুয়াল টিউনিং ছাড়াই দ্রুত উচ্চ-অপ্টিমাইজ করা মডেলগুলি বিকাশ করুন.
আরও ঝামেলা ছাড়াই, ডুব দিন!
HyperOpt হল একটি ওপেন-সোর্স পাইথন প্যাকেজ যা ট্রি-ভিত্তিক পারজেন এসিমটরস (TPE) নামক একটি অ্যালগরিদম ব্যবহার করে মডেল হাইপারপ্যারামিটার নির্বাচন করতে যা ব্যবহারকারী-সংজ্ঞায়িত উদ্দেশ্য ফাংশনকে অপ্টিমাইজ করে। প্রতিটি হাইপারপ্যারামিটারের কার্যকরী ফর্ম এবং সীমাগুলিকে কেবলমাত্র সংজ্ঞায়িত করার মাধ্যমে, TPE পুঙ্খানুপুঙ্খভাবে তবুও দক্ষতার সাথে জটিল হাইপারস্পেসের মাধ্যমে সর্বোত্তম স্থানে পৌঁছানোর জন্য অনুসন্ধান করে।
TPE হল একটি অনুক্রমিক অ্যালগরিদম যা বেয়েসিয়ান আপডেটের সুবিধা দেয় এবং নীচের ক্রম অনুসরণ করে।
- এলোমেলোভাবে-নির্বাচিত হাইপারপ্যারামিটারের বেশ কয়েকটি সেট সহ একটি মডেলকে প্রশিক্ষণ দিন, উদ্দেশ্য ফাংশনের মান ফিরিয়ে দিন।
- কিছু থ্রেশহোল্ড গামা (γ) অনুসারে আমাদের পর্যবেক্ষণকৃত উদ্দেশ্য ফাংশন মানগুলিকে "ভাল" এবং "খারাপ" গ্রুপে বিভক্ত করুন।
- "প্রতিশ্রুতিশীলতা" স্কোর গণনা করুন, যা ন্যায়সঙ্গত P(x|ভাল) / P(x|খারাপ).
- হাইপারপ্যারামিটারগুলি নির্ধারণ করুন যা মিশ্রণ মডেলের মাধ্যমে প্রতিশ্রুতি সর্বাধিক করে।
- ধাপ 4 থেকে হাইপারপ্যারামিটার ব্যবহার করে আমাদের মডেল ফিট করুন।
- একটি স্টপিং মানদণ্ড না হওয়া পর্যন্ত 2-5 ধাপগুলি পুনরাবৃত্তি করুন।
এখানে একটি দ্রুত কোড উদাহরণ.
ঠিক আছে যে অনেক বড় শব্দ ছিল. আসুন ধীর হয়ে যাই এবং সত্যিই বুঝতে পারি কি ঘটছে।
1.1 — আমাদের লক্ষ্য
ডেটা সায়েন্টিস্টরা ব্যস্ত। আমরা সত্যিই ভাল মডেল তৈরি করতে চাই, কিন্তু এটি একটি দক্ষ এবং আদর্শভাবে হ্যান্ডস-অফ পদ্ধতিতে করি।
যাইহোক, এমএল মডেলিং লাইফসাইকেলের কিছু ধাপ স্বয়ংক্রিয়ভাবে করা খুব কঠিন। অনুসন্ধানমূলক ডেটা বিশ্লেষণ (EDA) এবং বৈশিষ্ট্য প্রকৌশল, উদাহরণস্বরূপ, সাধারণত বিষয়-নির্দিষ্ট এবং মানুষের অন্তর্দৃষ্টি প্রয়োজন। মডেল টিউনিং, অন্যদিকে, একটি পুনরাবৃত্তিমূলক প্রক্রিয়া যেখানে কম্পিউটারগুলি এক্সেল করতে পারে।
এই পোস্ট জুড়ে আমাদের লক্ষ্য হল মডেল টিউনিং প্রক্রিয়া স্বয়ংক্রিয় করার জন্য অ্যালগরিদমগুলি কীভাবে ব্যবহার করা যায় তা বোঝা।
আমাদের সেই লক্ষ্য সম্পর্কে চিন্তা করতে সাহায্য করার জন্য, আসুন একটি উপমা ব্যবহার করি: আমরা জলদস্যুরা গুপ্তধনের সন্ধান করছি। এটাও মনে রাখা জরুরী যে আমরা খুব দক্ষ জলদস্যু যারা কবর দেওয়া গুপ্তধনের সন্ধানে আমাদের সময় কমাতে চাই। সুতরাং, কিভাবে আমাদের অনুসন্ধানে ব্যয় করা সময় কমানো উচিত? উত্তর একটি মানচিত্র ব্যবহার করুন!
চিত্র 1-এ, আমাদের কাছে একটি কাল্পনিক মানচিত্র রয়েছে যা দেখায় যে আমাদের ধন কোথায় অবস্থিত। অনেক আরোহণ এবং খনন করার পরে, সেই ধনটিতে পৌঁছানো খুব কঠিন হবে না কারণ আমরা জানি এটি কোথায় অবস্থিত।
কিন্তু আমাদের কাছে মানচিত্র না থাকলে কী হবে?
একটি মডেল টিউন করার দায়িত্ব দেওয়া হলে, দুর্ভাগ্যবশত আমাদের একটি মানচিত্র দেওয়া হয় না। আমাদের ভূখণ্ড, যা হাইপারপারমিটার অনুসন্ধান স্থানের সাথে মিলে যায়, অজানা। অধিকন্তু, আমাদের ধনটির অবস্থান, যা হাইপারপ্যারামিটারের সর্বোত্তম সেটের সাথে মিলে যায়, তাও অজানা।
সেই সেটআপের সাথে, আসুন দক্ষতার সাথে এই স্থানটি অন্বেষণ করার এবং কিছু ধন খোঁজার কিছু সম্ভাব্য উপায় সম্পর্কে কথা বলি!
1.2 — সম্ভাব্য সমাধান
মডেল টিউনিংয়ের মূল পদ্ধতিটি হল "ম্যানুয়াল" — প্রকৌশলী আসলে ম্যানুয়ালি অনেকগুলি ভিন্ন কনফিগারেশন পরীক্ষা করবেন এবং দেখবেন কোন হাইপারপ্যারামিটার সংমিশ্রণটি সেরা মডেল তৈরি করে। তথ্যপূর্ণ হলেও, এই প্রক্রিয়াটি অকার্যকর। আরও ভালো উপায় থাকতে হবে...
1.2.1 — গ্রিড অনুসন্ধান (সবচেয়ে খারাপ)
আমাদের প্রথম অপ্টিমাইজেশান অ্যালগরিদম হল গ্রিড অনুসন্ধান৷ গ্রিড অনুসন্ধান পুনরাবৃত্তিমূলকভাবে একটি ব্যবহারকারী-নির্দিষ্ট গ্রিডের মধ্যে হাইপারপ্যারামিটারের সমস্ত সম্ভাব্য সমন্বয় পরীক্ষা করে।
উদাহরণস্বরূপ, চিত্র 2-এ, আপনি যেখানেই একটি লাল বিন্দু দেখতে পাবেন সেখানেই আমরা আমাদের মডেলটিকে পুনরায় প্রশিক্ষণ এবং মূল্যায়ন করব। এই কাঠামোটি অদক্ষ কারণ এটি খারাপ হাইপারপ্যারামিটার পুনরায় ব্যবহার করে. উদাহরণস্বরূপ, যদি হাইপারপ্যারামিটার 2 আমাদের উদ্দেশ্যমূলক ফাংশনের উপর সামান্য প্রভাব ফেলে, আমরা এখনও এর মানগুলির সমস্ত সমন্বয় পরীক্ষা করব, যার ফলে প্রয়োজনীয় সংখ্যক পুনরাবৃত্তির সংখ্যা 10x বৃদ্ধি পাবে (এই উদাহরণে)।
কিন্তু এগিয়ে যাওয়ার আগে, এটা লক্ষ্য করা গুরুত্বপূর্ণ যে গ্রিড অনুসন্ধান এখনও মোটামুটি জনপ্রিয় কারণ এটি একটি সঠিকভাবে নির্দিষ্ট গ্রিড দেওয়া একটি সর্বোত্তম খুঁজে পাওয়ার গ্যারান্টিযুক্ত। আপনি যদি পদ্ধতিটি ব্যবহার করার সিদ্ধান্ত নেন, আপনার হাইপারপ্যারামিটারের কার্যকরী ফর্ম প্রতিফলিত করার জন্য আপনি আপনার গ্রিড রূপান্তর নিশ্চিত করুন। উদাহরণস্বরূপ, a এর জন্য max_depth এলোমেলো বন ক্লাসিফায়ার একটি পূর্ণসংখ্যা - এটি একটি অবিচ্ছিন্ন স্থান অনুসন্ধান করতে দেবেন না। এটির একটি অভিন্ন বন্টন থাকার সম্ভাবনাও কম - আপনি যদি আপনার হাইপারপ্যারামিটারের কার্যকরী ফর্মটি জানেন তবে এটি প্রতিফলিত করতে গ্রিডটিকে রূপান্তর করুন।
সংক্ষেপে, গ্রিড অনুসন্ধান মাত্রিকতার অভিশাপের সাপেক্ষে এবং মূল্যায়নের মধ্যে তথ্য পুনঃগণনা করে, কিন্তু এখনও ব্যাপকভাবে ব্যবহৃত হয়।
1.2.2 — এলোমেলো অনুসন্ধান (ভাল)
আমাদের দ্বিতীয় অ্যালগরিদম হল এলোমেলো অনুসন্ধান। এলোমেলো অনুসন্ধান একটি ব্যবহারকারী-নির্দিষ্ট গ্রিডের মধ্যে র্যান্ডম মান চেষ্টা করে। গ্রিড অনুসন্ধানের বিপরীতে, আমরা হাইপারপ্যারামিটারের প্রতিটি সম্ভাব্য সংমিশ্রণ পরীক্ষা করতে নিযুক্ত হই না, যা কার্যকারিতা বাড়ায়।
এখানে একটি দুর্দান্ত সত্য: র্যান্ডম অনুসন্ধান (গড়ে) এর মধ্যে একটি শীর্ষ 5% হাইপারপ্যারামিটার কনফিগারেশন খুঁজে পাবে 60টি পুনরাবৃত্তি. এটি বলেছিল, গ্রিড অনুসন্ধানের মতো আপনাকে অবশ্যই প্রতিটি হাইপারপারমের কার্যকরী রূপ প্রতিফলিত করতে আপনার অনুসন্ধানের স্থানকে রূপান্তর করতে হবে।
র্যান্ডম অনুসন্ধান হাইপারপ্যারামিটার অপ্টিমাইজেশানের জন্য একটি ভাল বেসলাইন।
1.2.3 — বায়েসিয়ান অপ্টিমাইজেশান (ভাল)
আমাদের তৃতীয় প্রার্থী হল আমাদের প্রথম অনুক্রমিক মডেল-ভিত্তিক অপ্টিমাইজেশান (SMBO) অ্যালগরিদম৷ পূর্বের কৌশল থেকে মূল ধারণাগত পার্থক্য হল আমরা ভবিষ্যতের অন্বেষণের পয়েন্টগুলি নির্ধারণ করতে পুনরাবৃত্তিমূলকভাবে পূর্ববর্তী রানগুলি ব্যবহার করুন।
Bayesian হাইপারপ্যারামিটার অপ্টিমাইজেশান আমাদের হাইপারপ্যারামিটার অনুসন্ধান স্থানের একটি সম্ভাব্য বিতরণ বিকাশ করতে দেখায়। সেখান থেকে, এটি একটি অধিগ্রহণ ফাংশন ব্যবহার করে, যেমন প্রত্যাশিত প্রত্যাশিত উন্নতি, আমাদের হাইপারস্পেসকে আরও "অনুসন্ধানযোগ্য" হতে রূপান্তরিত করতে। অবশেষে, এটি একটি অপ্টিমাইজেশান অ্যালগরিদম ব্যবহার করে, যেমন স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট, একটি হাইপারপ্যারামিটার খুঁজে পেতে যা আমাদের অধিগ্রহণ ফাংশনকে সর্বাধিক করে তোলে। এই হাইপারপ্যারামিটারগুলি আমাদের মডেলের সাথে মানানসই করার জন্য ব্যবহার করা হয় এবং প্রক্রিয়াটি একত্রিত হওয়া পর্যন্ত পুনরাবৃত্তি করা হয়।
বায়েসিয়ান অপ্টিমাইজেশান সাধারণত র্যান্ডম অনুসন্ধানকে ছাড়িয়ে যায়, তবে এর কিছু মূল সীমাবদ্ধতা রয়েছে যেমন সংখ্যাসূচক হাইপারপ্যারামিটারের প্রয়োজন।
1.2.4 — গাছ-ভিত্তিক পারজেন অনুমানকারী (সেরা)
সবশেষে, শো এর তারকা সম্পর্কে কথা বলা যাক: Tree-based Parzen Estimators (TPE)। TPE হল আরেকটি SMBO অ্যালগরিদম যা সাধারণত বেসিক বায়েসিয়ান অপ্টিমাইজেশানকে ছাড়িয়ে যায়, কিন্তু প্রধান বিক্রয় বিন্দু হল এটি গাছের কাঠামোর মাধ্যমে জটিল হাইপারপ্যারামিটার সম্পর্ক পরিচালনা করে।
আসুন এটি বোঝার জন্য চিত্র 5 ব্যবহার করি গাছের গঠন. এখানে আমরা একটি সাপোর্ট ভেক্টর মেশিন (SVM) ক্লাসিফায়ার প্রশিক্ষণ দিচ্ছি। আমরা দুটি কার্নেল পরীক্ষা করব: linear
এবং RBF
. একটি linear
কার্নেল একটি প্রস্থ প্যারামিটার নেয় না কিন্তু RBF
করে, তাই একটি নেস্টেড অভিধান ব্যবহার করে আমরা এই কাঠামোটি এনকোড করতে সক্ষম হয়েছি এবং এর ফলে অনুসন্ধানের স্থান সীমিত করতে পারি।
TPE শ্রেণীগত ভেরিয়েবলকেও সমর্থন করে যা ঐতিহ্যবাহী Bayesian অপ্টিমাইজেশান করে না।
এগিয়ে যাওয়ার আগে দ্রুত দাবিত্যাগ, আছে অন্যান্য অনেক হাইপারপ্যারামিটার টিউনিং প্যাকেজ. প্রতিটি বিভিন্ন অ্যালগরিদম সমর্থন করে, যার মধ্যে কয়েকটি এলোমেলো বন, গাউসিয়ান প্রক্রিয়া এবং জেনেটিক অ্যালগরিদম অন্তর্ভুক্ত করে। TPE একটি খুব জনপ্রিয় এবং সাধারণ-উদ্দেশ্য অ্যালগরিদম, কিন্তু অগত্যা সেরা নয়।
সাধারণভাবে, TPE একটি সত্যিই শক্তিশালী এবং দক্ষ হাইপারপ্যারামিটার অপ্টিমাইজেশান সমাধান।
এখন যেহেতু আমরা কিছু জনপ্রিয় হাইপারপ্যারামিটার অপ্টিমাইজেশান অ্যালগরিদম সম্পর্কে একটি সাধারণ ধারণা পেয়েছি, আসুন TPE কীভাবে কাজ করে সে সম্পর্কে গভীরভাবে ডুব দেওয়া যাক।
আমাদের সাদৃশ্য ফিরে, আমরা দাফন ধন খুঁজছেন জলদস্যু কিন্তু একটি মানচিত্র নেই. আমাদের ক্যাপ্টেনের শীঘ্রই গুপ্তধনের প্রয়োজন, তাই আমাদের কৌশলগত অবস্থানগুলিতে খনন করতে হবে যেখানে ধন থাকার উচ্চ সম্ভাবনা রয়েছে, ভবিষ্যতে খননের অবস্থান নির্ধারণের জন্য পূর্বের খননগুলি ব্যবহার করে।
2.1 — সূচনা
শুরু করতে, আমরা আমাদের স্থানের সীমাবদ্ধতা সংজ্ঞায়িত করুন. উপরে উল্লিখিত হিসাবে, আমাদের হাইপারপ্যারামিটারের প্রায়শই একটি কার্যকরী ফর্ম, সর্বোচ্চ/মিনিট মান এবং অন্যান্য হাইপারপ্যারামিটারের সাথে শ্রেণিবদ্ধ সম্পর্ক থাকে। আমাদের ML অ্যালগরিদম এবং আমাদের ডেটা সম্পর্কে আমাদের জ্ঞান ব্যবহার করে, আমরা আমাদের অনুসন্ধানের স্থান নির্ধারণ করতে পারি।
পরবর্তী, আমরা আবশ্যক আমাদের উদ্দেশ্য ফাংশন সংজ্ঞায়িত করুন, যা আমাদের হাইপারপ্যারামিটার সমন্বয় কতটা "ভাল" তা মূল্যায়ন করতে ব্যবহৃত হয়। কিছু উদাহরণের মধ্যে রয়েছে ক্লাসিক ML লস ফাংশন, যেমন RMSE বা AUC।
দারুণ! এখন যেহেতু আমাদের কাছে একটি সীমাবদ্ধ অনুসন্ধান স্থান এবং সাফল্য পরিমাপ করার একটি উপায় আছে, আমরা অনুসন্ধান শুরু করতে প্রস্তুত...
2.2 — পুনরাবৃত্তিমূলক বায়েসিয়ান অপ্টিমাইজেশান
Bayesian অপ্টিমাইজেশান হল একটি ক্রমিক অ্যালগরিদম যা একটি উদ্দেশ্যমূলক ফাংশন অনুসারে "সফল" হওয়ার উচ্চ সম্ভাবনা সহ হাইপারস্পেসে পয়েন্টগুলি খুঁজে পায়। TPE বেয়েসিয়ান অপ্টিমাইজেশানের সুবিধা দেয় তবে কার্যক্ষমতা উন্নত করতে এবং অনুসন্ধানের স্থান জটিলতা পরিচালনা করতে কিছু চতুর কৌশল ব্যবহার করে…
2.2.0 — ধারণাগত সেটআপ
প্রথম কৌশলটি হল মডেলিং P(x|y) পরিবর্তে P(y|x)…
Bayesian অপ্টিমাইজেশান সাধারণত মডেল দেখায় P(y|x), যা একটি উদ্দেশ্য ফাংশন মানের সম্ভাব্যতা (y), দেওয়া হাইপারপ্যারামিটার (x) TPE বিপরীত কাজ করে — এটি মডেল দেখায় P(x|y), যা হাইপারপ্যারামিটারের সম্ভাব্যতা (x), উদ্দেশ্য ফাংশন মান দেওয়া (y).
সংক্ষেপে, TPE সর্বোত্তম উদ্দেশ্যমূলক ফাংশন মান খুঁজে বের করার চেষ্টা করে, তারপর সংশ্লিষ্ট হাইপারপ্যারামিটার নির্ধারণ করে।
সেই অত্যন্ত গুরুত্বপূর্ণ সেটআপের সাথে, আসুন আসল অ্যালগরিদমে যাই।
2.2.1 — আমাদের ডেটা "ভাল" এবং "খারাপ" গ্রুপে বিভক্ত করুন
মনে রাখবেন, আমাদের লক্ষ্য হল কিছু উদ্দেশ্যমূলক ফাংশন অনুযায়ী সেরা হাইপারপ্যারামিটার মান খুঁজে বের করা। সুতরাং, কিভাবে আমরা লিভারেজ করতে পারেন P(x|y) এটা করতে?
প্রথমত, TPE আমাদের পর্যবেক্ষণ করা ডেটা পয়েন্টগুলিকে দুটি গ্রুপে বিভক্ত করে: ভাল, নির্দেশিত g(x), এবং পায়খানা, নির্দেশিত l(x). ভাল এবং খারাপের মধ্যে কাটঅফ একটি ব্যবহারকারী-সংজ্ঞায়িত প্যারামিটার গামা (γ) দ্বারা নির্ধারিত হয়, যা উদ্দেশ্য ফাংশন শতাংশের সাথে মিলে যায় যা আমাদের পর্যবেক্ষণগুলিকে বিভক্ত করে (y*).
সুতরাং, γ = 0.5 দিয়ে, আমাদের উদ্দেশ্য ফাংশন মান যা আমাদের পর্যবেক্ষণকে বিভক্ত করে (y*) আমাদের পর্যবেক্ষিত বিন্দুর মধ্যক হবে।
চিত্র 7 এ দেখানো হয়েছে, আমরা আনুষ্ঠানিক করতে পারি p(x|y) উপরের কাঠামো ব্যবহার করে। এবং, জলদস্যু উপমা দিয়ে রোল করতে...
জলদস্যু দৃষ্টিকোণ: আমরা ইতিমধ্যেই যে জায়গাগুলি অন্বেষণ করেছি সেগুলির দিকে তাকানো, l(x) খুব কম ধন সহ স্থানগুলিকে তালিকাভুক্ত করে এবং g(x) প্রচুর ধন সহ স্থানগুলিকে তালিকাভুক্ত করে৷
2.2.32— "প্রতিশ্রুতিশীলতা" স্কোর গণনা করুন
দ্বিতীয়ত, টিপিই সংজ্ঞায়িত করে যে কীভাবে আমাদের একটি অপ্রদর্শিত হাইপারপ্যারামিটার সমন্বয় মূল্যায়ন করা উচিত "প্রতিশ্রুতি" স্কোর.
চিত্র 8 আমাদের প্রতিশ্রুতিশীলতার স্কোরকে সংজ্ঞায়িত করে (P), যা নিম্নলিখিত উপাদানগুলির সাথে একটি অনুপাত মাত্র...
- অংক: হাইপারপ্যারামিটারের একটি সেট পর্যবেক্ষণ করার সম্ভাবনা (x), সংশ্লিষ্ট উদ্দেশ্য ফাংশনের মান হল "ভাল. "
- ডিনোমিনেটর: হাইপারপ্যারামিটারের একটি সেট পর্যবেক্ষণ করার সম্ভাবনা (x), সংশ্লিষ্ট উদ্দেশ্য ফাংশনের মান হল "পায়খানা. "
"প্রতিশ্রুতি" মান যত বড়, আমাদের হাইপারপ্যারামিটারের সম্ভাবনা তত বেশি x একটি "ভাল" উদ্দেশ্য ফাংশন উত্পাদন করবে।
জলদস্যু দৃষ্টিকোণ: প্রতিশ্রুতিশীলতা দেখায় যে আমাদের ভূখণ্ডে একটি প্রদত্ত অবস্থানে প্রচুর ধন থাকার সম্ভাবনা কতটা সম্ভব।
এগিয়ে যাওয়ার আগে দ্রুত একপাশে, আপনি যদি Bayesian অপ্টিমাইজেশানের সাথে পরিচিত হন তবে এই সমীকরণটি একটি অধিগ্রহণ ফাংশন হিসাবে কাজ করে এবং এটির সমানুপাতিক প্রত্যাশিত উন্নতি (EI).
2.2.3— একটি সম্ভাব্যতা ঘনত্ব অনুমান তৈরি করুন
তৃতীয়ত, TPE এর মাধ্যমে "প্রতিশ্রুতিশীলতা" স্কোর মূল্যায়ন করতে দেখায় মিশ্রণ মডেল. মিশ্রণ মডেলের ধারণা হল একাধিক সম্ভাব্যতা বন্টন গ্রহণ করা এবং একটি রৈখিক সংমিশ্রণ ব্যবহার করে তাদের একত্রিত করা — src. এই সম্মিলিত সম্ভাব্যতা বন্টনগুলি তখন সম্ভাব্যতা ঘনত্বের অনুমান বিকাশ করতে ব্যবহৃত হয়।
সাধারণত, মিশ্রণ মডেলিং প্রক্রিয়া হয়...
- আমাদের পয়েন্ট বিতরণের ধরন সংজ্ঞায়িত করুন। আমাদের ক্ষেত্রে, যদি আমাদের পরিবর্তনশীলটি শ্রেণীবদ্ধ হয় তবে আমরা একটি পুনঃ-ভারিত শ্রেণীগত বন্টন ব্যবহার করি এবং যদি এর সংখ্যাসূচক হয় তবে আমরা একটি গাউসিয়ান (অর্থাৎ স্বাভাবিক) বা অভিন্ন বন্টন ব্যবহার করি।
- প্রতিটি পয়েন্টের উপর পুনরাবৃত্তি করুন এবং সেই বিন্দুতে একটি বিতরণ সন্নিবেশ করুন।
- সম্ভাব্য ঘনত্বের অনুমান পেতে সমস্ত বন্টনের ভর যোগ করুন।
মনে রাখবেন যে এই প্রক্রিয়াটি উভয় সেটের জন্য পৃথকভাবে চালানো হয় l(x) এবং g(x)।
চলুন 9 নং চিত্রের একটি উদাহরণের মাধ্যমে চলুন...
প্রতিটি পর্যবেক্ষণের জন্য (x-অক্ষে নীল বিন্দু), আমরা একটি স্বাভাবিক বন্টন তৈরি করি ~N(μ, σ), যেখানে…
- μ (mu) আমাদের স্বাভাবিক বন্টনের গড়। এর মান হল x-অক্ষ বরাবর আমাদের বিন্দুর অবস্থান।
- σ (সিগমা) আমাদের স্বাভাবিক বন্টনের আদর্শ বিচ্যুতি। এর মান হল নিকটতম প্রতিবেশী বিন্দুর দূরত্ব.
যদি পয়েন্টগুলি একত্রে কাছাকাছি থাকে তবে মানক বিচ্যুতি ছোট হবে এবং এর ফলে বন্টনটি খুব লম্বা হবে এবং বিপরীতভাবে, যদি বিন্দুগুলিকে আলাদা করে ছড়িয়ে দেওয়া হয় তবে বিতরণটি সমতল হবে (চিত্র 10)…
জলদস্যু দৃষ্টিকোণ: NA — জলদস্যুরা মিশ্রণ মডেলের সাথে দুর্দান্ত নয়।
এগিয়ে যাওয়ার আগে আরেকটি দ্রুত একপাশে: আপনি যদি সাহিত্যটি পড়ছেন তাহলে আপনি লক্ষ্য করবেন যে TPE "ছেঁড়া" গাউসিয়ান ব্যবহার করে, যার সহজ অর্থ হল গাউসিয়ানরা +/- অসীম পর্যন্ত প্রসারিত করার পরিবর্তে আমাদের হাইপারপ্যারামিটার কনফিগারেশনে নির্দিষ্ট করা পরিসীমা দ্বারা আবদ্ধ। .
2.2.4 — এক্সপ্লোর করার জন্য পরবর্তী পয়েন্ট নির্ধারণ করা!
আসুন এই টুকরা একসাথে আনা. এখন পর্যন্ত, আমরা 1) উদ্দেশ্যমূলক ফাংশন পর্যবেক্ষণগুলি অর্জন করেছি, 2) আমাদের "প্রতিশ্রুতিশীলতা" সূত্রকে সংজ্ঞায়িত করেছি, এবং 3) পূর্বের মানগুলির উপর ভিত্তি করে মিশ্রণ মডেলগুলির মাধ্যমে একটি সম্ভাব্যতা ঘনত্বের অনুমান তৈরি করেছি৷ আমরা একটি প্রদত্ত বিন্দু মূল্যায়ন সব টুকরা আছে!
আমাদের প্রথম ধাপ হল উভয়ের জন্য একটি গড় সম্ভাব্যতা ঘনত্ব ফাংশন (PDF) তৈরি করা g(x) এবং l(x).
একটি উদাহরণ প্রক্রিয়া চিত্র 11-এ দেখানো হয়েছে — লাল রেখাটি হল আমাদের গড় পিডিএফ এবং কেবলমাত্র পিডিএফ-এর সংখ্যা দ্বারা ভাগ করা সমস্ত পিডিএফের যোগফল।
গড় পিডিএফ ব্যবহার করে, আমরা যেকোনো হাইপারপ্যারামিটার মানের সম্ভাব্যতা পেতে পারি (x) হচ্ছে g(x) or l(x).
উদাহরণস্বরূপ, ধরা যাক চিত্র 11-এ পর্যবেক্ষণ করা মানগুলি "ভাল" সেটের অন্তর্গত, g(x). আমাদের গড় পিডিএফের উপর ভিত্তি করে, এটি অসম্ভাব্য যে 3.9 বা 0.05 এর একটি হাইপারপ্যারামিটার মান "ভাল" সেটের অন্তর্গত। বিপরীতভাবে, ~1.2 এর একটি হাইপারপ্যারামিটার মান "ভাল" সেটের অন্তর্গত হতে পারে বলে মনে হচ্ছে।
এখন এটি ছবির মাত্র অর্ধেক। আমরা "খারাপ" সেটের জন্য একই পদ্ধতি প্রয়োগ করি, l(x)। যেহেতু আমরা সর্বোচ্চ খুঁজছি g(x) / l(x), প্রতিশ্রুতিবদ্ধ পয়েন্ট যেখানে অবস্থিত করা উচিত g(x) উচ্চ এবং l(x) কম.
বেশ সুন্দর, তাই না?
এই সম্ভাব্যতা বিতরণের মাধ্যমে, আমরা আমাদের গাছ-গঠিত হাইপারপ্যারামিটার থেকে নমুনা করতে পারি এবং হাইপারপ্যারামিটারের সেট খুঁজে পেতে পারি যা "প্রতিশ্রুতিশীলতা" সর্বাধিক করে এবং এর ফলে অন্বেষণ করার যোগ্য।
জলদস্যু দৃষ্টিকোণ: পরবর্তী অবস্থানটি আমরা খনন করি সেই অবস্থান যা সর্বাধিক করে (প্রচুর ধন থাকার সম্ভাবনা) / (সামান্য ধন থাকার সম্ভাবনা)।
এখন যেহেতু আপনি জানেন এটি কীভাবে কাজ করে, এখানে ওপেন-সোর্স প্যাকেজ, হাইপারঅপ্টের মাধ্যমে TPE বাস্তবায়নের জন্য কিছু ব্যবহারিক টিপস রয়েছে।
3.1 — একটি হাইপারঅপ্ট অ্যাপের গঠন
সাধারণত, হাইপারঅপ্টের সুবিধা নেওয়ার সময় তিনটি প্রধান পদক্ষেপ রয়েছে...
- অনুসন্ধান স্থান সংজ্ঞায়িত করুন, আপনি যে হাইপারপ্যারামিটারগুলিকে অপ্টিমাইজ করতে চাইছেন তার রেঞ্জ এবং কার্যকরী ফর্মগুলি হল।
- ফিটিং ফাংশন সংজ্ঞায়িত করুন, যা আপনার কল
model.fit()
একটি প্রদত্ত ট্রেন/পরীক্ষা বিভাজনে ফাংশন। - উদ্দেশ্য ফাংশন সংজ্ঞায়িত করুন, যা RMSE বা AUC-এর মতো ক্লাসিক নির্ভুলতার মেট্রিকগুলির মধ্যে একটি।
দুর্ভাগ্যবশত, এই স্বয়ংক্রিয় টিউনিং পদ্ধতিগুলির জন্য এখনও ডেটা বিজ্ঞানীর কাছ থেকে ডিজাইন ইনপুট প্রয়োজন - এটি সম্পূর্ণ বিনামূল্যের মধ্যাহ্নভোজ নয়। যাইহোক, উপাখ্যানগতভাবে TPE হাইপারপ্যারামিটার ভুল স্পেসিফিকেশনের জন্য বেশ শক্তিশালী (কারণে)।
3.2— টিপস এবং কৌশল
- HyperOpt উভয় মাধ্যমে সমান্তরাল হয় আপা স্পার্ক এবং MongoDB. আপনি যদি একাধিক কোরের সাথে কাজ করছেন, তা ক্লাউডে হোক বা আপনার স্থানীয় মেশিনে, এটি নাটকীয়ভাবে রানটাইম কমাতে পারে।
- আপনি যদি Apache Spark এর মাধ্যমে টিউনিং প্রক্রিয়াটিকে সমান্তরাল করে থাকেন, তাহলে a ব্যবহার করুন
SparkTrials
একক নোড ML মডেলের জন্য অবজেক্ট (sklearn) এবং aTrails
সমান্তরাল ML মডেলের জন্য বস্তু (MLlib)। কোড নিচে দেওয়া আছে। - এমএলফ্লো আপনার মডেল রান ট্র্যাক করার জন্য একটি ওপেন সোর্স পদ্ধতি. এটি সহজেই HyperOpt এর সাথে একত্রিত হয়।
- খুব তাড়াতাড়ি অনুসন্ধানের স্থান সংকুচিত করবেন না। হাইপারপ্যারামিটারের কিছু সংমিশ্রণ আশ্চর্যজনকভাবে কার্যকর হতে পারে।
- অনুসন্ধান স্থান সংজ্ঞায়িত করা কঠিন হতে পারে, বিশেষ করে যদি আপনি জানেন না আপনার হাইপারপ্যারামিটারের কার্যকরী ফর্ম. যাইহোক, ব্যক্তিগত অভিজ্ঞতা থেকে TPE সেই কার্যকরী ফর্মগুলির ভুল স্পেসিফিকেশনের জন্য বেশ শক্তিশালী।
- একটি ভাল উদ্দেশ্য ফাংশন নির্বাচন একটি দীর্ঘ পথ যায়. বেশিরভাগ ক্ষেত্রে, ত্রুটি সমান তৈরি হয় না। যদি একটি নির্দিষ্ট ধরণের ত্রুটি আরও সমস্যাযুক্ত হয়, তবে আপনার ফাংশনে সেই যুক্তিটি তৈরি করতে ভুলবেন না।
3.3— একটি কোড উদাহরণ
এখানে একটি বিতরণ পদ্ধতিতে HyperOpt চালানোর জন্য কিছু কোড আছে। এটি বইয়ের কোড থেকে অভিযোজিত হয়েছিল, মেশিন লার্নিং ইঞ্জিনিয়ারিং ইন অ্যাকশন — এখানে git রেপো.
এই স্নিপেটের কিছু চমৎকার বৈশিষ্ট্যের মাধ্যমে সমান্তরালকরণ অন্তর্ভুক্ত আপা স্পার্ক এবং মডেল লগিং এর মাধ্যমে এমএলফ্লো. এছাড়াও মনে রাখবেন যে এই স্নিপেটটি একটি স্কলার র্যান্ডমফরেস্টরেসরকে অপ্টিমাইজ করে — আপনাকে আপনার প্রয়োজন অনুসারে মডেল এবং ফিটিং ফাংশন পরিবর্তন করতে হবে।
এবং সেখানে আপনার কাছে এটি রয়েছে — হাইপারঅপ্ট সর্বোপরি এটির গৌরব!
মূল পয়েন্ট আশা হাতুড়ি, চলুন দ্রুত সংকলন করা যাক.
হাইপারপ্যারামিটার টিউনিং এমএল মডেল লাইফসাইকেলের একটি প্রয়োজনীয় অংশ, তবে এটি সময়সাপেক্ষ। অনুক্রমিক মডেল-ভিত্তিক অপ্টিমাইজেশান (এসএমবিও) অ্যালগরিদমগুলি সর্বোত্তমগুলির জন্য জটিল হাইপারস্পেসগুলি অনুসন্ধান করতে পারদর্শী, এবং সেগুলি হাইপারপ্যারামিটার টিউনিংয়ে প্রয়োগ করা যেতে পারে। ট্রি-ভিত্তিক পারজেন এস্টিমেটরস (TPE) একটি অত্যন্ত দক্ষ SMBO এবং এটি বেয়েসিয়ান অপ্টিমাইজেশান এবং র্যান্ডম অনুসন্ধান উভয়কেই ছাড়িয়ে যায়।
থামানোর মানদণ্ড না হওয়া পর্যন্ত TPE নীচের পদক্ষেপগুলি পুনরাবৃত্তি করে:
- কিছু হাইপারপ্যারামিটার, গামা অনুসারে পর্যবেক্ষণ করা পয়েন্টগুলিকে "ভাল" এবং "খারাপ" সেটে ভাগ করুন।
- একটি গড় সম্ভাব্যতা ঘনত্ব অনুমান বিকাশ করতে "ভাল" এবং "খারাপ" সেট উভয়ের সাথে একটি মিশ্রণ মডেল ফিট করুন।
- "ভালো" এবং "খারাপ" সেটে থাকার সম্ভাব্যতা অনুমান করার জন্য "প্রতিশ্রুতিশীলতা" স্কোরকে অপ্টিমাইজ করে এমন পয়েন্টটি নির্বাচন করুন, যা ধাপ 2-এর সাহায্য করে।
অবশেষে, আমাদের কাছে সত্যিই একটি দুর্দান্ত কোড স্নিপেট রয়েছে যা দেখায় যে কীভাবে স্পার্কট্রায়ালের মাধ্যমে হাইপারঅপ্টকে সমান্তরাল করা যায়। এটি আমাদের সমস্ত পুনরাবৃত্তি MLflow এ লগ করে।
HyperOpt Demystified সূত্র https://towardsdatascience.com/feed এর মাধ্যমে https://towardsdatascience.com/hyperopt-demystified-3e14006eb6fa?source=rss—-7f60cf5620c9—4 থেকে পুনঃপ্রকাশিত
<!–
->
- Bitcoin
- বিজবিল্ডারমাইক
- blockchain
- ব্লকচেইন সম্মতি
- ব্লকচেইন সম্মেলন
- ব্লকচেইন পরামর্শদাতা
- কয়েনবেস
- coingenius
- ঐক্য
- ক্রিপ্টো সম্মেলন
- ক্রিপ্টো খনির
- cryptocurrency
- বিকেন্দ্রীভূত
- Defi
- ডিজিটাল সম্পদ
- ethereum
- মেশিন লার্নিং
- অ ছত্রাকযুক্ত টোকেন
- Plato
- প্লেটো এআই
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটো ব্লকচেইন
- প্লেটোডাটা
- প্লেটোগেমিং
- বহুভুজ
- ঝুঁকি প্রমাণ
- W3
- zephyrnet