패키지 알고리즘2e를 사용하는 데 문제가 있습니다. 다음은 내 라텍스 코드입니다.
\begin{algorithm}[H]
\SetAlgoLined
\Comment{Input: Training data S, regularization parameters λ, learning rate η, initialization σ }
\Comment{Output: $\Theta = (w_{0},\textbf{w},\textbf{V})$}
initialization\;
\While{stopping criterion is not met}{
\For{\ (x,y) \in S}
{
w_{0}\leftarrow w_{0}-$η$(\frac{\partial}{\partialw_{0}}l(y(x|\Theta),y) +2\lambda^{0}w_{0});
}
\For{\ i \in \{1,...p\} \wedge x_{i} \neq 0 }
{
w_{i}\leftarrow w_{i} - $η$(\frac{\partial}{\partialw_{i}}l(y(x|\Theta),y)+2\lambda_{\pi}^{w}w_{i});
}
For{ f \in \{1,...k\} }
{
v_{i,f}\leftarrow v_{i,f}-$η$(\frac{\partial}{\partialv_{i,f}l(y(x|\Theta),y)+2\lambda_{f,\pi(i)}^{v}v_{i,f});
}
}
}
\caption{Stochastic gradient descent}
\end{algorithm}
제목과 같은 오류가 발생했는데 결과는 이렇습니다. 감사합니다.
답변1
다음은 예상되는 출력을 복제합니다.
\documentclass{article}
\usepackage{amsmath}
\usepackage[noline,ruled]{algorithm2e}
\setlength{\algomargin}{7.5pt}
\begin{document}
\begin{algorithm}[H]
\caption{Stochastic Gradient Descent (SGD)}
\KwIn{Training data $S$, regularization parameters $\lambda$, learning rate $\eta$, initialization $\sigma$}
\KwOut{Model parameters $\Theta = (w_0,\mathbf{w},\mathbf{V})$}
$w_0 \leftarrow 0$; $\mathbf{w} \leftarrow (0,\dots,0)$; $\mathbf{V} \sim \mathcal{N}(0,\sigma)$\;
\Repeat{stopping criterion is not met}{
\For{$(x,y) \in S$}
{
$w_0 \leftarrow w_0 - \eta(\frac{\partial}{\partial w_0} l( y(\mathbf{x} \mid \Theta), y) + 2\lambda^0 w_0)$\;
\For{$i \in \{1,\dots,p\} \wedge x_i \neq 0$}
{
$w_i \leftarrow w_i - \eta(\frac{\partial}{\partial w_i} l( y(x \mid \Theta), y) + 2\lambda_{\pi}^w w_i)$\;
\For{$f \in \{1,\dots,k\}$}
{
$v_{i,f} \leftarrow v_{i,f} - \eta(\frac{\partial}{\partial v_{i,f}} l( y(x \mid \Theta), y) + 2\lambda_{f,\pi(i)}^v v_{i,f})$\;
}
}
}
}
\end{algorithm}
\end{document}
몇 가지 고려 사항:
입력과 출력은 각각
\KwIn
및 를 사용하여 지정할 수 있습니다.\KwOut
있어야 할 수학 객체용감한(벡터와 유사)는 일반적으로
\mathbf
(또는\bm
,\usepackage{bm}
뒤에 필요\usepackage{amsmath}
)를 사용하여 설정됩니다.루프 조건이 마지막에 지정되도록 하려면
\repeat
대신을 사용하십시오 .\while
수학 관련 콘텐츠에는 수학 모드가 필요합니다. 이는 λ, eta 및 σ와 같은 유니코드 입력에 적용되는 경우가 많습니다.
조건부 기능을 제공하는
\mid
대신 대신 사용하세요 .|
\For
출력에 구조 계층이 포함되도록 중첩 합니다.수학에서는
\dots
타원 대신 사용하세요 ....