Skip to content

o0white0o/Gradient-vertx

Repository files navigation

Gradient-vertx

Линейная регрессия (Теория)

alt text, где

alt text

y - вектор наблюдений зависимой переменой y (vectorValues)

x - матрица факторов (vectorRegressors)

b - параметры модели (Theta)

Метод градиентного спуска (Теория)

Градиентный спуск — метод нахождения локального экстремума (минимума или максимума) функции с помощью движения вдоль градиента.

Нам необходимо подобрать набор коэффициентов 𝜃(theta), который бы минимизировал функцию стоимости. alt text

Алгоритм выглядит следующим образом:

  1. Инициализация 𝜃 = (1, 1, … 1);
  2. Вычисление значение h𝜃(x) для всех точек;
  3. Вычисление значение функции стоимости J(𝜃);
  4. ЕСЛИ значение функции стоимости J(𝜃) меньше порога, ТО поиск завершен, перейти на п. 7, ИНАЧЕ перейти на следующий пункт
  5. Изменение значения 𝜃;
  6. перейти на п. 2;
  7. конец работы;

Изменение значений 𝜃:

alt text

Все функции для градиентного спуска реализованы в классе GradientDescent

point-generator

Реализован класс для создание файла с исходными данными Параметрый по умолчанию:

  1. NAME_OUTPUT_FILES = "set_of_points.data";
  2. DATA_LENGHT = 1000000;
  3. NUMBER_OF_REGRESSORS = 5;
  4. MAX_THETA = 100.0; (максимальный диапазон +-)
  5. MAX_REGRESSOR = 100.0;

Список литературы:

  1. https://en.wikipedia.org/wiki/Gradient_descent
  2. https://en.wikipedia.org/wiki/Linear_regression
  3. https://cse.buffalo.edu/faculty/miller/Courses/CSE633/Li-Hui-Fall-2012-CSE633.pdf
  4. https://medium.com/@lachlanmiller_52885/machine-learning-week-1-cost-function-gradient-descent-and-univariate-linear-regression-8f5fe69815fd

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors