Statistical, ML and Neural Models of POS Tagging
#
‘HMM Inference: Forward and Viterbi Algorithms’ covers the portion:
- Forward Algorithm
- Viterbi Algorithm
- HMM inference for POS tagging
The complete Topic also includes:
- Maximum Entropy Markov Models
- Bidirectionality
- Neural-network models for POS tagging
HMM Inference: Forward and Viterbi Algorithms
#
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.
Temporal-Difference Learning II and DRL Taxonomy
#
One-step TD methods bootstrap after a single transition. Multi-step methods instead use several observed rewards before bootstrapping, forming a bridge between TD(0) and Monte Carlo learning.
Course Content covered in this module:
- Temporal-Difference Learning: n-step returns and TD(λ)
- Classification of Reinforcement Learning approaches, algorithms and applications:
- Model-Based versus Model-Free
- Value-Based versus Policy-Based
- On-Policy versus Off-Policy
The number of sampled steps controls how far learning looks ahead before it bootstraps.
Learning Objectives
#
By the end of this module, you should be able to:
Bayesian Learning
#
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.
Grammars, Parsing, and Morphological Processing
#
Natural-language sentences are more than sequences of words. Their words form phrases, and the way those phrases are grouped determines the sentence’s structure and meaning.
A grammar describes the structures that a language permits. A parser uses that grammar to discover the hidden structure of a particular sentence.
Course Content
#
- Grammars and sentence structure
- What makes a good grammar
- A bottom-up chart parser
- Probabilistic Context-Free Grammars
- Probabilistic CKY parsing of PCFGs
- Ways to learn PCFG rule probabilities
- Problems with PCFGs
- Improving PCFGs by splitting non-terminals and using lexicalised CFGs
Learning Objectives
#
- Explain why sentence structure is necessary for resolving ambiguity.
- Represent a grammar using terminals, non-terminals, productions, and a start symbol.
- Recognise the defining restriction of a Context-Free Grammar.
- Construct and interpret a simple parse tree.
- Compare top-down and bottom-up parsing.
- Explain how a chart prevents repeated parsing work.
- Distinguish active arcs, completed constituents, the agenda, and the chart.
- Explain morphological analysis and generation using finite-state models.
Big Picture
#
flowchart TD
A["Sentence"] --> B["Grammar: allowed structures"]
B --> C["Parser: search for structure"]
C --> D["Parse tree"]
D --> E["Interpretation"]
style A fill:#E1F5FE
style B fill:#C8E6C9
style C fill:#FFF9C4
style D fill:#EDE7F6
style E fill:#E1F5FE
1. Why Sentence Structure Matters ☆
#
Knowing the meanings of individual words is not enough to determine the meaning of a complete sentence. We must also know which words belong together.
Training at scale requires more than dividing data between GPUs. A platform must decide where model state lives, who computes gradients, how updates are combined, and how information moves between devices.
This page focuses on the Parameter Server model and the practical constraints that determine whether adding resources makes training faster.
Topics covered:
- Parameter servers, workers, and independent scaling of storage and computation
- Training-state memory and parameter sharding
- Distributed loss, gradient aggregation, and the pull–compute–push cycle
- Communication costs, RDMA, MPI, PCIe, and NVLink
- Global batch size, learning-rate scaling, and warm-up
- Monitoring, fault recovery, and sparse versus dense workloads
Learning Objectives
#
By the end of this page, you should be able to:
Value-Based DRL: Function Approximation
#
Tabular methods store a separate value for every state or state-action pair. This becomes impractical when the state space is very large, continuous or represented by raw observations. Function approximation replaces this table with a parameterised function that can learn from observed states, generalise to related states and predict values for states not seen during training.
Course Content covered in this module:
- Function approximation
- Feature Construction for Linear Methods:
- Tile Coding
- Asymmetric Tile Coding
- Linear function approximation
- Semi-Gradient TD methods
- Off-policy function approximation and TD divergence
- TD-Gammon
Instead of memorising one value per state, the agent learns parameters shared across many states.
Learning Objectives
#
By the end of this module, you should be able to:
Distributed Deep Learning: Synchronisation and Communication
#
Distributed training divides computation between workers, but those workers rarely finish together. A training system must decide when to update the model, how much outdated information to accept, and how to reduce communication.
Relevant themes from the content outline:
- Asynchronous parallelism and parameter staleness
- Effects on convergence and variance
- System and program optimisation for neural networks
- Communication–computation trade-offs
The Parameter Server model provides the architectural foundation. Here, the focus is on the policies that determine its performance.
Ensemble Learning
#
Ensemble Learning is a machine learning approach where we combine multiple models to produce a stronger final prediction.
Instead of depending on one model, an ensemble uses a group of models and combines their outputs.
The main idea is simple:
Many weak or moderately good models can work together to produce a better and more stable model.
Key takeaway:
Ensemble Learning improves prediction by combining several models.
ML System Optimisation
#
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.
Unsupervised Learning
#
Unsupervised Learning is used when we have input data but no target labels.
The model is not told the correct answer. Instead, it tries to discover hidden structure in the data.
- K-means Clustering and variants
- Review of EM algorithm
- GMM based Soft Clustering
- Applications
Supervised vs Unsupervised Learning
#
| Aspect | Supervised Learning | Unsupervised Learning |
|---|
| Data contains target label? | Yes | No |
| Learns from | Input-output pairs | Input features only |
| Main goal | Predict output | Discover structure |
| Example task | Classification, regression | Clustering |
| Example algorithm | Logistic regression, decision tree | K-means, GMM |
- Works on unlabelled raw data.
- The algorithm discovers hidden patterns without prior knowledge of outcomes.
- Requires no human intervention during training.
- Does not make direct predictions — it groups or organises data instead.
- Carries a higher risk because there’s no ground truth to verify results.
- Common techniques include Clustering, Association, and Dimensionality Reduction.
The most common example is clustering, where similar records are grouped together.