You can introduce assumptions into the probability distribution, to ensure that it is positive:
dist = ProbabilityDistribution[
f[x, \[Mu], \[Sigma], \[Lambda]1, \[Lambda]2], {x, -\[Infinity], \
\[Infinity]},
Assumptions ->
Reduce[
ForAll[x, 0 < x < 1,
1 + \[Lambda]1 + 2 ( \[Lambda]2 - \[Lambda]1) x^2 -
3 \[Lambda]2 x^4 > 0], {\[Lambda]2, \[Lambda]1}, Reals]]
Then I don't understand what you are trying to do with this:
MSE += (res - Values[init])^2 /. Rule \[RightArrow] list;
By the way, here too you should replace \[RightArrow]
with ->