100 lines
5.5 KiB
Org Mode
100 lines
5.5 KiB
Org Mode
:PROPERTIES:
|
||
:ID: 6294e2be-6189-4473-b363-a1dd9a75ff9b
|
||
:END:
|
||
|
||
#+title: thesis
|
||
#+filetags: :project: :knowledge:
|
||
|
||
* thesis
|
||
|
||
BGU MSc thesis on the ROLL method (Rate Optimized Likelihood Loss). See [[id:d23011c5-d925-4f14-b05a-0a1f4bdbe860][impl]] for the implementation project this thesis documents.
|
||
|
||
** Architecture
|
||
|
||
- =main.tex= — root document; defines all title/author/supervisor commands, includes all chapters
|
||
- =Main_pages/= — cover_page, title_page, abstract, acknowledgements, abstract_heb, cover_heb
|
||
- =content/<chapter>/= — one folder per chapter with its own .tex file
|
||
- =content/images/= — shared image path (set via =\graphicspath=)
|
||
- =bibliography/thesis.bib= — references
|
||
- =bibliography/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 =he= suffix 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-fpr= and =sec:neyman-pearson= live in Ch. 2; Ch. 3 =sec: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 =utf8x= inputenc, which requires the =ucs= nix/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.nix= uses =rec= on the derivation so =buildInputs= is in scope for PATH export
|
||
- =nix develop= devShell 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 before =nix 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 build= produces =result/main.pdf=; =nix develop= for dev shell
|
||
- =flake.lock= — pinned to nixpkgs-unstable as of 2026-06-16
|
||
- =main.tex= — fill in =\thesistitle=, =\thesisauthorname=, =\thesissupervisername=, =\thesismonth=, =\thesisyear=
|
||
|
||
** Subnodes
|
||
|
||
- [[id:c4a0d60f-49d3-4185-8c5b-f8a5a10a2ccc][thesis/introduction]] — Ch. 1 guidelines: structure, length, what to include
|
||
- [[id:cd785954-008e-4b64-957d-25d1dbeac127][thesis/related-work]] — Ch. 2 section structure, placement markers, label conventions
|
||
- [[id:0543ac39-af9b-40fd-9973-e60576a20695][thesis/method]] — Ch. 3 section status table, derivation gotchas
|
||
- [[id:c41756b5-fd5f-456e-ab2b-18f27db7d61d][thesis/experiments]] — Ch. 4 data sources, key results, section status
|
||
- [[id:9b50caf2-d259-4848-b7f5-22a9288e8ba2][thesis/discussion]] — Ch. 5–6 guidelines: failure modes, future work
|
||
- [[id:151159e8-1105-4a84-af9c-72d31c5e0660][thesis/todos]] — project TODOs
|
||
- [[id:bd98ede2-d6ec-4e93-8d10-4800fe528ff7][thesis/citations]] — sources justifying implementation choices (architectures, baselines)
|
||
- [[id:2c598296-d2f0-4333-9cdd-3625f8375e03][thesis/work-history/recent]] — session work log
|
||
|
||
* todo
|
||
|
||
** TODO Basic structure - take it into account
|
||
** TODO Import and make sense of all references
|
||
** TODO Continue to auto-summarize references continuously
|