What is structured learning?
structured-predictionmachine-learningcrfpython
Abstraction: Introduction to structured prediction as generalization of classification and regression
Key points:
- Structured prediction generalizes classification and regression: instead of predicting a label or number, the target is a complex object (sequence, graph, parse tree).
- Core formula: predict y* = argmax_y f(x, y), where f is a compatibility function; enables arbitrary output structures as long as argmax is tractable.
- PyStruct implements f as a linear model w^T * joint_feature(x, y), with pairwise energy decomposition over nodes V and edges E of a graph.
- The argmax (inference) is delegated to third-party solvers (e.g., graph cuts, belief propagation); learning w is the core PyStruct contribution.
- Speech-to-text example: predicting word sequences jointly preserves context ("car door" vs "car boar"), unlike independent per-word classification.
- Conditional Random Fields (CRFs) are the dominant tool for constructing tractable compatibility functions f.
Connections: Pystruct · Structured Prediction · Conditional Random Fields · Supervised Learning