2

I'm trying to replicate the style of the following pseudocode taken from 'The Elements of Statistical Learning'.

I've tried with algorithm,algorithmic and enumerate (for the item) but I haven't reached the result below...

pseudocode

1 Answer 1

3

This is just a nested enumerate inside an algorithm environment:

enter image description here

\documentclass{report}

\usepackage{algorithm,amsmath,lipsum,xcolor,caption}
\DeclareMathOperator{\sgn}{sign}
\DeclareCaptionFont{lightblue}{\color{blue}}
\captionsetup[algorithm]{labelfont={bf,lightblue}, textfont={it}}
\renewcommand{\thealgorithm}{\thechapter.\arabic{algorithm}}

\begin{document}

\setcounter{chapter}{10}% Just for this example
\lipsum[1]

\begin{algorithm}[htb]
  \caption{AdaBoost.M1.}
  \begin{enumerate}
    \item
    Initialize the observation weights $w_i = 1/N$, $i = 1, 2, \dots, N$

    \item
    For $m = 1$ to $M$:
    \begin{enumerate}
      \item
      Fit a classifier $G_m(x)$ to the training data using weights $w_i$.

      \item
      Compute
      \[
        \text{err}_m = \frac{\sum_{i=1}^N w_i I(y_i \neq G_m(x_i))}{\sum_{i=1}^N w_i}.
      \]

      \item
      Compute $\alpha_m = \log((1 - \text{err}_m) / \text{err}_m)$.

      \item
      Set $w_i \leftarrow w_i \cdot \exp [\alpha_m \cdot I(y_i \neq G_m(x_i))]$, $i = 1, 2, \dots, N$.
    \end{enumerate}

  \item
  Output $G(x) = \sgn \bigl[ \sum_{m = 1}^M \alpha_m G_m(x) \bigr]$.
  \end{enumerate}
\end{algorithm}

\lipsum[2]

\end{document}
1
  • this looks really neat to me Commented Aug 31, 2019 at 19:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .