MVR Composer

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м (Упрощение моделей)
 
(8 промежуточных версий не показаны.)
Строка 1: Строка 1:
 +
{{TOCright}}
 +
'''MVR Composer''' (Multivariate Regression Composer) — программа, работающая в системе Matlab.
'''MVR Composer''' (Multivariate Regression Composer) — программа, работающая в системе Matlab.
Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей.
Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей.
Строка 179: Строка 181:
== Cсылки на внутренние работы по этой теме ==
== Cсылки на внутренние работы по этой теме ==
=== Порождение структурно-простых моделей ===
=== Порождение структурно-простых моделей ===
-
* Function learning in non-linear ranking problems ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Motrenko2014FunctionLearning/doc папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Motrenko2014FunctionLearning/doc/Motrenko2014FunctionLearning.pdf?format=raw pdf])
+
* Function learning in non-linear ranking problems ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Motrenko2014FunctionLearning/doc папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Motrenko2014FunctionLearning/doc/Motrenko2014FunctionLearning.pdf?format=raw Motrenko2014FunctionLearning.pdf])
-
* Ранжирование документов с помощью структурно простых моделей ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014RankinBySimpleFun/doc папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014RankinBySimpleFun/doc/Kulunchakov2014RankinBySimpleFun.doc?format=raw doc])
+
* Ранжирование документов с помощью структурно простых моделей ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014RankinBySimpleFun/doc папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014RankinBySimpleFun/doc/Kulunchakov2014RankinBySimpleFun.doc?format=raw Kulunchakov2014RankinBySimpleFun.doc])
-
*Алгоритмы индуктивного порождения и трансформации моделей ([http://svn.code.sf.net/p/mlalgorithms/code/PhDThesis папка проекта], [http://svn.code.sf.net/p/mlalgorithms/code/PhDThesis/Sologub2013GenerationFinal/diss/my_input_2e.pdf?format=raw pdf])
+
*Алгоритмы индуктивного порождения и трансформации моделей ([http://svn.code.sf.net/p/mlalgorithms/code/PhDThesis папка проекта], [http://svn.code.sf.net/p/mlalgorithms/code/PhDThesis/Sologub2013GenerationFinal/diss/my_input_2e.pdf?format=raw Sologub2013Generation.pdf])
* [http://svn.code.sf.net/p/mvr/code/mvr.sl/Systemdocs.doc?format=raw MVR Systemdocs]
* [http://svn.code.sf.net/p/mvr/code/mvr.sl/Systemdocs.doc?format=raw MVR Systemdocs]
Строка 189: Строка 191:
* Анализ структурной и статистической сложности суперпозиции нейронных сетей ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group074/Perekrestenko2014ComplexityAnalysis/ папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group074/Perekrestenko2014ComplexityAnalysis/Perekrestenko2014ComplexityAnalysis.pdf Perekrestenko2014ComplexityAnalysis.pdf])
* Анализ структурной и статистической сложности суперпозиции нейронных сетей ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group074/Perekrestenko2014ComplexityAnalysis/ папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group074/Perekrestenko2014ComplexityAnalysis/Perekrestenko2014ComplexityAnalysis.pdf Perekrestenko2014ComplexityAnalysis.pdf])
-
=== Структурное обучение ===
+
== Links to external projects on the topic (duplicate) ==
-
* Методы структурного обучения для построения прогностических моделей ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group974/Varfolomeeva2012StructureLearning/ папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group974/Varfolomeeva2012StructureLearning/doc/Varfolomeeva2012StructureLearning.pdf Varfolomeeva2012StructureLearning.pdf])
+
=== Generating structurally simple models ===
 +
* Function learning in non-linear ranking problems ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Motrenko2014FunctionLearning/doc project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Motrenko2014FunctionLearning/doc/Motrenko2014FunctionLearning.pdf?format=raw Motrenko2014FunctionLearning.pdf])
 +
* IR ranking by functions of simple structure ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014RankinBySimpleFun/doc project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014RankinBySimpleFun/doc/Kulunchakov2014RankinBySimpleFun.doc?format=raw Kulunchakov2014RankinBySimpleFun.doc])
 +
* Algorithms of inductive model generation and transformation ([http://svn.code.sf.net/p/mlalgorithms/code/PhDThesis project folder], [http://svn.code.sf.net/p/mlalgorithms/code/PhDThesis/Sologub2013GenerationFinal/diss/my_input_2e.pdf?format=raw Sologub2013Generation.pdf])
 +
* [http://svn.code.sf.net/p/mvr/code/mvr.sl/Systemdocs.doc?format=raw MVR Systemdocs]
 +
 
 +
=== Generating deep learning models ===
 +
* Classification of objects of complex structure ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/TSLearning/ project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/TSLearning/doc/TSClassification/TSClassification.pdf TSClassification.pdf]; the interfaces are described in [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/TSLearning/Kuznetsov2014ARSVM/main.m main.m])
 +
* Selection of optimal physical activity classification model using measurements of accelerometer ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Popova2014OptimalModelSelection/ project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Popova2014OptimalModelSelection/doc/Popova2014OptimalModelSelection.pdf Popova2014OptimalModelSelection.pdf])
 +
* Structural complexity analysis of superpositions of neural networks ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group074/Perekrestenko2014ComplexityAnalysis/ project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group074/Perekrestenko2014ComplexityAnalysis/Perekrestenko2014ComplexityAnalysis.pdf Perekrestenko2014ComplexityAnalysis.pdf])
 +
 
 +
=== Structure learning ===
 +
* Methods of structure learning for composing forecasting models ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group974/Varfolomeeva2012StructureLearning/ project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group974/Varfolomeeva2012StructureLearning/doc/Varfolomeeva2012StructureLearning.pdf Varfolomeeva2012StructureLearning.pdf])
 +
 
 +
=== Model simplification ===
 +
* Detecting isomorphic structures in essentially nonlinear regression models ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014IsomorphicStructures/doc project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014IsomorphicStructures/doc/Kulunchakov2014IsomorphicStructures.pdf?format=raw Kulunchakov2014IsomorphicStructures.pdf])
 +
* Simplifying superpositions of basic functions via rule-based graph transformation ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Rudoy2012Reduction/doc project folder], main document [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Rudoy2012Reduction/doc/Rudoy2012Reduction.pdf?format=raw Rudoy2012Reduction.pdf])
 +
 
 +
== Выбор моделей и признаков ==
 +
 
 +
 
 +
* Работы Катруцы по мультиколлинеарности в Хемометрикс
 +
 
 +
* [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/FeatureSelection Каталог функций для выбора линейных моделей]
 +
 
 +
== Оценка гиперпараметров моделей ==
 +
* M.P. Kuznetsov, A. A. Tokmakova, V. V. Strijov. Analytic and stochastic methods of structure parameter estimation. 2014. В проекте реализованы методы для оценки структурных параметров с помощью [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/HyperOptimization/code/CrossValidation скользящего контроля], [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/HyperOptimization/code/LaplaceApproximation аппроксимации Лапласа], [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/HyperOptimization/code/MonteCarlo сэмплирования]. ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/HyperOptimization папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/HyperOptimization/doc/HyperOptimization.pdf?format=raw KuznetsovTokmakovaStrijov2014HyperOptimization.pdf] и [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/HyperOptimization/code/systemdocs.docx?format=raw SystemDocs] проекта)
 +
 
 +
* Зайцев А.А., Стрижов В.В., Токмакова А.А. Оценка гиперпараметров регрессионных моделей методом максимального правдоподобия // Информационные технологии, 2013. № 2. C.11-15. [http://strijov.com/papers/ZaytsevStrijovTokmakova2012Likelihood_Preprint.pdf [pdf]]
-
=== Упрощение моделей ===
+
* Токмакова А.А., Стрижов В.В. Оценивание гиперпараметров линейных и регрессионных моделей при отборе шумовых и коррелирующих признаков // Информатика и её применения, 2012. Vol. 6, № 4. C. 66-75. [http://strijov.com/papers/Tokmakova2011HyperParJournal_Preprint.pdf [pdf]]
-
* Обнаружение изоморфных структур существенно нелинейных прогностических моделей ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014IsomorphicStructures/doc папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group174/Kulunchakov2014IsomorphicStructures/doc/Kulunchakov2014IsomorphicStructures.pdf?format=raw Kulunchakov2014IsomorphicStructures.pdf])
+
-
* Упрощение суперпозиций элементарных функций при помощи преобразования графов по правилам ([http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Rudoy2012Reduction/doc папка проекта], основной файл [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Rudoy2012Reduction/doc/Rudoy2012Reduction.pdf?format=raw Rudoy2012Reduction.pdf])
+
 +
* [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group774/Zaitsev2010Laplace Набор функций] Matlab для оценки параметров и линейных моделей путем аппроксимации функции правдоподобия методом Лапласа.
 +
== Последовательная трансформация моделей ==

Текущая версия

Содержание

MVR Composer (Multivariate Regression Composer) — программа, работающая в системе Matlab. Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей.

Введение

MVR Composer
MVR Composer

Цель MVR — построить регрессионную модель, которая наилучшим образом приближает измеряемые данные — регрессионную выборку. Предполагается, что полученная модель будет использована для моделирования процессов и закономерностей в биологии, медицине, экологии и других естественных науках.

Предлагаемая программа сочетает подходы как математического, так и информационного моделирования. Первый подход предполагает использование экспертных знаний о моделируемом явлении. Результат этого подхода — создание «качественной модели», которая описывает явление. Элементы модели могут быть объяснены экспертом в рамках решаемой задачи. Но, как правило, такая модель не очень точно приближает выборку и имеет низкую обобщающую способность. Второй подход предполагает создание «количественной модели». Такая модель хорошо приближает выборку, но, как правило, сложна: то есть, состоит из большого числа элементов и плохо объяснима в контексте решаемой задачи.

Последовательность работы программы следующая.

  1. Задается выборка, несколько свободных переменных и одна зависимая переменная.
  2. Задается набор регрессионных моделей начального приближения.
  3. Задается множество порождающих функций, из суперпозиции которых будет построена модель.

Затем итеративно выполняется следующая последовательность шагов.

  1. Оптимизируются параметры моделей, критерий качества (по умолчанию) среднеквадратическая ошибка.
  2. Оптимизируются гиперпараметры (параметры информативности элементов) моделей.
  3. На основе информации об информативности элементов порождаются новые модели.
  4. Из объединенного множества начальных и порожденных моделей выбираются лучшие.
  5. Последовательность повторяется до тех пор, пока не будет получена модель с ошибкой, не превосходящей заданную

или пока не будет выполнено заданное число итераций.

Результатом работы алгоритма является регрессионная модель оптимальной структуры. В частности, пользователь получает:

  1. формулу математической модели — символьное описание, пригодное для использования ее в дальнейших исследованиях и для публикации ее в тексте научной статьи,
  2. значения параметров модели, позволяющее делать прогноз с помощью этой модели,
  3. график модели в форматах .png и .eps для использования в TeX.

Также пользователь получает набор лучших порожденных моделей для сравнения.

Использование программы

Программа написана на языке Matlab. У пользователя должна быть установлена система Matlab версии не ниже R12. Программа может быть установлена в виде исполняемого модуля, но так как ее целевая аудитория — исследователи, то предполагается, что пользователь работает с исходными текстами и может переписывать части программы самостоятельно.

Проект

Программа управляется файлом-проектом. В этом файле находятся имена файлов с данными и настройки. Файл выполняется в системе Matlab и должен соответствовать синтаксису этого языка.

Пример, файл demo.prj.txt:

DataFile     = 'sinc.dat.txt';  % the data file name.
ModelsFile   = 'sinc.mdl.txt';  % the name of the file with the list of the initial models
RegistryFile = 'sinc.reg.txt';  % the file name for the registry, the list of the primitive functions
                                %
DATASEPARATOR     = ',';        % the column separator in the DataFile
THRESHOLDQUALITY = 0.01;        % the required quality, absolute value

Регрессионная выборка

Файл с исходными данными — текстовый файл с разделителями, .csv. Первый столбец — значения зависимой переменной, все последующие столбцы — соответствующие значения свободной переменной. Пропуски в данных не допускаются.

