MVR Composer
Материал из MachineLearning.
(→Выбор моделей и признаков) |
|||
(5 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
+ | {{TOCright}} | ||
+ | |||
'''MVR Composer''' (Multivariate Regression Composer) — программа, работающая в системе Matlab. | '''MVR Composer''' (Multivariate Regression Composer) — программа, работающая в системе Matlab. | ||
Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей. | Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей. | ||
Строка 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) == |
- | * | + | === 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]) | ||
== Выбор моделей и признаков == | == Выбор моделей и признаков == | ||
Строка 200: | Строка 214: | ||
* Работы Катруцы по мультиколлинеарности в Хемометрикс | * Работы Катруцы по мультиколлинеарности в Хемометрикс | ||
+ | |||
+ | * [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/Group774/Zaitsev2010Laplace Набор функций] Matlab для оценки параметров и линейных моделей путем аппроксимации функции правдоподобия методом Лапласа. | ||
== Последовательная трансформация моделей == | == Последовательная трансформация моделей == |
Текущая версия
MVR Composer (Multivariate Regression Composer) — программа, работающая в системе Matlab. Создает математические регрессионные модели, используя измеряемые данные и экспертные предположения о структуре моделей.
Введение
Цель MVR — построить регрессионную модель, которая наилучшим образом приближает измеряемые данные — регрессионную выборку. Предполагается, что полученная модель будет использована для моделирования процессов и закономерностей в биологии, медицине, экологии и других естественных науках.
Предлагаемая программа сочетает подходы как математического, так и информационного моделирования. Первый подход предполагает использование экспертных знаний о моделируемом явлении. Результат этого подхода — создание «качественной модели», которая описывает явление. Элементы модели могут быть объяснены экспертом в рамках решаемой задачи. Но, как правило, такая модель не очень точно приближает выборку и имеет низкую обобщающую способность. Второй подход предполагает создание «количественной модели». Такая модель хорошо приближает выборку, но, как правило, сложна: то есть, состоит из большого числа элементов и плохо объяснима в контексте решаемой задачи.
Последовательность работы программы следующая.
- Задается выборка, несколько свободных переменных и одна зависимая переменная.
- Задается набор регрессионных моделей начального приближения.
- Задается множество порождающих функций, из суперпозиции которых будет построена модель.
Затем итеративно выполняется следующая последовательность шагов.
- Оптимизируются параметры моделей, критерий качества (по умолчанию) среднеквадратическая ошибка.
- Оптимизируются гиперпараметры (параметры информативности элементов) моделей.
- На основе информации об информативности элементов порождаются новые модели.
- Из объединенного множества начальных и порожденных моделей выбираются лучшие.
- Последовательность повторяется до тех пор, пока не будет получена модель с ошибкой, не превосходящей заданную
или пока не будет выполнено заданное число итераций.
Результатом работы алгоритма является регрессионная модель оптимальной структуры. В частности, пользователь получает:
- формулу математической модели — символьное описание, пригодное для использования ее в дальнейших исследованиях и для публикации ее в тексте научной статьи,
- значения параметров модели, позволяющее делать прогноз с помощью этой модели,
- график модели в форматах .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: она бесплатна, ее исходный текст можно изменять. Программа предоставляется на условиях «как есть». Авторы не предоставляют никаких гарантий и не несут ответственности за работу данной программы.
Репозиторий
- Программа (версия для разработчиков) находится на сайте SourceForge.
Документация к программе внутри исходных текстов.
- См. также версию для пользователей [1].
Смотри также
Презентации
Внешние ссылки
Ниже приведен список программ для построения регрессионных моделей.
- GPLAB, Genetic Programming Lab by Sara Silva
- GPTIPS, Genetic Programming Tips by Dominic Searson
- Сайт компании GraphPad Software, Inc.
- GeneXproTools, commercial software
- Online Regression Tools
- SUrrogate MOdeling (SUMO) Toolbox
- MODELbuilder is designed to find any multivariate model for any dataset
- Regression mAKEr, GMDH-like software
- Python Equations, Collection of Python equations that can fit data sets.
- FPlot, .NET library to plot and fit mathematical functions and data
- GMM-GMR, Gaussian Mixture Model and Regression
- GLM, Implementation of Generalized Linear Model by Christopher M. Bishop
Cсылки на внутренние работы по этой теме
Порождение структурно-простых моделей
- Function learning in non-linear ranking problems (папка проекта, основной файл Motrenko2014FunctionLearning.pdf)
- Ранжирование документов с помощью структурно простых моделей (папка проекта, основной файл Kulunchakov2014RankinBySimpleFun.doc)
- Алгоритмы индуктивного порождения и трансформации моделей (папка проекта, Sologub2013Generation.pdf)
- MVR Systemdocs
Порождение моделей глубокого обучения
- Классификации объектов сложной структуры (папка проекта, основной файл TSClassification.pdf; интерфейсы описаны в файле main.m)
- Выбор оптимальной модели классификации физической активности по измерениям акселерометра (папка проекта, основной файл Popova2014OptimalModelSelection.pdf)
- Анализ структурной и статистической сложности суперпозиции нейронных сетей (папка проекта, основной файл Perekrestenko2014ComplexityAnalysis.pdf)
Links to external projects on the topic (duplicate)
Generating structurally simple models
- Function learning in non-linear ranking problems (project folder, main document Motrenko2014FunctionLearning.pdf)
- IR ranking by functions of simple structure (project folder, main document Kulunchakov2014RankinBySimpleFun.doc)
- Algorithms of inductive model generation and transformation (project folder, Sologub2013Generation.pdf)
- MVR Systemdocs
Generating deep learning models
- Classification of objects of complex structure (project folder, main document TSClassification.pdf; the interfaces are described in main.m)
- Selection of optimal physical activity classification model using measurements of accelerometer (project folder, main document Popova2014OptimalModelSelection.pdf)
- Structural complexity analysis of superpositions of neural networks (project folder, main document Perekrestenko2014ComplexityAnalysis.pdf)
Structure learning
- Methods of structure learning for composing forecasting models (project folder, main document Varfolomeeva2012StructureLearning.pdf)
Model simplification
- Detecting isomorphic structures in essentially nonlinear regression models (project folder, main document Kulunchakov2014IsomorphicStructures.pdf)
- Simplifying superpositions of basic functions via rule-based graph transformation (project folder, main document Rudoy2012Reduction.pdf)
Выбор моделей и признаков
- Работы Катруцы по мультиколлинеарности в Хемометрикс
Оценка гиперпараметров моделей
- M.P. Kuznetsov, A. A. Tokmakova, V. V. Strijov. Analytic and stochastic methods of structure parameter estimation. 2014. В проекте реализованы методы для оценки структурных параметров с помощью скользящего контроля, аппроксимации Лапласа, сэмплирования. (папка проекта, основной файл KuznetsovTokmakovaStrijov2014HyperOptimization.pdf и SystemDocs проекта)
- Зайцев А.А., Стрижов В.В., Токмакова А.А. Оценка гиперпараметров регрессионных моделей методом максимального правдоподобия // Информационные технологии, 2013. № 2. C.11-15. [pdf]
- Токмакова А.А., Стрижов В.В. Оценивание гиперпараметров линейных и регрессионных моделей при отборе шумовых и коррелирующих признаков // Информатика и её применения, 2012. Vol. 6, № 4. C. 66-75. [pdf]
- Набор функций Matlab для оценки параметров и линейных моделей путем аппроксимации функции правдоподобия методом Лапласа.