Quickstart¶
PMH is the matching principle from main.pdf: estimate $\hat{\Sigma}_{\text{task}}$, train with matched PMH on $h$, run Step 5 on deploy holdout. Pick the closest task in T1–T7 order.
pip install matching-pmh torch
pip install "matching-pmh[sklearn]" # T1
pmh-train try --quick # train + ship verdict (see docs/START.md)
pmh-train doctor
pmh-train evaluate --demo
pmh-train route --list
T1 — frozen features (sklearn, paper block 1)¶
from pmh import load_g2_demo_arrays, evaluate_baseline_vs_pmh
xs, ys, xt, yt = load_g2_demo_arrays()
print(evaluate_baseline_vs_pmh(xs, ys, xt, yt, preset="t1_synthetic_sklearn").summary())
T4A — vision domain shift (PyTorch, block 4)¶
from pmh import check_applicability
print(check_applicability(stack="pytorch", has_target_domain=True).summary())
Step 5 + benchmark arms¶
from pmh import evaluate_robust_fit, format_five_step_guide
from pmh.benchmark.protocol import run_benchmark_protocol
print(format_five_step_guide("domain_shift"))
# report = run_benchmark_protocol(...) # matched / wrong / isotropic + geometry
Ship only when matched beats wrong-direction and isotropic on deploy holdout (WHEN_PMH_HELPS).
Next¶
| Goal | Doc |
|---|---|
| Deploy-change table (T1–T7) | README |
| All task pages | tasks/index.md |
| Short theory spine | PRINCIPLE.md |
| Theory + theorems | main.pdf |
| Honest expectations | Will PMH help? |