Hidden Markov Models create two closely related inference problems:
Likelihood: How probable is an observed sequence under the model?
Decoding: Which hidden-state sequence most probably generated the observations?
The Forward Algorithm solves the likelihood problem, while the Viterbi Algorithm solves the decoding problem. Both use dynamic programming and a trellis, but they combine paths differently.
Bayesian Learning is a probabilistic approach to machine learning.
Instead of only asking, “Which output should the model predict?”, Bayesian Learning asks:
Given the data we have observed, how likely is each hypothesis, class, or parameter value?
This makes Bayesian Learning useful when uncertainty matters.
It is especially important in classification, probabilistic modelling, generative models, and situations where we want to combine prior knowledge with observed data.
ML System Optimisation studies how to make machine learning workloads faster, more scalable, more memory-efficient, and suitable for different hardware platforms.
The subject connects machine learning algorithms with the systems that train and deploy them: multi-core CPUs, GPUs, distributed clusters, cloud platforms, edge devices, and embedded systems.
ML system optimisation = model quality + computational efficiency + hardware awareness + scalability
The learning path begins with performance measurement and parallel computing, progresses through distributed machine learning and scale-out platforms, and concludes with model compression and resource-constrained deployment.
performing a specific operation (like addition or multiplication) on members of a set always produces a result that belongs to the same set
idea of closure is fundamental to defining a Vector space because it ensures that performing arithmetic operations (addition and scalar multiplication) on vectors within a set does not produce a new element outside that set.
the mathematical framework for understanding and controlling how quantities change
the mathematics of change and accumulation
It helps answer:
How fast is something changing right now?
What happens when inputs change slightly?
Where is something maximum or minimum?
It answers two big questions:
How fast is something changing right now? → derivatives (differentiation)
How much has accumulated over an interval? → integrals (integration)
flowchart TD
A[Calculus] --> B[Limits]
B --> C[Continuity]
B --> D[Derivatives]
B --> E[Integrals]
D --> F[Optimisation: maxima/minima]
D --> G[ML: gradients & learning]
E --> H[Accumulation: area/total change]