Пример, файл sinc.dat.txt:

0.020274,   -4.899
0.039335,   -4.798
0.055203,   -4.697
-0.027995,  -3.8889
-0.051946,  -3.7879
-0.071881,  -3.6869
...

Модели начального приближения

Файл содержит список моделей и, необязательно, векторы начальных параметров соответствующих моделей. Длина вектора должна соответствовать числу параметров модели.

Пример, файл sinc.mdl.txt:

% Syntax: model; default parameter vector (can be omitted)
% these two fields must be separated with the sign ';'.
2times(2plus(linear(x1),sin(x1)),sin(x1)); [0.9355 0.9169 0.4103 0.8936 0.0579 0.3529 0.8132 0.0099 0.1389 0.2028]
2plus(2plus(sin(x1),linear(x1)),plus(x1));
2plus(sin(x1),gaussian(x1));

Список порождающих функций

Порождающие функции используются при модификации моделей. Файл содержит 5 полей, разделенных запятой: имя функции, имя соответствующего ей библиотечного файла, число параметров функции и число ее аргументов.

Пример, файл sinc.reg.txt:

% function name, file name, arguments, parameters, default parameter values
% If there are no default parameter values for the function or they are unknown
% please put the brackets [] in the table.
2divide,        f_2divide,      2, 0, []
2minus,         f_2minus,       2, 0, []
2plus,          f_2plus,        2, 0, []
2times,         f_2times,       2, 0, []
% 3mlpout,      f_3mlpout,      3, 4, []
cubic,          f_cubic,        1, 4, [0 1 1 1]
gaussian,       f_gaussian,     1, 4, [1 1 1 1]
linear,         f_linear,       1, 2, [0 1]
logsig,         f_logsig,       1, 4, [1 1 1 1]
mult,           f_mult,         1, 1, [1]
parabolic,      f_parabolic,    1, 3, [0 1 1]
plus,           f_plus,         1, 1, [0]
% quadratic,    f_quadratic,    1, 4, [0 1 1 1]
sin,            f_sin,          1, 4, []
% tanh,         f_tanh,         1, 0, []
tansig,         f_tansig,       1, 4, [1 1 1 1]

Библиотека порождающих функций

Все порождающие функции хранятся в библиотеке и имеют следующий формат y = foo(b, x,dummy), где b — вектор-строка параметров, x — вектор-столбец свободных переменных, dummy — возможные дополнительные параметры данный функции.

Пример, библиотечная функция linear:

function  y = f_linear(b,x,dummy)
% b [1xP] parameters
% x [Nx1] independent variables
% y [Nx1] dependent variables
%
y1 = b(1)*x(i,:) + b(2);
return

Получить программу

Лицензирование

Программа MVR Composer распространяется по лицензии GNU GPL: она бесплатна, ее исходный текст можно изменять. Программа предоставляется на условиях «как есть». Авторы не предоставляют никаких гарантий и не несут ответственности за работу данной программы.

Репозиторий

Документация к программе внутри исходных текстов.

  • См. также версию для пользователей [1].

Смотри также

Презентации

Внешние ссылки

Ниже приведен список программ для построения регрессионных моделей.

Cсылки на внутренние работы по этой теме

Порождение структурно-простых моделей

Порождение моделей глубокого обучения

Links to external projects on the topic (duplicate)

Generating structurally simple models

Generating deep learning models

Structure learning

Model simplification

Выбор моделей и признаков

  • Работы Катруцы по мультиколлинеарности в Хемометрикс

Оценка гиперпараметров моделей

  • Зайцев А.А., Стрижов В.В., Токмакова А.А. Оценка гиперпараметров регрессионных моделей методом максимального правдоподобия // Информационные технологии, 2013. № 2. C.11-15. [pdf]
  • Токмакова А.А., Стрижов В.В. Оценивание гиперпараметров линейных и регрессионных моделей при отборе шумовых и коррелирующих признаков // Информатика и её применения, 2012. Vol. 6, № 4. C. 66-75. [pdf]
  • Набор функций Matlab для оценки параметров и линейных моделей путем аппроксимации функции правдоподобия методом Лапласа.

Последовательная трансформация моделей

Личные инструменты