pmlpp/mlpp/regularization/reg.h

36 lines
1.1 KiB
C
Raw Normal View History

2023-01-24 18:57:18 +01:00
#ifndef MLPP_REG_H
#define MLPP_REG_H
//
// Reg.hpp
//
// Created by Marc Melikyan on 1/16/21.
//
2023-01-27 13:01:16 +01:00
#include "core/math/math_defs.h"
#include <vector>
#include <string>
2023-01-24 19:20:18 +01:00
2023-01-25 00:54:50 +01:00
class MLPPReg {
2023-01-24 19:00:54 +01:00
public:
2023-01-27 13:01:16 +01:00
real_t regTerm(std::vector<real_t> weights, real_t lambda, real_t alpha, std::string reg);
real_t regTerm(std::vector<std::vector<real_t>> weights, real_t lambda, real_t alpha, std::string reg);
2023-01-24 19:00:54 +01:00
2023-01-27 13:01:16 +01:00
std::vector<real_t> regWeights(std::vector<real_t> weights, real_t lambda, real_t alpha, std::string reg);
std::vector<std::vector<real_t>> regWeights(std::vector<std::vector<real_t>> weights, real_t lambda, real_t alpha, std::string reg);
2023-01-24 19:00:54 +01:00
2023-01-27 13:01:16 +01:00
std::vector<real_t> regDerivTerm(std::vector<real_t> weights, real_t lambda, real_t alpha, std::string reg);
std::vector<std::vector<real_t>> regDerivTerm(std::vector<std::vector<real_t>>, real_t lambda, real_t alpha, std::string reg);
2023-01-24 19:00:54 +01:00
private:
2023-01-27 13:01:16 +01:00
real_t regDerivTerm(std::vector<real_t> weights, real_t lambda, real_t alpha, std::string reg, int j);
real_t regDerivTerm(std::vector<std::vector<real_t>> weights, real_t lambda, real_t alpha, std::string reg, int i, int j);
2023-01-24 19:00:54 +01:00
};
2023-01-24 19:20:18 +01:00
#endif /* Reg_hpp */