Skip to content
View chr13b's full-sized avatar

Block or report chr13b

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
chr13b/README.md

Hi, I'm Christian Bertsch 👋

Machine learning for biology, health, and decision-making under uncertainty — from algorithms built from scratch to deep learning, LLMs, and provable guarantees.

🎓 MSc @ ETH Zürich  ·  🔬 ML × computational biology  ·  📍 Zürich / Basel


About me

I build end-to-end machine-learning pipelines and care about getting the whole pipeline right — leakage-aware validation, honest metrics, and reproducibility — not just the model. My work spans applied ML in biology and healthcare, probabilistic / trustworthy ML, and a few data-science hackathons. I'm equally comfortable implementing a method from first principles in NumPy and wiring up PyTorch, BoTorch, or an LLM-backed RAG system.

  • 🧬 Domains: protein structure & design, genomics, clinical & mobile-health data, molecular simulation
  • 🤖 Methods: deep learning, foundation-model fine-tuning, LLMs & RAG, Gaussian processes & Bayesian optimization, formal verification
  • 🧪 Principle: cross-validation over leaderboard-chasing; I report what actually reproduces

🚀 Featured projects

Project What it is Highlights
OpenFold3 — PDE10A Domain Adaptation Fine-tuning the OpenFold3 structure-prediction model for PDE10A protein–ligand pose prediction via distribution-aware, PDB-scale data augmentation +0.20 PL LDDT and −2.3 Å ligand RMSD on a held-out set · foundation-model fine-tuning
GP-BayesOpt for Antibody Design Gaussian-process surrogate + multi-task Bayesian optimization over ESM-2 protein embeddings GP predicts developability/specificity at R² ≈ 0.86 / 0.97 on real lab data; closed-loop BO beats random search (2.26 vs 1.45) · BoTorch · GPyTorch
DeepPoly Robustness Verifier Sound neural-network verifier that proves L∞ robustness via convex relaxation + learnable ReLU bounds 69/70 test cases correct, 0 unsound certifications, across 13 networks · PyTorch (autograd)
LLM Post-Training Recipes Lab An autonomous, git-ratcheted loop that searches SFT/DPO post-training recipes for small instruct models Reproducible evals and honest negative results · SFT · DPO
Custom RAG Challenge Retrieval-augmented generation that grounds GPT-4o answers in a scraped-web corpus, with source attribution Cleaning pipeline cuts the corpus ~9× (17 GB → 1.9 GB); live Gradio demo · LangChain · Chroma · GPT-4o
Synthetic Market Sharpe Cross-sectional position sizing for a simulated market, optimizing the Sharpe ratio Packaged pipeline: feature builders, Bayesian/gradient-boosted regressors, and an attention-BiLSTM trained on a differentiable Sharpe loss · session-level CV

📚 More projects

Machine learning & deep learning

Computational biology & from-scratch algorithms

Health & sensing

Data-science hackathons

Tooling & open source

  • honest-loop — a Claude Code plugin for disciplined, self-falsifying experiment loops: propose one change, measure it against the noise, keep only real wins, and report the honest limits (the methodology behind the LLM post-training lab above)

🛠️ Tech stack

Python R PyTorch scikit-learn NumPy pandas Hugging Face LangChain Jupyter

Also: BoTorch / GPyTorch · OpenFold3 · Scanpy / AnnData · XGBoost / LightGBM · SHAP / Captum · Gradio · Chroma


📫 Get in touch

📧 Email  ·  💼 LinkedIn

Pinned Loading

  1. openfold3-pde10a-domain-adaption openfold3-pde10a-domain-adaption Public

    Fine-tuning OpenFold3 (4.0.0) for PDE10A protein–ligand pose prediction via distribution-aware PDB-scale data augmentation: +0.20 PL LDDT, −2.3 Å ligand RMSD on held-out.

    Python

  2. gp-bayesopt-antibody-design-lab gp-bayesopt-antibody-design-lab Public

    GP surrogate modelling + Bayesian optimization of antibody developability & specificity over ESM-2 embeddings on real LSSI-lab antibody data. Reproducible BoTorch/scikit-learn pipeline with a synth…

    Python

  3. deeppoly-robustness-verifier deeppoly-robustness-verifier Public

    Sound neural-network robustness verifier based on DeepPoly abstract interpretation, back-substitution + learnable ReLU (α) bounds certify L∞ adversarial robustness on MNIST/CIFAR-10 classifiers.

    Python

  4. llm-post-training-recipes-lab llm-post-training-recipes-lab Public

    An autonomous, git-ratcheted loop that searches SFT_DPO post-training recipes for small instruct models with reproducible evals and honest negative results.

    Python

  5. custom_RAG_challenge custom_RAG_challenge Public

    Retrieval-augmented Q&A over a large company-website corpus, LangChain + Chroma + GPT-4o with a Gradio UI. Built by the NaNsense team for the Datathon 2025 Gieni/Orderfox challenge.

    Jupyter Notebook

  6. synthetic-market-sharpe synthetic-market-sharpe Public

    Sharpe-maximizing position sizing for a simulated stock market from OHLC price bars and news headlines, feature engineering, gradient-boosted & Bayesian regressors, and an attention-BiLSTM trained …

    Jupyter Notebook