# Personalized E-Learning Recommender System Based on Autoencoders
## 4 Methodology and Preliminaries
### Autoencoder
The reconstruction error represents this similarity. The reconstruction error is a loss function that calculates the difference between the original input and the generated output. Autoencoders are frequently utilized because of their exceptional performance in encoding the original data or learning a representation at the hidden layers. Autoencoders are used for various applications across different fields, such as speech recognition, anomaly detection, computer vision or fault diagnosis [41]. * Configurable Parameters  
By reviewing a number of articles on autoencoders in the literature, it was possible to determine that each autoencoder uses a unique set of parameters. It is difficult to choose between them because almost all authors claim that their algorithm or their parameterization method is superior to the others in one way or another. Therefore, the decision was made by trial and error with experimentation using many criteria until the most accurate results were obtained from the model. The hyperparameters used for the model are shown in Table 3.  
Figure 1: Autoencoder model. For activation types, there are numerous activation functions. Here are a few examples: \"Binary Step\", \"Hyperbolic Tangent (Tanh)\", \"Linear Activation\", \"SoftMax\", \"Non-Linear\", \"Sigmoid\", \"Swish\", \"Rectified Linear Unit (ReLU)\" and \"scaled exponential linear unit (SELU)\", which is one of the most recent activation functions [30]. Table 4 presents a list of the advantages and drawbacks of some activation functions. Using the dataset produced by [PERSON] et al. [23], we carried out experiments comparing the performance of some of the most widely used functions in the literature (notably, SELU, Sigmoid, Relu and Tanh) to select the best activation function for our situation (Table 5). From the results in Table 5 for RMSE and MAE (Equations (17) and (18)), SELU improved the RMSE and MAE. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Activation Function** & **Advantages** & **Drawbacks** \\ \hline \multirow{3}{*}{Sigmoid} & -Simple to understand & -Gradient saturation [42] \\  & -Commonly utilized in & -Slow convergence-Output is \\  & shallow networks [42] & nonzero-centered \\ \hline \multirow{2}{*}{Tanh} & \multirow{2}{*}{-Output is zero-centered} & -Vanishing gradient problem could \\  & & not be solved using this function [42] \\ \hline \multirow{2}{*}{ReLU} & \multirow{2}{*}{-Faster learning} & -Fragile during training, resulting in \\  & & the death of some gradients [42] \\ \hline \multirow{4}{*}{SELU} & -Not affected by vanishing & \multirow{2}{*}{-“Internal covariate shift” problem} \\  & gradient problems-Works well & \\ \cline{1-1}  & in standard feed-forward & \\ \cline{1-1}  & neural networks (FNNs) [43] & \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Advantages and drawbacks of some activation functions. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Hyperparameter** & **Meaning** & **Autoencoder** \\ \hline \multirow{2}{*}{Activation} & Function utilized by the neuron’s & \multirow{2}{*}{SELU} \\  & activation & \\ \hline \multirow{2}{*}{Batch Size} & The size of the sampler that the & \multirow{2}{*}{64} \\  & network is using & \\ \hline \multirow{2}{*}{Epoch} & The total number of iterations & \multirow{2}{*}{40} \\  & required for training the network & \\ \hline \multirow{4}{*}{Loss Function} & Compares the distance between & \multirow{2}{*}{Mean square error (MSE)} \\  & the prediction output and the & \\ \cline{1-1}  & target values to determine the & \\ \cline{1-1}  & model’s performance & \\ \hline \multirow{2}{*}{Learning Rate} & The rate at which synapse & \multirow{2}{*}{0.0001} \\  & weights are updated & \\ \hline \multirow{2}{*}{Optimizer} & “adaptive moment estimation” is & \multirow{2}{*}{Adam} \\  & an optimization algorithm & \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Used hyperparameters.