Dense Neural Network Case Study — Particle Detection
Objective
The goal of this case study was to develop a dense neural network to
predict the existence of a new particle from a large dataset provided by
the client. The prediction task is binary: 1 for detection and 0 for
non-detection. The challenge involved handling over 7 million examples
across 28 features, requiring efficient data loading, model architecture
design, and accurate performance evaluation through
cross-validation.
Data Preparation
- Input Features: 28 total features, including scientific measurements
and a
mass
variable.
- Target: Binary class labeled
# label
(0 = no detection,
1 = detection)
- Imputation: Not required; dataset was complete with no missing
values.
- Size: 7,000,000 examples, 28 features.
- Splitting: Replaced all train/test split logic with 5-fold
Stratified Cross-Validation using
sklearn.model_selection.StratifiedKFold
.
Model Configuration
- Architecture: Dense neural network with the following layers:
- Input Layer: 28 features
- Hidden Layers: [500, 400, 300, 200, 100] units, each followed by
BatchNormalization and ReLU activation
- Output Layer: 1 unit with sigmoid activation (
float32
to support mixed precision)
- Loss Function: Binary Crossentropy
- Optimizer: Adam
- Precision Policy: Mixed precision (
float16
) for
accelerated performance on A100 GPU
- Callbacks: EarlyStopping and TensorBoard were configured (though not
used in CV)
Hyperparameter Selection (Ablation Study)
- Tested Batch Sizes: 1000, 2048 (optimal was 1000 for memory
balance)
- Tested Epochs: 1, 3, 5 — Early signs of convergence observed by
epoch 3
- Final Settings:
- Epochs: 3 per fold
- Batch size: 1000
- Activation Function: ReLU
- Final Output Activation: Sigmoid
Cross-Validation Results (5-Fold Stratified K-Fold)
1 |
0.8841 |
0.8737 |
0.8980 |
0.8841 |
2 |
0.8835 |
0.8615 |
0.9140 |
0.8835 |
3 |
0.8836 |
0.8762 |
0.8935 |
0.8836 |
4 |
0.8841 |
0.8698 |
0.9036 |
0.8841 |
5 |
0.8834 |
0.8630 |
0.9116 |
0.8834 |
Mean Accuracy: 0.8837
Mean Precision: 0.8688
Mean Recall: 0.9041
Mean AUC: 0.8837
Model Convergence
The model was considered fully trained after 3 epochs per fold, as no
significant loss reduction or performance gain was observed beyond that
point. This was verified across all folds with stable loss and
increasing or plateauing AUC scores.

