# Module 5 — Tiny CNN results

## Test accuracy

On a held-out **20% test split** (180 patches), the tiny CNN reached **100% test accuracy** after 12 epochs. That is expected on synthetic tiles with clear colour/texture differences — it proves the training loop works, not that we are ready for Derbyshire.

## One confusion

The confusion matrix is perfectly diagonal — **no misclassifications** on the test set. If I had to guess where a real model would struggle, **moorland vs woodland** would be the pair: both can look dark and textured from above. On this synthetic data, moorland has explicit purple-brown blobs that the network learned reliably.

## Limitation for real Peak District imagery

This toy model uses **32×32 synthetic RGB patches** with no georeferencing, no class imbalance, no shadows, no multispectral bands and no APGB flight-date variation. Operational Bluesky tiles are **512×512**, semantically segmented **per pixel**, and merged with Ordnance Survey data. Applying this model to real orthophotos would fail immediately — it has never seen real moor, cloud shadow or Taylor-schema subclass ambiguity.

## Outputs

- Confusion matrix: `outputs/charts/module5_confusion.png`
- Prediction mosaic: `outputs/charts/module5_land_map.png`

The prediction map matches the three horizontal bands in the input mosaic (grass → moor → woodland), as expected.
