From 711d4ef9dc7ac20f84ccd660dcb57856c05f870c Mon Sep 17 00:00:00 2001
From: feger <marc.feger@hhu.de>
Date: Thu, 30 Jan 2020 17:42:48 +0100
Subject: [PATCH] Refactor

---
 recommender.tex |   2 +-
 submission.pdf  | Bin 454556 -> 454569 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/recommender.tex b/recommender.tex
index b7079d9..7e46978 100644
--- a/recommender.tex
+++ b/recommender.tex
@@ -29,7 +29,7 @@ In the following, the four most classical \textit{matrix-factorization} approach
 The first and easiest way to solve \textit{matrix-factorization} is to connect the \textit{feature vectors} of the \textit{users} and the \textit{items} using the \textit{inner product}. The result is the \textit{user-item interaction}. In addition, the \textit{error} should be as small as possible. Therefore, $min_{p_u, q_i}{\sum_{(u,i) \in \mathcal{B}} (r_{ui} - \hat{r}_{ui})^{2}}$  is defined as an associated \textit{minimization problem} \citep{Kor09}.
 
 \subsubsection{Regulated Matrix-Factorization}\label{subsec:rmf}
-This problem extends the \textit{basic matrix-factorization} by a \textit{regulation factor} $\lambda$ in the corresponding \textit{minimization problem}. Since $\mathcal{R}$ is thinly occupied, the effect of \textit{overfitting} may occur due to learning from the few known values. The problem with \textit{overfitting} is that the generated \textit{ratings} are too tight. To counteract this, the magnitudes of the previous vectors are taken into account. High magnitudes are punished by a factor $\lambda(\lVert q_i \rVert^2 + \lVert p_u \lVert^2)$ in the \textit{minimization problem}. Overall, the \textit{minimization problem} $min_{p_u, q_i}{\sum_{(u,i) \in \mathcal{B}} (r_{ui} - \hat{r}_{ui})^{2}} + \lambda(\lVert q_i \lVert^2 + \lVert p_u \lVert^2)$ is to be solved.
+This problem extends the \textit{basic matrix-factorization} by a \textit{regulation factor} $\lambda$ in the corresponding \textit{minimization problem}. Since $\mathcal{R}$ is thinly occupied, the effect of \textit{overfitting} may occur due to learning from the few known values. The problem with \textit{overfitting} is that the generated \textit{ratings} are too tight. To counteract this, the magnitudes of the previous vectors are taken into account. High magnitudes are punished by the factor $\lambda(\lVert q_i \rVert^2 + \lVert p_u \lVert^2)$ in the \textit{minimization problem}. Overall, the \textit{minimization problem} $min_{p_u, q_i}{\sum_{(u,i) \in \mathcal{B}} (r_{ui} - \hat{r}_{ui})^{2}} + \lambda(\lVert q_i \lVert^2 + \lVert p_u \lVert^2)$ is to be solved.
 The idea is that especially large entries in $q_i$ or $p_u$ cause $\lVert q_i \rVert, \lVert p_u \rVert$ to become larger. Accordingly, $\lVert q_i \rVert$ and $\lVert p_u \rVert$ increases the larger its entries become. This value is then additionally punished by squaring it. Small values are rewarded and large values are penalized. Additionally the influence of this value can be regulated by $\lambda$ \citep{Kor09}.
 
 \subsubsection{Weighted Regulated Matrix-Factorization}
diff --git a/submission.pdf b/submission.pdf
index 3cf9ec050d0d9bc343351c26dd1ab4167b8ed524..d1069448e38f245ae380fe82dfd6fa922d86cea7 100644
GIT binary patch
delta 10154
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

delta 10111
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

-- 
GitLab