From a23768e3b1851957061b0eb9079442c58efe175c Mon Sep 17 00:00:00 2001 From: feger <marc.feger@hhu.de> Date: Sat, 11 Jan 2020 17:40:37 +0100 Subject: [PATCH] Add more text for experiments --- baselines.tex | 2 +- submission.pdf | Bin 400163 -> 400151 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/baselines.tex b/baselines.tex index 0407d8b..e473f1b 100644 --- a/baselines.tex +++ b/baselines.tex @@ -46,9 +46,9 @@ As it turned out that the \textit{bayesian approach} gave more promising results \subsection{Obeservations} The first observation that emerges from \textit{figure} \ref{fig:bayes_sampling_steps} is that the \textit{increase} in \textit{sampling steps} with a \textit{fixed dimensional embedding} also results in an \textit{improvement} in \textit{RMSE} for all models. Based on this, \textit{figure} \ref{fig:bayes_dimensional_embeddings} also shows that an \textit{increase} in the \textit{dimensional embedding} for \textit{512 sampling steps} also leads to an \textit{improvement} in the \textit{RMSE} for all models. Thus, both the \textit{number of sampling steps} and the size of the \textit{dimensional embedding} are involved in the \textit{RMSE} of \textit{matrix-factorization models} when they are trained using the \textit{bayesian approach}. +\subsubsection{Stronger Baselines} As a second finding, the \textit{RMSE values} of the created models can be taken from \textit{figure} \ref{fig:bayes_dimensional_embeddings}. Several points can be addressed. Firstly, it can be seen that the \textit{individual inclusion} of \textit{implicit knowledge} such as \textit{time} or \textit{user behaviour} leads to a significant \textit{improvement} in the \textit{RMSE}. For example, models like \textit{bayesian timeSVD (0.7587)} and \textit{bayesian SVD++ (0.7563)}, which already use single implicit knowledge, beat the \textit{simple bayesian MF} with an \textit{RMSE} of \textit{0.7633}. In addition, it also shows that the \textit{combination} of \textit{implicit data} further improves the \textit{RMSE}. \textit{Bayesian timeSVD++} achieves an \textit{RMSE} of \textit{0.7523}. Finally, \textit{bayesian timeSVD++ flipped} can achieve an \textit{RMSE} of \textit{0.7485} by adding \textit{more implicit data}. This results in the third and most significant observation of the experiment. Firstly, the \textit{simple bayesian MF} with an \textit{RMSE} of \textit{0.7633} already beat the best method \textit{MRMA} with an \textit{RMSE} of \textit{0.7634}. Furthermore, the best method \textit{MRMA} could be surpassed with \textit{bayesian timeSVD++} by 0.0149 with respect to the \textit{RMSE}. Such a result is astonishing, as it took \textit{one year} during the \textit{Netflix-Prize} to reduce the leading \textit{RMSE} from \textit{0.8712 (progress award 2007)} to \textit{0.8616 (progress award 2008)}. Additionally, this result is remarkable as it \textit{challenges} the \textit{last 5 years} of research on the \textit{MovieLens10M-dataset}. Based on the results obtained, the \textit{authors} see the first problem with the \textit{results} achieved on the \textit{MovieLens10M-dataset} as being that they were \textit{compared against} too \textit{weak baselines}. -\subsubsection{Stronger Baselines} \subsubsection{Reproducability} \subsubsection{Inadequate validations} \ No newline at end of file diff --git a/submission.pdf b/submission.pdf index 2e17f2aab795181730de774b9cc8077f0df3f68f..03705aa362e284b576cc34f00394059f7d98f2f2 100644 GIT binary patch delta 6475 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 delta 6510 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 V6it68#iqb%Xu_qc>gw;t1prc^o}T~! -- GitLab