5.5 KiB
5.5 KiB
thesis
thesis
BGU MSc thesis on the ROLL method (Rate Optimized Likelihood Loss). See impl for the implementation project this thesis documents.
Architecture
main.tex— root document; defines all title/author/supervisor commands, includes all chaptersMain_pages/— cover_page, title_page, abstract, acknowledgements, abstract_heb, cover_hebcontent/<chapter>/— one folder per chapter with its own .tex filecontent/images/— shared image path (set via\graphicspath)bibliography/thesis.bib— referencesbibliography/unsrtnat_adjusted_for_bgu_thesis.bst— custom BGU bibliography style (do not edit)
Conventions
- Thesis metadata (title, author, supervisor, month, year) defined as commands at top of
main.tex - Hebrew title/author/supervisor have
hesuffix commands (\thesistitlehe, etc.) - Both English and Hebrew ToC, abstract, and cover pages are required by BGU
- Chapters added via
\input{content/<chapter>/<chapter>}with a matching\addtocontents{tocheb}line - Build engine: pdflatex (uses
\usepackage[utf8x]{inputenc}, not xelatex) - Math notation: data points are bold (
\mathbf{x}_i); batches are\mathcal{B}_0/\mathcal{B}_1 - KDE background (general technique) in Ch. 2 (
sec:kde-background); Ch. 3 back-references it sec:imbalanced-tpr-fprandsec:neyman-pearsonlive in Ch. 2; Ch. 3sec:problem-formulation\Cref's them — do not rename
Mentor Direction (2026-08-17)
Primary narrative focus agreed with mentor:
- Main story: noise resistance and AUC optimization — this is the thesis core
- Hero method:
roll-aoc(AUC variant) — primary contribution - Primary competitor:
libauc-auroc(Yuan et al. AUCMLoss + PESG) — already implemented - Single-point optimization (
roll-tpr90): touch on briefly as secondary result - Pacing: get to the differentiating, strong results quickly — don't bury the lede
Baselines (all in impl/src/roll.py + impl/experiments/keel/_base.py)
| Experiment name | Class | What it is |
|---|---|---|
bce-weighted |
BCE + pos_weight | Standard imbalance fix |
libauc-auroc |
libauc_auc_loss + PESG |
Yuan et al. 2021 compositional AUC — primary AUC competitor |
gce-0.7 |
gce_loss |
Generalized Cross-Entropy (noise-robust) |
mae |
mae_loss |
MAE loss (noise-robust) |
focal-loss |
focal_loss |
Focal Loss |
roll-aoc |
kernelized_roll_aoc |
ROLL AUC variant — hero method |
roll-tpr90 |
kernelized_roll_tpr |
ROLL TPR@FPR variant — secondary result |
Note: libauc-auroc requires PESG optimizer (not Adam) — already wired up in impl.
Chapter Structure
See subnodes for per-chapter guidelines and section details.
| Ch. | Title | File | Target |
|---|---|---|---|
| 1 | Introduction | content/introduction/introduction.tex |
4–6 pp |
| 2 | Background / Related Work | content/related_work/related_work.tex |
15–20 pp |
| 3 | Method | content/method/method.tex |
~30 pp |
| 4 | Experiments | content/experiments/experiments.tex |
15–20 pp |
| 5–6 | Discussion + Conclusion | content/discussion_and_conclusions/ |
8–12 pp |
Gotchas
- Template uses
utf8xinputenc, which requires theucsnix/texlive package - Hebrew rendering via
babel-hebrew(pdflatex approach, not fontspec/xelatex) - Example images in
content/related_work/images/are from the template — safe to delete flake.nixusesrecon the derivation sobuildInputsis in scope for PATH exportnix developdevShell includes python3+sympy — use it to verify math claims, never check mentally- KDE backward pass uses inverse-function-theorem approach deliberately (user must explain it verbally)
- Correct gradient of threshold w.r.t. negative-class score: σ'(τ−x_i) / Σ_j σ'(τ−x_j) — sympy-verified
- (NIX BUILD) New .tex files must be
git add'ed beforenix build. Nix flakes use git to enumerate source files; untracked files are invisible to the build. Symptom: silent LaTeX failure — TOC, LoF, and LoT all appear empty in the output PDF. Fix:git add <new-file>, then rebuild.
Key Files
flake.nix— Nix build;nix buildproducesresult/main.pdf;nix developfor dev shellflake.lock— pinned to nixpkgs-unstable as of 2026-06-16main.tex— fill in\thesistitle,\thesisauthorname,\thesissupervisername,\thesismonth,\thesisyear
Subnodes
- thesis/introduction — Ch. 1 guidelines: structure, length, what to include
- thesis/related-work — Ch. 2 section structure, placement markers, label conventions
- thesis/method — Ch. 3 section status table, derivation gotchas
- thesis/experiments — Ch. 4 data sources, key results, section status
- thesis/discussion — Ch. 5–6 guidelines: failure modes, future work
- thesis/todos — project TODOs
- thesis/citations — sources justifying implementation choices (architectures, baselines)
- thesis/work-history/recent — session work log