Skip to content
This repository has been archived by the owner on Oct 20, 2024. It is now read-only.

Commit

Permalink
Readme fix
Browse files Browse the repository at this point in the history
  • Loading branch information
yiffyrusdev committed Oct 11, 2020
1 parent d514ede commit 66bfedd
Show file tree
Hide file tree
Showing 15 changed files with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Проект представляет собой мини-библиотеку Python3, предназначенную для решения задач прогнозирования, предсказания и выявления зависимостей методом линейной регрессии.
Система способна работать с достаточно большим количеством примеров (1000-100000), имеющих достаточно большое (100-1000) число признаков.

![preview](presentation/interface.png)
![preview](images/interface.png)

Также реализована функциональная программа с графическим интерфейсом.

Expand All @@ -20,8 +20,8 @@
### Внешности
Функциональная программа с графическим интерфейсом PyQt5 предоставляет возможности конфигурирования регрессии, выбора метода оптимизации и изменения его параметров, выбора данных для анализа, обучения модели и просмотра результата.

![chose regression model options](presentation/TrainTab.png)
![train regression model](presentation/TrainTabAfterFit.png)
![chose regression model options](images/TrainTab.png)
![train regression model](images/TrainTabAfterFit.png)

На картинках выше видно, как регерссионная модель приблизила красную плоскость к синим точкам примеров. В данном случае мы имеем дело с данными, в которых необходимо выявить зависимость одного значения (предикторного) от двух других (признаковых). Видно, что модель хорошо справилась с задачей.

Expand All @@ -32,22 +32,22 @@

Процесс взаимодействия пользователя с программой, реализующей возможности разработанной библиотеки, отображён на следующей диаграмме:

![user action with regression interface](presentation/ActionDuagram.png)
![user action with regression interface](images/ActionDuagram.png)

Внутренная логика (регрессия, оптимизация и яже с ними) представлена двумя модулями: _Frontend_ и _Backend_, внутри которых реализованы соответствующие классы:

![backend classes uml diagram](presentation/Backend.png)
![backend classes uml diagram](images/Backend.png)

![frontend classed uml diagram](presentation/Frontend.png)
![frontend classed uml diagram](images/Frontend.png)

![class interaction uml diagram](presentation/BackendAction.png)
![class interaction uml diagram](images/BackendAction.png)

#### Математика
В общем и целом алгоритм работы регрессионной модели достаточно прост и изящен: в начале процесса обучения модель только получает входной датасет с $M$ примерами, у каждого из которых $N$ признаков и одно предсказываемое значение. Далее создается случайный вектор $\vec{W}$ размера $N$. Затем в цикле некоторое количество раз выполняется следующая операция:

![\vec{W} = \vec{W}-\vec{Fix} * lr](presentation/formula1.png)
![\vec{W} = \vec{W}-\vec{Fix} * lr](images/formula1.png)

Где ![\vec{Fix}](presentation/formula2.png) -- поправочный вектор, а **lr** -- скорость обучения модели.
Где ![\vec{Fix}](images/formula2.png) -- поправочный вектор, а **lr** -- скорость обучения модели.

Поправочный вектор в данном случае вычисляется с помощью градиента одним из следующих методов:
* Классический
Expand All @@ -59,9 +59,9 @@

Ниже приведён процесс вычисления классического градиента:

![\vec{Fix} = \nabla(Loss(\vec{W},X,\vec{y}))](presentation/formula3.png)
![\vec{Fix} = \nabla(Loss(\vec{W},X,\vec{y}))](images/formula3.png)

Где ![Loss(\vec{W},X,\vec{y})](presentation/formula4.png) -- функция ошибки в данной точке графика ошибки, **X** -- матрица признаков для некоторого пула примеров, ![\vec{y}](presentaion/formula5.png) -- вектор ответов для соответствующих примеров матрицы примеров.
Где ![Loss(\vec{W},X,\vec{y})](images/formula4.png) -- функция ошибки в данной точке графика ошибки, **X** -- матрица признаков для некоторого пула примеров, ![\vec{y}](images/formula5.png) -- вектор ответов для соответствующих примеров матрицы примеров.

#### Код
С исходным кодом можно ознакомиться в [репозитории](https://github.com/pushsla/2020-plhl-graduation) проекта на GitHub.
Expand Down
Binary file added images/ActionDuagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Backend.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/BackendAction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Frontend.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/GradientBlockScheme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/SetupTab.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/TrainTab.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/TrainTabAfterFit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/formula1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/formula2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/formula3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/formula4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/formula5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 66bfedd

Please sign in to comment.