The questions that come up, and how to answer them confidently
16 min read
Created ৬ আগ, ২০২৬
ভূমিকা
Machine learning role-এর ইন্টারভিউতে hyperparameter optimization নিয়ে প্রশ্ন প্রায় সবসময়ই আসে। এই chapter সবচেয়ে বেশি জিজ্ঞাসিত প্রশ্নগুলোর একটা লক্ষ্যভেদী রিভিউ, বিষয় আর কঠিনতা অনুযায়ী সাজানো। লক্ষ্য শুধু সঠিক উত্তর জানা নয়, সেটাকে স্পষ্টভাবে বলতে পারাও — যাতে theoretical বোঝাপড়া আর হাতে-কলমে অভিজ্ঞতা, দুটোই ফুটে ওঠে।
মূল ধারণাগুলো
Quick Check
Search Algorithm
Quick Check
Validation আর Evaluation
Quick Check
Practical পরিস্থিতি
Quick Check
মুখে বলার মতো কিছু প্রশ্ন (Viva-Style)
মৌখিক পরীক্ষা আর টেকনিক্যাল ইন্টারভিউয়ের জন্য — যেখানে multiple-choice-এর সাহায্য ছাড়াই স্পষ্টভাবে concept ব্যাখ্যা করতে হয়।
প্রশ্ন: Notation ছাড়াই ব্যাখ্যা করুন, hyperparameter optimize করা কেন ব্যয়বহুল।
মডেল উত্তর: একটা hyperparameter configuration কতটা ভালো সেটা জানার একমাত্র উপায় হলো সেই configuration দিয়ে মডেলটা train করে, না-দেখা data-য় তার performance মাপা। একটা বড় neural network-এর একটা মাত্র training run-ই ঘণ্টার পর ঘণ্টা লাগতে পারে। প্রতিটা candidate configuration-এর জন্য এই পূর্ণাঙ্গ training run লাগে। ১০০টা configuration try করা মানে ১০০টা পূর্ণাঙ্গ training run — হয়তো সপ্তাহের পর সপ্তাহ GPU সময়। Model parameter-এর মতো (যেগুলো একটা মাত্র training run-এই gradient descent দিয়ে efficiently খুঁজে পাওয়া যায়) hyperparameter-এর optimal মানের দিকে ইঙ্গিত দেওয়ার মতো কোনো সস্তা gradient নেই।
প্রশ্ন: Test set কেন শুধু একবারই ব্যবহার করা উচিত?
মডেল উত্তর: প্রতিবার test set দেখে কোনো সিদ্ধান্ত নিলে — অন্য মডেল try করা, hyperparameter বদলানো, validation strategy পাল্টানো — test set কার্যত একটা দ্বিতীয় validation set হয়ে যায়। এরপর যে মডেলটাই বাছুন না কেন, সেটা একরকম test set-এর noise-এর সাথে ভাগ্যক্রমে মিলে যাওয়া মডেল। কোনো মডেলিং সিদ্ধান্তে কখনো ব্যবহার না হলেই test set একটা unbiased estimate দেয় — একবার ব্যবহার হলেই সেটা কলুষিত।
প্রশ্ন: সাধারণ overfitting আর validation set-এ overfitting-এর মধ্যে পার্থক্য কী?
মডেল উত্তর: সাধারণ overfitting হলো model training data-র noise-টাই শিখে ফেলা, training-এ ভালো কিন্তু validation-এ খারাপ ফলাফল দেওয়া। Validation set-এ overfitting হলো — hyperparameter search নিজেই, অনেক configuration try করে validation data-র noise pattern-এর সাথে মিলে যাওয়া একটা configuration খুঁজে নেওয়া। সেরা-পাওয়া configuration validation-এ ভালো দেখায় কিন্তু test set-এ ব্যর্থ হয়। প্রথমটা ঠিক হয় regularization দিয়ে; দ্বিতীয়টা ঠিক হয় search budget সীমিত করে, nested cross-validation দিয়ে, বা সত্যিকার আলাদা test set ব্যবহার করে।
মূল বিষয়গুলো
Key Takeaways
HPO-র bilevel গঠন — ভেতরের training loop আর বাইরের search loop — এটাই মূল কারণ কেন এটা ব্যয়বহুল, আর কেন validation-ভিত্তিক selection দরকার।
অল্প কিছু hyperparameter গুরুত্বপূর্ণ হলে random search grid search-কে হারায়; trial ব্যয়বহুল হলে Bayesian optimization random search-কে হারায়।
Validation leakage হলো misleadingly optimistic ফলাফলের সবচেয়ে বড় কারণ — preprocessing সবসময় CV loop-এর ভেতরে fit করুন।
Pretrained model fine-tune করতে প্রথমে learning rate (1e-5 থেকে 5e-5), তারপর epoch, তারপর batch size খুঁজুন।
লম্বা search-এর পর validation আর test performance-এর মধ্যে বড় ফাঁক প্রায় সবসময়ই validation set-এ overfitting-এর ইঙ্গিত দেয়।
Test set পবিত্র — একবারই ব্যবহার করুন, একেবারে শেষে, সব সিদ্ধান্ত চূড়ান্ত হওয়ার পর।