Files
roam/thesis.org
T
2026-08-29 06:59:35 +03:00

100 lines
5.5 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
: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