From c9da7d0374c4098c4fd940d27b60c8ce45ed48a0 Mon Sep 17 00:00:00 2001 From: Etienne Dreyer Date: Mon, 26 Dec 2022 10:24:20 +0200 Subject: [PATCH] Fixed issue of subsection headers without cite. Affects Classification section. --- HEPML.tex | 6 +++--- README.md | 8 ++++++++ make_md.py | 6 ++++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/HEPML.tex b/HEPML.tex index 086b72b..2815729 100644 --- a/HEPML.tex +++ b/HEPML.tex @@ -47,8 +47,8 @@ \item \textbf{Classification} \\\textit{Given a feature space $x\in\mathbb{R}^n$, a binary classifier is a function $f:\mathbb{R}^n\rightarrow [0,1]$, where $0$ corresponds to features that are more characteristic of the zeroth class (e.g. background) and $1$ correspond to features that are more characteristic of the one class (e.g. signal). Typically, $f$ will be a function specified by some parameters $w$ (e.g. weights and biases of a neural network) that are determined by minimizing a loss of the form $L[f]=\sum_{i}\ell(f(x_i),y_i)$, where $y_i\in\{0,1\}$ are labels. The function $\ell$ is smaller when $f(x_i)$ and $y_i$ are closer. Two common loss functions are the mean squared error $\ell(x,y)=(x-y)^2$ and the binary cross entropy $\ell(x,y)=y\log(x)+(1-y)\log(1-x)$. Exactly what `more characteristic of' means depends on the loss function used to determine $f$. It is also possible to make a multi-class classifier. A common strategy for the multi-class case is to represent each class as a different basis vector in $\mathbb{R}^{n_\text{classes}}$ and then $f(x)\in[0,1]^{n_\text{classes}}$. In this case, $f(x)$ is usually restricted to have its $n_\text{classes}$ components sum to one and the loss function is typically the cross entropy $\ell(x,y)=\sum_\text{classes $i$} y_i\log(x)$.} \begin{itemize} - \item \textbf{Parameterized classifiers}~\cite{Baldi:2016fzo,Cranmer:2015bka,Nachman:2021yvi}. - \\\textit{A classifier that is conditioned on model parameters $f(x|\theta)$ is called a parameterized classifier.} + \item \textbf{Parameterized classifiers}~\cite{Baldi:2016fzo,Cranmer:2015bka,Nachman:2021yvi} + \\\textit{A classifier that is conditioned on model parameters $f(x|\theta)$ is called a parameterized classifier.} \item \textbf{Representations} \\\textit{There is no unique way to represent high energy physics data. It is often natural to encode $x$ as an image or another one of the structures listed below.} \begin{itemize} @@ -67,7 +67,7 @@ \item \textbf{Physics-inspired basis}~\cite{Datta:2019,Datta:2017rhs,Datta:2017lxt,Komiske:2017aww,Butter:2017cot,Grojean:2020ech} \\\textit{This is a catch-all category for learning using other representations that use some sort of manual or automated physics-preprocessing.} \end{itemize} - \item Targets + \item \textbf{Targets} \begin{itemize} \item \textbf{$W/Z$ tagging}~\cite{deOliveira:2015xxd,Barnard:2016qma,Louppe:2017ipp,Sirunyan:2020lcu,Chen:2019uar,1811770,Dreyer:2020brq,Kim:2021gtv} \\\textit{Boosted, hadronically decaying $W$ and $Z$ bosons form jets that are distinguished from generic quark and gluon jets by their mass near the boson mass and their two-prong substructure.} diff --git a/README.md b/README.md index e6f4e23..d763ca2 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,8 @@ The purpose of this note is to collect references for modern machine learning as * [Approximating Likelihood Ratios with Calibrated Discriminative Classifiers](https://arxiv.org/abs/1506.02169) * [E Pluribus Unum Ex Machina: Learning from Many Collider Events at Once](https://arxiv.org/abs/2101.07263) + * Representations + * Jet images * [How to tell quark jets from gluon jets](https://doi.org/10.1103/PhysRevD.44.2025) @@ -188,6 +190,8 @@ The purpose of this note is to collect references for modern machine learning as * [Deep-learned Top Tagging with a Lorentz Layer](https://arxiv.org/abs/1707.08966) [[DOI](https://doi.org/10.21468/SciPostPhys.5.3.028)] * [Resurrecting $b\bar{b}h$ with kinematic shapes](https://arxiv.org/abs/2011.13945) + * Targets + * $W/Z$ tagging * [Jet-images — deep learning edition](https://arxiv.org/abs/1511.05190) [[DOI](https://doi.org/10.1007/JHEP07(2016)069)] @@ -482,6 +486,8 @@ The purpose of this note is to collect references for modern machine learning as * [Machine learning-based jet and event classification at the Electron-Ion Collider with applications to hadron structure and spin physics](https://arxiv.org/abs/2210.06450) * [Testing of KNO-scaling of charged hadron multiplicities within a Machine Learning based approach](https://arxiv.org/abs/2210.10548) [[DOI](https://doi.org/10.22323/1.414.1188)] + * Learning strategies + * Hyperparameters * [Evolutionary algorithms for hyperparameter optimization in machine learning for application in high energy physics](https://arxiv.org/abs/2011.04434) [[DOI](https://doi.org/10.1140/epjc/s10052-021-08950-y)] @@ -578,6 +584,8 @@ The purpose of this note is to collect references for modern machine learning as * [Background Modeling for Double Higgs Boson Production: Density Ratios and Optimal Transport](https://arxiv.org/abs/2208.02807) * [Optimal transport for a global event description at high-intensity hadron colliders](https://arxiv.org/abs/2211.02029) + * Fast inference / deployment + * Software * [On the impact of modern deep-learning techniques to the performance and time-requirements of classification models in experimental high-energy physics](https://arxiv.org/abs/2002.01427) [[DOI](https://doi.org/10.1088/2632-2153/ab983a)] diff --git a/make_md.py b/make_md.py index d186837..4307ce3 100644 --- a/make_md.py +++ b/make_md.py @@ -181,7 +181,7 @@ def convert_from_bib(myline): myfile_out.write("\n") pass pass - elif "cite" in line: + else: mybuffer = "" for j in range(itemize_counter-1): mybuffer+=" " @@ -193,7 +193,7 @@ def convert_from_bib(myline): myfile_out.write(mybuffer+" * "+convert_from_bib(cite)+"\n") pass myfile_out.write("\n") - else: + elif "cite" in line: myfile_out.write(mybuffer+"* "+line.split(r"~\cite{")[0].split(r"\item")[1]+"\n\n") mycites = line.split(r"~\cite{")[1].split("}")[0].split(",") for cite in mycites: @@ -201,4 +201,6 @@ def convert_from_bib(myline): pass myfile_out.write("\n") pass + else: + myfile_out.write(mybuffer+"* "+line.split(r"\item")[1]+"\n\n") pass