在 LaTeX 中设置伪代码样式

在 LaTeX 中设置伪代码样式

我正在尝试复制取自《统计学习要素》的以下伪代码的风格。

我已经尝试使用算法、算法和枚举(针对该项目),但我还没有达到以下结果......

伪代码

答案1

这只是一个嵌套的enumerate环境algorithm

在此处输入图片描述

\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}

相关内容