Hessian — দ্বিতীয় পর্যায়ের তথ্য
Hessian Matrix
রিকশায় ঢাকার রাস্তা
ধর তুই রিকশায় চইড়া মিরপুর থেকে মতিঝিলে যাচ্ছিস। প্রথম রাস্তা একদম flat — রিকশাওয়ালা সুন্দর করে চালাইতেছে, কোনো ঝাঁকুনি নাই। দ্বিতীয় রাস্তায় ছোট ছোট গর্ত আছে — মাঝে মাঝে ঝাঁকুনি লাগে। তৃতীয় রাস্তা পুরা ভাঙা — এত ঝাঁকুনি যে তোর মোবাইল হাত থেকে পড়ে গেল! প্রথম derivative (gradient) বলে রাস্তা উপরে না নিচে। কিন্তু রাস্তা কতটা bumpy বা smooth, সেইটা কে বলবে?
এইটাই Hessian, গুরু! Second derivative-র matrix — রাস্তার curvature বলে দেয়। Flat মানে Hessian ≈ 0, smooth valley মানে positive Hessian, bumpy মানে mixed Hessian। Optimizer-রা Hessian দেখে বুঝে কোন দিকে confident-এ যাইতে পারে!
সংজ্ঞা
Hessian হইল একটা square matrix যেখানে scalar-valued function f: ℝⁿ → ℝ এর সব second-order partial derivatives organized থাকে। Jacobian-এর Jacobian বলতে পারো। এইটা function-এর curvature (বক্রতা) describe করে।
ব্যাখ্যা
Hessian কী বলে
Gradient বলে কোন direction-এ function বাড়ে/কমে (slope)। Hessian বলে সেই slope কত দ্রুত বদলাচ্ছে (curvature)। একটা valley-তে gradient ০ — কিন্তু valley টা wide নাকি narrow? Hessian বলে দেয়। Wide valley মানে small Hessian eigenvalues, narrow valley মানে large eigenvalues।
Hessian-এর Eigenvalues দিয়া Classification
Critical point-এ (gradient = 0) Hessian-এর eigenvalues বলে সেইটা minimum, maximum, না saddle point। সব eigenvalue positive → minimum (bowl), সব negative → maximum (dome), mixed → saddle point (horse saddle)।
Condition Number — Hessian-এর Shape
Hessian-এর সবচেয়ে বড় আর সবচেয়ে ছোট eigenvalue-র ratio হইল condition number। বড় condition number মানে elongated valley — gradient descent zigzag করে, slow converge করে। ছোট condition number মানে nice round bowl — fast converge।
Newton's Method — Hessian ব্যবহার করা
Gradient descent শুধু first derivative use করে। Newton's method Hessian (second derivative)-ও use করে — curvature information দিয়া better step size আর direction বের করে। অনেক faster converge করে কিন্তু Hessian compute করা expensive (n² elements)।
2D Function-এর Hessian Analysis
f(x, y) = x² + 4y² - 2xy function-এর (0, 0) point-এ Hessian বের করো। এইটা minimum, maximum, নাকি saddle?
Step 1: First derivatives
Gradient বের করি
Step 2: Second derivatives
চারটা second derivative বের করি
Step 3: Hessian Matrix
Matrix form-এ সাজাই
Step 4: Eigenvalues
det(H - λI) = 0 solve করি
Step 5: Conclusion
দুইটা eigenvalue-ই positive — তাই minimum! Condition number = 8.65/1.35 ≈ 6.4, মানে valley একটু elongated।
(0, 0) point-এ local minimum — দুইটা positive eigenvalue confirm করে। কিন্তু condition number 6.4, তাই gradient descent একটু zigzag করবে। গুরু বলে — 'রাস্তা সোজা না হইলে GPS (Hessian) লাগে!'
ML-এ কোথায় লাগে?
মনে রাখার ট্রিক
Hessian = রাস্তার GPS Map। Gradient বলে 'নিচে যাও' (direction), Hessian বলে 'রাস্তা smooth না bumpy' (curvature)। Positive eigenvalues = bowl (minimum), Negative = dome (maximum), Mixed = horse saddle। মনে রাখ — গুরু বলেছে 'ঢাকার রাস্তায় GPS ছাড়া গাড়ি চালাও না, ML-এ Hessian ছাড়া optimize করো না!'