Skip to content

Instantly share code, notes, and snippets.

@AlexanderSavochkin
Last active November 30, 2015 05:04
Show Gist options
  • Save AlexanderSavochkin/b91259c0e0cfbf33166e to your computer and use it in GitHub Desktop.
Save AlexanderSavochkin/b91259c0e0cfbf33166e to your computer and use it in GitHub Desktop.
Multinomial logistic regression model header file
class MultinomialLogRelModel
{
//Основные параметры модели
int num_classes; //Количество классов
int num_sample_features; //Количество признаков в объектах
valarray<double> model_weights; //Веса модели
double regularization_coeff; //Коэффициент регуляризации
double learning_rate; //Параметр шага в методе градиентного спуска
public:
...
//
//
void featurize(const valarray<double>& sample_features, int label, valarray<double>& model_features) const;
//Вычисляет вектор частных производных (градиет) логарифмической функции правдоподобия по параметрам модели
//для одного обучающего примера
void gradientForSample(const valarray<double>& sample_features, int label, valarray<double>& gradient) const;
...
//
int classify(const valarray<double>& sample_features);
//То же самое, что и предыдущий метод "classify", но дополнительно возвращает вероятности для каждого класса
int probabilities(const valarray<double>& sample_features, valarray<double>& probabilities)
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment