diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:17 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:17 +0300 |
commit | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch) | |
tree | dd4bd3ca0f36b817e96812825ffaf10d645803f2 /library/cpp/linear_regression/linear_regression.cpp | |
parent | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff) | |
download | ydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/linear_regression/linear_regression.cpp')
-rw-r--r-- | library/cpp/linear_regression/linear_regression.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/library/cpp/linear_regression/linear_regression.cpp b/library/cpp/linear_regression/linear_regression.cpp index 18ae939893..150f9d214e 100644 --- a/library/cpp/linear_regression/linear_regression.cpp +++ b/library/cpp/linear_regression/linear_regression.cpp @@ -4,8 +4,8 @@ #include <util/generic/ymath.h> #ifdef _sse2_ -#include <emmintrin.h> -#include <xmmintrin.h> +#include <emmintrin.h> +#include <xmmintrin.h> #endif #include <algorithm> @@ -68,8 +68,8 @@ bool TLinearRegressionSolver::Add(const TVector<double>& features, const double LastMeans[featureNumber] = weight * (feature - featureMean); featureMean += weight * (feature - featureMean) / SumWeights.Get(); - NewMeans[featureNumber] = feature - featureMean; - ; + NewMeans[featureNumber] = feature - featureMean; + ; } double* olsMatrixElement = LinearizedOLSMatrix.data(); @@ -169,7 +169,7 @@ bool TSLRSolver::Add(const double feature, const double goal, const double weigh bool TSLRSolver::Add(const double* featuresBegin, const double* featuresEnd, - const double* goalsBegin) { + const double* goalsBegin) { for (; featuresBegin != featuresEnd; ++featuresBegin, ++goalsBegin) { Add(*featuresBegin, *goalsBegin); } @@ -178,7 +178,7 @@ bool TSLRSolver::Add(const double* featuresBegin, bool TSLRSolver::Add(const double* featuresBegin, const double* featuresEnd, const double* goalsBegin, - const double* weightsBegin) { + const double* weightsBegin) { for (; featuresBegin != featuresEnd; ++featuresBegin, ++goalsBegin, ++weightsBegin) { Add(*featuresBegin, *goalsBegin, *weightsBegin); } @@ -198,7 +198,7 @@ namespace { const double regularizationThreshold, const double regularizationParameter, TVector<double>& decompositionTrace, - TVector<TVector<double>>& decompositionMatrix) { + TVector<TVector<double>>& decompositionMatrix) { const size_t featuresCount = decompositionTrace.size(); size_t olsMatrixElementIdx = 0; @@ -239,7 +239,7 @@ namespace { void LDLDecomposition(const TVector<double>& linearizedOLSMatrix, TVector<double>& decompositionTrace, - TVector<TVector<double>>& decompositionMatrix) { + TVector<TVector<double>>& decompositionMatrix) { const double regularizationThreshold = 1e-5; double regularizationParameter = 0.; @@ -247,14 +247,14 @@ namespace { regularizationThreshold, regularizationParameter, decompositionTrace, - decompositionMatrix)) { + decompositionMatrix)) { regularizationParameter = regularizationParameter ? 2 * regularizationParameter : 1e-5; } } - TVector<double> SolveLower(const TVector<TVector<double>>& decompositionMatrix, + TVector<double> SolveLower(const TVector<TVector<double>>& decompositionMatrix, const TVector<double>& decompositionTrace, - const TVector<double>& olsVector) { + const TVector<double>& olsVector) { const size_t featuresCount = olsVector.size(); TVector<double> solution(featuresCount); @@ -275,8 +275,8 @@ namespace { return solution; } - TVector<double> SolveUpper(const TVector<TVector<double>>& decompositionMatrix, - const TVector<double>& lowerSolution) { + TVector<double> SolveUpper(const TVector<TVector<double>>& decompositionMatrix, + const TVector<double>& lowerSolution) { const size_t featuresCount = lowerSolution.size(); TVector<double> solution(featuresCount); @@ -297,7 +297,7 @@ namespace { const size_t featuresCount = olsVector.size(); TVector<double> decompositionTrace(featuresCount); - TVector<TVector<double>> decompositionMatrix(featuresCount, TVector<double>(featuresCount)); + TVector<TVector<double>> decompositionMatrix(featuresCount, TVector<double>(featuresCount)); LDLDecomposition(olsMatrix, decompositionTrace, decompositionMatrix); @@ -307,7 +307,7 @@ namespace { double SumSquaredErrors(const TVector<double>& olsMatrix, const TVector<double>& olsVector, const TVector<double>& solution, - const double goalsDeviation) { + const double goalsDeviation) { const size_t featuresCount = olsVector.size(); double sumSquaredErrors = goalsDeviation; @@ -335,7 +335,7 @@ namespace { for (; leftFeature != featuresEnd; ++leftFeature, ++matrixElement) { const double weightedFeature = weight * *leftFeature; const double* rightFeature = leftFeature; - __m128d wf = {weightedFeature, weightedFeature}; + __m128d wf = {weightedFeature, weightedFeature}; for (size_t i = 0; i < unaligned; ++i, ++rightFeature, ++matrixElement) { *matrixElement += weightedFeature * *rightFeature; } @@ -397,10 +397,10 @@ namespace { TFeaturesTransformer TFeaturesTransformerLearner::Solve(const size_t iterationsCount /* = 100 */) { TTransformationParameters transformationParameters; - auto updateParameter = [this, &transformationParameters](double TTransformationParameters::*parameter, + auto updateParameter = [this, &transformationParameters](double TTransformationParameters::*parameter, const double left, - const double right) { - auto evalParameter = [this, &transformationParameters, parameter](double parameterValue) { + const double right) { + auto evalParameter = [this, &transformationParameters, parameter](double parameterValue) { transformationParameters.*parameter = parameterValue; TFeaturesTransformer transformer(TransformationType, transformationParameters); |