🧮ML গণিত গুরু
calculusকঠিন12 মিনিট

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 Matrix — n×n symmetric matrix (Schwarz's theorem অনুযায়ী)
\[\mathbf{H} = \begin{bmatrix} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots \\ \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots \\ \vdots & \vdots & \ddots \end{bmatrix}_{n \times n}\]

ব্যাখ্যা

Hessian কী বলে

Gradient বলে কোন direction-এ function বাড়ে/কমে (slope)। Hessian বলে সেই slope কত দ্রুত বদলাচ্ছে (curvature)। একটা valley-তে gradient ০ — কিন্তু valley টা wide নাকি narrow? Hessian বলে দেয়। Wide valley মানে small Hessian eigenvalues, narrow valley মানে large eigenvalues।

\[f(x + \Delta x) \approx f(x) + \nabla f^T \Delta x + \frac{1}{2} \Delta x^T \mathbf{H} \Delta x\]

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)।

\[\lambda_i > 0 \; \forall i \implies \text{local minimum}, \quad \lambda_i < 0 \; \forall i \implies \text{local maximum}\]

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।

\[\kappa(\mathbf{H}) = \frac{\lambda_{\max}}{\lambda_{\min}} \quad (\text{ছোট হইলে ভালো})\]

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)।

\[\theta_{t+1} = \theta_t - \mathbf{H}^{-1} \nabla f(\theta_t)\]

2D Function-এর Hessian Analysis

f(x, y) = x² + 4y² - 2xy function-এর (0, 0) point-এ Hessian বের করো। এইটা minimum, maximum, নাকি saddle?

Step 1: First derivatives

Gradient বের করি

\[\frac{\partial f}{\partial x} = 2x - 2y, \quad \frac{\partial f}{\partial y} = 8y - 2x\]

Step 2: Second derivatives

চারটা second derivative বের করি

\[\frac{\partial^2 f}{\partial x^2} = 2, \; \frac{\partial^2 f}{\partial y^2} = 8, \; \frac{\partial^2 f}{\partial x \partial y} = -2\]

Step 3: Hessian Matrix

Matrix form-এ সাজাই

\[\mathbf{H} = \begin{bmatrix} 2 & -2 \\ -2 & 8 \end{bmatrix}\]

Step 4: Eigenvalues

det(H - λI) = 0 solve করি

\[(2-\lambda)(8-\lambda) - 4 = 0 \implies \lambda^2 - 10\lambda + 12 = 0 \implies \lambda \approx 1.35, \; 8.65\]

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 করো না!'

#hessian#second-derivative#curvature#newtons-method#l-bfgs#loss-landscape#fisher-information