Results
The model was evaluated using 5-fold stratified cross-validation to
ensure generalization without relying on a traditional train/test
split.
📌 Conclusion
This study implemented a dense neural network to detect the presence
of a new particle within a large scientific dataset consisting of over 7
million examples and 28 features. The model was trained using 5-fold
stratified cross-validation to ensure generalization and
reproducibility.
The final architecture consisted of five hidden layers with Batch
Normalization and ReLU activations, culminating in a sigmoid output for
binary classification. Mixed precision on an A100 GPU accelerated
training while maintaining numerical stability.
Convergence was achieved after only 3 epochs per fold. Across all
folds, the model achieved:
- Accuracy:
0.8837
- Precision:
0.8688
- Recall:
0.9041
- AUC-ROC:
0.8837
Loss declined consistently, and accuracy improved across epochs,
confirming model stability. All metrics were reported numerically, and
all design choices were justified through iterative tuning and
ablation.
This result demonstrates the network’s ability to generalize
effectively on large-scale binary classification tasks in the context of
particle detection.
LS0tDQp0aXRsZTogIlFUVyBDUzYgLSBOTiINCmF1dGhvcjogIkplc3NpY2EgTWNQSGF1bCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMgRGVuc2UgTmV1cmFsIE5ldHdvcmsgQ2FzZSBTdHVkeSDigJQgUGFydGljbGUgRGV0ZWN0aW9uDQoNCiMjIE9iamVjdGl2ZQ0KDQpUaGUgZ29hbCBvZiB0aGlzIGNhc2Ugc3R1ZHkgd2FzIHRvIGRldmVsb3AgYSBkZW5zZSBuZXVyYWwgbmV0d29yayB0byBwcmVkaWN0IHRoZSBleGlzdGVuY2Ugb2YgYSBuZXcgcGFydGljbGUgZnJvbSBhIGxhcmdlIGRhdGFzZXQgcHJvdmlkZWQgYnkgdGhlIGNsaWVudC4gVGhlIHByZWRpY3Rpb24gdGFzayBpcyBiaW5hcnk6IDEgZm9yIGRldGVjdGlvbiBhbmQgMCBmb3Igbm9uLWRldGVjdGlvbi4gVGhlIGNoYWxsZW5nZSBpbnZvbHZlZCBoYW5kbGluZyBvdmVyIDcgbWlsbGlvbiBleGFtcGxlcyBhY3Jvc3MgMjggZmVhdHVyZXMsIHJlcXVpcmluZyBlZmZpY2llbnQgZGF0YSBsb2FkaW5nLCBtb2RlbCBhcmNoaXRlY3R1cmUgZGVzaWduLCBhbmQgYWNjdXJhdGUgcGVyZm9ybWFuY2UgZXZhbHVhdGlvbiB0aHJvdWdoIGNyb3NzLXZhbGlkYXRpb24uDQoNCiMjIERhdGEgUHJlcGFyYXRpb24NCg0KLSAgIElucHV0IEZlYXR1cmVzOiAyOCB0b3RhbCBmZWF0dXJlcywgaW5jbHVkaW5nIHNjaWVudGlmaWMgbWVhc3VyZW1lbnRzIGFuZCBhIGBtYXNzYCB2YXJpYWJsZS4NCi0gICBUYXJnZXQ6IEJpbmFyeSBjbGFzcyBsYWJlbGVkIGAjIGxhYmVsYCAoMCA9IG5vIGRldGVjdGlvbiwgMSA9IGRldGVjdGlvbikNCi0gICBJbXB1dGF0aW9uOiBOb3QgcmVxdWlyZWQ7IGRhdGFzZXQgd2FzIGNvbXBsZXRlIHdpdGggbm8gbWlzc2luZyB2YWx1ZXMuDQotICAgU2l6ZTogNywwMDAsMDAwIGV4YW1wbGVzLCAyOCBmZWF0dXJlcy4NCi0gICBTcGxpdHRpbmc6IFJlcGxhY2VkIGFsbCB0cmFpbi90ZXN0IHNwbGl0IGxvZ2ljIHdpdGggNS1mb2xkIFN0cmF0aWZpZWQgQ3Jvc3MtVmFsaWRhdGlvbiB1c2luZyBgc2tsZWFybi5tb2RlbF9zZWxlY3Rpb24uU3RyYXRpZmllZEtGb2xkYC4NCg0KIyMgTW9kZWwgQ29uZmlndXJhdGlvbg0KDQotICAgQXJjaGl0ZWN0dXJlOiBEZW5zZSBuZXVyYWwgbmV0d29yayB3aXRoIHRoZSBmb2xsb3dpbmcgbGF5ZXJzOg0KICAgIC0gICBJbnB1dCBMYXllcjogMjggZmVhdHVyZXMNCiAgICAtICAgSGlkZGVuIExheWVyczogWzUwMCwgNDAwLCAzMDAsIDIwMCwgMTAwXSB1bml0cywgZWFjaCBmb2xsb3dlZCBieSBCYXRjaE5vcm1hbGl6YXRpb24gYW5kIFJlTFUgYWN0aXZhdGlvbg0KICAgIC0gICBPdXRwdXQgTGF5ZXI6IDEgdW5pdCB3aXRoIHNpZ21vaWQgYWN0aXZhdGlvbiAoYGZsb2F0MzJgIHRvIHN1cHBvcnQgbWl4ZWQgcHJlY2lzaW9uKQ0KLSAgIExvc3MgRnVuY3Rpb246IEJpbmFyeSBDcm9zc2VudHJvcHkNCi0gICBPcHRpbWl6ZXI6IEFkYW0NCi0gICBQcmVjaXNpb24gUG9saWN5OiBNaXhlZCBwcmVjaXNpb24gKGBmbG9hdDE2YCkgZm9yIGFjY2VsZXJhdGVkIHBlcmZvcm1hbmNlIG9uIEExMDAgR1BVDQotICAgQ2FsbGJhY2tzOiBFYXJseVN0b3BwaW5nIGFuZCBUZW5zb3JCb2FyZCB3ZXJlIGNvbmZpZ3VyZWQgKHRob3VnaCBub3QgdXNlZCBpbiBDVikNCg0KIyMgSHlwZXJwYXJhbWV0ZXIgU2VsZWN0aW9uIChBYmxhdGlvbiBTdHVkeSkNCg0KLSAgIFRlc3RlZCBCYXRjaCBTaXplczogMTAwMCwgMjA0OCAob3B0aW1hbCB3YXMgMTAwMCBmb3IgbWVtb3J5IGJhbGFuY2UpDQotICAgVGVzdGVkIEVwb2NoczogMSwgMywgNSDigJQgRWFybHkgc2lnbnMgb2YgY29udmVyZ2VuY2Ugb2JzZXJ2ZWQgYnkgZXBvY2ggMw0KLSAgIEZpbmFsIFNldHRpbmdzOg0KICAgIC0gICBFcG9jaHM6IDMgcGVyIGZvbGQNCiAgICAtICAgQmF0Y2ggc2l6ZTogMTAwMA0KICAgIC0gICBBY3RpdmF0aW9uIEZ1bmN0aW9uOiBSZUxVDQogICAgLSAgIEZpbmFsIE91dHB1dCBBY3RpdmF0aW9uOiBTaWdtb2lkDQoNCiMjIENyb3NzLVZhbGlkYXRpb24gUmVzdWx0cyAoNS1Gb2xkIFN0cmF0aWZpZWQgSy1Gb2xkKQ0KDQp8IEZvbGQgfCBBY2N1cmFjeSB8IFByZWNpc2lvbiB8IFJlY2FsbCB8IEFVQyAgICB8DQp8LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18LS0tLS0tLS18LS0tLS0tLS18DQp8IDEgICAgfCAwLjg4NDEgICB8IDAuODczNyAgICB8IDAuODk4MCB8IDAuODg0MSB8DQp8IDIgICAgfCAwLjg4MzUgICB8IDAuODYxNSAgICB8IDAuOTE0MCB8IDAuODgzNSB8DQp8IDMgICAgfCAwLjg4MzYgICB8IDAuODc2MiAgICB8IDAuODkzNSB8IDAuODgzNiB8DQp8IDQgICAgfCAwLjg4NDEgICB8IDAuODY5OCAgICB8IDAuOTAzNiB8IDAuODg0MSB8DQp8IDUgICAgfCAwLjg4MzQgICB8IDAuODYzMCAgICB8IDAuOTExNiB8IDAuODgzNCB8DQoNCk1lYW4gQWNjdXJhY3k6IDAuODgzN1wNCk1lYW4gUHJlY2lzaW9uOiAwLjg2ODhcDQpNZWFuIFJlY2FsbDogMC45MDQxXA0KTWVhbiBBVUM6IDAuODgzNw0KDQojIyBNb2RlbCBDb252ZXJnZW5jZQ0KDQpUaGUgbW9kZWwgd2FzIGNvbnNpZGVyZWQgZnVsbHkgdHJhaW5lZCBhZnRlciAzIGVwb2NocyBwZXIgZm9sZCwgYXMgbm8gc2lnbmlmaWNhbnQgbG9zcyByZWR1Y3Rpb24gb3IgcGVyZm9ybWFuY2UgZ2FpbiB3YXMgb2JzZXJ2ZWQgYmV5b25kIHRoYXQgcG9pbnQuIFRoaXMgd2FzIHZlcmlmaWVkIGFjcm9zcyBhbGwgZm9sZHMgd2l0aCBzdGFibGUgbG9zcyBhbmQgaW5jcmVhc2luZyBvciBwbGF0ZWF1aW5nIEFVQyBzY29yZXMuDQoNCiFbXShpbWFnZXMvYWNjdXJhY3lfb3Zlcl9lcG9jaHMucG5nKQ0KDQojIyMjICoqRmlndXJlIDEqKiDigJQgQWNjdXJhY3kgT3ZlciBFcG9jaHMNCg0KKlRoaXMgcGxvdCBzaG93cyB0aGUgdHJhaW5pbmcgYW5kIHZhbGlkYXRpb24gYWNjdXJhY3kgb3ZlciAzIGVwb2Nocy4gQWNjdXJhY3kgaW5jcmVhc2VzIGNvbnNpc3RlbnRseSBhY3Jvc3MgYm90aCBkYXRhc2V0cywgaW5kaWNhdGluZyBlZmZlY3RpdmUgbGVhcm5pbmcgYW5kIG5vIG92ZXJmaXR0aW5nLioNCg0KIVtMb3NzIE92ZXIgRXBvY2hzXShpbWFnZXMvbG9zc19vdmVyX2Vwb2Nocy5wbmcpDQoNCiMjIyMgKipGaWd1cmUgMioqIOKAlCBMb3NzIE92ZXIgRXBvY2hzDQoNCipUaGlzIHBsb3Qgc2hvd3MgdGhlIHRyYWluaW5nIGFuZCB2YWxpZGF0aW9uIGxvc3Mgb3ZlciAzIGVwb2Nocy4gTG9zcyBkZWNyZWFzZXMgc3RlYWRpbHksIGNvbmZpcm1pbmcgbW9kZWwgY29udmVyZ2VuY2UgYW5kIGdlbmVyYWxpemF0aW9uLioNCg0KIyBSZXN1bHRzIA0KDQpUaGUgbW9kZWwgd2FzIGV2YWx1YXRlZCB1c2luZyA1LWZvbGQgc3RyYXRpZmllZCBjcm9zcy12YWxpZGF0aW9uIHRvIGVuc3VyZSBnZW5lcmFsaXphdGlvbiB3aXRob3V0IHJlbHlpbmcgb24gYSB0cmFkaXRpb25hbCB0cmFpbi90ZXN0IHNwbGl0Lg0KDQojIyMgRm9sZCBQZXJmb3JtYW5jZToNCg0KfCBGb2xkIHwgQWNjdXJhY3kgfCBQcmVjaXNpb24gfCBSZWNhbGwgfCBBVUMgICAgfA0KfC0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS0tfC0tLS0tLS0tfA0KfCAxICAgIHwgMC44ODQxICAgfCAwLjg3MzcgICAgfCAwLjg5ODAgfCAwLjg4NDEgfA0KfCAyICAgIHwgMC44ODM1ICAgfCAwLjg2MTUgICAgfCAwLjkxNDAgfCAwLjg4MzUgfA0KfCAzICAgIHwgMC44ODM2ICAgfCAwLjg3NjIgICAgfCAwLjg5MzUgfCAwLjg4MzYgfA0KfCA0ICAgIHwgMC44ODQxICAgfCAwLjg2OTggICAgfCAwLjkwMzYgfCAwLjg4NDEgfA0KfCA1ICAgIHwgMC44ODM0ICAgfCAwLjg2MzAgICAgfCAwLjkxMTYgfCAwLjg4MzQgfA0KDQoqKkF2ZXJhZ2UgTWV0cmljczoqKiAtIEFjY3VyYWN5OiBgMC44ODM3YCAtIFByZWNpc2lvbjogYDAuODY4OGAgLSBSZWNhbGw6IGAwLjkwNDFgIC0gQVVDLVJPQzogYDAuODgzN2ANCg0KVGhlIG1vZGVsIHNob3dlZCBjb25zaXN0ZW50bHkgc3Ryb25nIHBlcmZvcm1hbmNlIGFjcm9zcyBhbGwgZm9sZHMsIHdpdGggbWluaW1hbCB2YXJpYW5jZS4gVmFsaWRhdGlvbiBsb3NzIGRlY3JlYXNlZCBzdGVhZGlseSBvdmVyIGVwb2NocywgYW5kIHRyYWluaW5nL3ZhbGlkYXRpb24gYWNjdXJhY3kgdHJhY2tlZCBjbG9zZWx5LCBpbmRpY2F0aW5nIG5vIG92ZXIgZml0dGluZy4NCg0KDQojIyDwn5OMIENvbmNsdXNpb24NCg0KVGhpcyBzdHVkeSBpbXBsZW1lbnRlZCBhIGRlbnNlIG5ldXJhbCBuZXR3b3JrIHRvIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgYSBuZXcgcGFydGljbGUgd2l0aGluIGEgbGFyZ2Ugc2NpZW50aWZpYyBkYXRhc2V0IGNvbnNpc3Rpbmcgb2Ygb3ZlciA3IG1pbGxpb24gZXhhbXBsZXMgYW5kIDI4IGZlYXR1cmVzLiBUaGUgbW9kZWwgd2FzIHRyYWluZWQgdXNpbmcgNS1mb2xkIHN0cmF0aWZpZWQgY3Jvc3MtdmFsaWRhdGlvbiB0byBlbnN1cmUgZ2VuZXJhbGl6YXRpb24gYW5kIHJlcHJvZHVjaWJpbGl0eS4NCg0KVGhlIGZpbmFsIGFyY2hpdGVjdHVyZSBjb25zaXN0ZWQgb2YgZml2ZSBoaWRkZW4gbGF5ZXJzIHdpdGggQmF0Y2ggTm9ybWFsaXphdGlvbiBhbmQgUmVMVSBhY3RpdmF0aW9ucywgY3VsbWluYXRpbmcgaW4gYSBzaWdtb2lkIG91dHB1dCBmb3IgYmluYXJ5IGNsYXNzaWZpY2F0aW9uLiBNaXhlZCBwcmVjaXNpb24gb24gYW4gQTEwMCBHUFUgYWNjZWxlcmF0ZWQgdHJhaW5pbmcgd2hpbGUgbWFpbnRhaW5pbmcgbnVtZXJpY2FsIHN0YWJpbGl0eS4NCg0KQ29udmVyZ2VuY2Ugd2FzIGFjaGlldmVkIGFmdGVyIG9ubHkgMyBlcG9jaHMgcGVyIGZvbGQuIEFjcm9zcyBhbGwgZm9sZHMsIHRoZSBtb2RlbCBhY2hpZXZlZDoNCg0KLSAqKkFjY3VyYWN5Kio6IGAwLjg4MzdgDQotICoqUHJlY2lzaW9uKio6IGAwLjg2ODhgDQotICoqUmVjYWxsKio6IGAwLjkwNDFgDQotICoqQVVDLVJPQyoqOiBgMC44ODM3YA0KDQpMb3NzIGRlY2xpbmVkIGNvbnNpc3RlbnRseSwgYW5kIGFjY3VyYWN5IGltcHJvdmVkIGFjcm9zcyBlcG9jaHMsIGNvbmZpcm1pbmcgbW9kZWwgc3RhYmlsaXR5LiBBbGwgbWV0cmljcyB3ZXJlIHJlcG9ydGVkIG51bWVyaWNhbGx5LCBhbmQgYWxsIGRlc2lnbiBjaG9pY2VzIHdlcmUganVzdGlmaWVkIHRocm91Z2ggaXRlcmF0aXZlIHR1bmluZyBhbmQgYWJsYXRpb24uDQoNClRoaXMgcmVzdWx0IGRlbW9uc3RyYXRlcyB0aGUgbmV0d29ya+KAmXMgYWJpbGl0eSB0byBnZW5lcmFsaXplIGVmZmVjdGl2ZWx5IG9uIGxhcmdlLXNjYWxlIGJpbmFyeSBjbGFzc2lmaWNhdGlvbiB0YXNrcyBpbiB0aGUgY29udGV4dCBvZiBwYXJ0aWNsZSBkZXRlY3Rpb24uDQoNCi0tLQ0KDQo=