RU2813245C1 - Computer systems, computing components and computing objects, made with possibility of implementing reduction of dynamic deviation caused by outlier values in machine learning models - Google Patents

Computer systems, computing components and computing objects, made with possibility of implementing reduction of dynamic deviation caused by outlier values in machine learning models Download PDF

Info

Publication number
RU2813245C1
RU2813245C1 RU2022110167A RU2022110167A RU2813245C1 RU 2813245 C1 RU2813245 C1 RU 2813245C1 RU 2022110167 A RU2022110167 A RU 2022110167A RU 2022110167 A RU2022110167 A RU 2022110167A RU 2813245 C1 RU2813245 C1 RU 2813245C1
Authority
RU
Russia
Prior art keywords
data
outlier
model
activity
machine learning
Prior art date
Application number
RU2022110167A
Other languages
Russian (ru)
Inventor
Ричард Б. Джоунс
Original Assignee
Хартфорд Стим Бойлер Инспекшн Энд Иншуранс Компани
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хартфорд Стим Бойлер Инспекшн Энд Иншуранс Компани filed Critical Хартфорд Стим Бойлер Инспекшн Энд Иншуранс Компани
Application granted granted Critical
Publication of RU2813245C1 publication Critical patent/RU2813245C1/en

Links

Images

Abstract

FIELD: machine learning.
SUBSTANCE: invention relates to a method and system for controlling an electronic device using a machine learning model. The system includes a processor for receiving training data for a user activity; accepting rejection criteria; defining a set of model parameters for a machine learning model, which includes: (1) applying the machine learning model to the training data; (2) generation of forecast errors based on the model; (3) generating a data selection vector to identify non-outlier target variables based on model-based prediction errors; (4) using a data selection vector to form a non-outlier data set; (5) determining updated model parameters based on the non-outlier data set; and (6) repeating steps (1)-(5) until the censoring completion criterion is satisfied; training classification model parameters for a machine learning model of outlier value classifiers; applying a machine learning model of outlier value classifiers to activity-related data to identify non-outlier activity-related data; applying a machine learning model to non-outlier activity-related data to predict future activity-related attributes for a user activity; and generating a machine control command based on applying the machine learning model and predicting the future of the activity-related attribute associated with the user activity.
EFFECT: improved accuracy of predicting user activity attributes for generating a machine command to control an electronic device.
20 cl, 16 dwg, 12 tbl

Description

Притязание на приоритетClaim of priority

[0001] По данной заявке испрашивается приоритет на основании предварительной заявки на патент США № 62/902,074, поданной 18 сентября 2019 г. и озаглавленной "COMPUTER-BASED SYSTEMS, COMPUTING COMPONENTS AND COMPUTING OBJECTS CONFIGURED TO IMPLEMENT DYNAMIC OUTLIER BIAS REDUCTION IN MACHINE LEARNING MODELS", которая полностью включена в данный документ путём ссылки.[0001] This application claims priority to US Provisional Patent Application No. 62/902,074, filed September 18, 2019, entitled "COMPUTER-BASED SYSTEMS, COMPUTING COMPONENTS AND COMPUTING OBJECTS CONFIGURED TO IMPLEMENT DYNAMIC OUTLIER BIAS REDUCTION IN MACHINE LEARNING MODELS ", which is incorporated herein by reference in its entirety.

Уведомление об авторском правеCopyright notice

[0002] Часть описания данного патентного документа содержит материалы, на которые распространяется охрана авторским правом. Обладатель авторского права не имеет возражений против факсимильного воспроизведения кем-либо патентного документа или описания патента в том виде, в котором он содержится в патентном фонде или базе Бюро по патентам и товарным знакам, но в иных случаях сохраняет за собой любые авторские права. Нижеследующее уведомление относится к программному обеспечению и данным, описанным ниже и на чертежах, которые составляют часть данного документа: авторское право, Hartford Steam Boiler Inspection and Insurance Company, все права защищены.[0002] Portions of the specification of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to anyone facsimile reproducing a patent document or patent description as it appears in the patent collections or records of the Patent and Trademark Office, but otherwise retains any copyright rights. The following notice applies to the software and data described below and in the drawings that form a part of this document: Copyright, Hartford Steam Boiler Inspection and Insurance Company, all rights reserved.

Область техники, к которой относится изобретениеField of technology to which the invention relates

[0003] Настоящее изобретение относится в общем к усовершенствованным компьютерным системам, вычислительным компонентам и вычислительным объектам, выполненным с возможностью реализации уменьшения отклонения в моделях машинного обучения.[0003] The present invention relates generally to improved computer systems, computing components, and computing objects configured to implement bias reduction in machine learning models.

Уровень техникиState of the art

[0004] Модель машинного обучения может включать в себя один или более компьютеров или обрабатывающих устройств для формирования прогнозов или определений на основе тенденций и выводов, изученных из данных выборки/обучающих данных. Отклонение в выборе данных выборки/обучающих данных может распространяться на прогнозирования и определения на основе модели машинного обучения.[0004] The machine learning model may include one or more computers or processing devices to make predictions or determinations based on trends and inferences learned from the sample/training data. Bias in the selection of sample/training data can propagate into predictions and determinations based on the machine learning model.

Раскрытие изобретенияDisclosure of the Invention

[0005] Варианты осуществления настоящего изобретения включают в себя способы для моделей машинного обучения с уменьшенным динамическим отклонением, обусловленным выбросовыми значениями. Способы включают в себя прием посредством по меньшей мере одного процессора набора обучающих данных целевых переменных, представляющих по меньшей мере один связанный с активностью атрибут по меньшей мере для одной пользовательской активности; прием посредством по меньшей мере одного процессора по меньшей мере одного критерия отклонения, используемого для определения одного или более выбросовых значений; определение посредством по меньшей мере одного процессора набора параметров модели для модели машинного обучения, что включает в себя: (1) применение посредством по меньшей мере одного процессора, модели машинного обучения, имеющей набор начальных параметров модели, к набору обучающих данных для того, чтобы определять набор прогнозируемых значений модели; (2) формирование посредством по меньшей мере одного процессора набора ошибок для ошибок в элементах данных посредством сравнения набора прогнозируемых значений модели с соответствующими фактическими значениями набора обучающих данных; (3) формирование посредством по меньшей мере одного процессора вектора выбора данных для того, чтобы идентифицировать невыбросовые целевые переменные по меньшей мере частично на основе набора ошибок для ошибок в элементах данных и по меньшей мере одного критерия отклонения; (4) использование посредством по меньшей мере одного процессора вектора выбора данных для набора обучающих данных для того, чтобы формировать набор невыбросовых данных; (5) определение посредством по меньшей мере одного процессора набора обновленных параметров модели для модели машинного обучения на основе набора невыбросовых данных; и (6) повторение посредством по меньшей мере одного процессора этапов (1)-(5) в качестве итерации до тех пор, пока не будет удовлетворен по меньшей мере один критерий завершения выполнения цензурирования, таким образом, чтобы получить набор параметров модели для модели машинного обучения в качестве обновленных параметров модели, за счет чего каждая итерация повторно формирует набор прогнозируемых значений, набор ошибок, вектор выбора данных и набор невыбросовых данных с использованием набора обновленных параметров модели в качестве набора начальных параметров модели; обучение посредством по меньшей мере одного процессора по меньшей мере частично на основе набора обучающих данных и вектора выбора данных, набора параметров классификационной модели для модели машинного обучения классификаторов выбросовых значений для того, чтобы получать обученную модель машинного обучения классификаторов выбросовых значений, которая выполнена с возможностью идентификации по меньшей мере одного выбросового элемента данных; применение посредством по меньшей мере одного процессора обученной модели машинного обучения классификаторов выбросовых значений к набору данных для связанных с активностью данных по меньшей мере для одной пользовательской активности, чтобы определять: i) набор выбросовых связанных с активностью данных в наборе данных для связанных с активностью данных и ii) набор невыбросовых связанных с активностью данных в наборе данных для связанных с активностью данных; и применение посредством по меньшей мере одного процессора модели машинного обучения к набору элементов невыбросовых связанных с активностью данных для того, чтобы прогнозировать будущий связанный с активностью атрибут, связанный по меньшей мере с одной пользовательской активностью.[0005] Embodiments of the present invention include methods for machine learning models with reduced dynamic bias due to outlier values. The methods include receiving, by at least one processor, a set of training data of target variables representing at least one activity-related attribute for at least one user activity; receiving, by at least one processor, at least one deviation criterion used to determine one or more outlier values; determining, by at least one processor, a set of model parameters for the machine learning model, which includes: (1) applying, by at least one processor, a machine learning model having a set of initial model parameters to the training data set to determine a set of model predicted values; (2) generating, by at least one processor, a set of errors for errors in the data elements by comparing the set of predicted values of the model with the corresponding actual values of the set of training data; (3) generating, by at least one processor, a data selection vector to identify non-outlier target variables based at least in part on the error set for the data element errors and the at least one rejection criterion; (4) using, by the at least one processor, a data selection vector for the training data set to generate a set of non-outlier data; (5) determining, by the at least one processor, a set of updated model parameters for the machine learning model based on the set of non-outlier data; and (6) repeating, by at least one processor, steps (1)-(5) iteratively until at least one censoring completion criterion is satisfied, so as to obtain a set of model parameters for the machine model training as updated model parameters, whereby each iteration regenerates a set of predicted values, a set of errors, a data selection vector, and a set of non-outlier data using the set of updated model parameters as a set of initial model parameters; learning by at least one processor based at least in part on a set of training data and a data selection vector, a set of classification model parameters for an outlier classifier machine learning model to obtain a trained outlier value classifier machine learning model that is identifiable at least one outlier data element; applying, by at least one processor, a trained machine learning model of outlier value classifiers to a data set for activity-related data for at least one user activity to determine: i) a set of outlier activity-related data in the data set for activity-related data; and ii) a set of non-outlier activity-related data in a data set for activity-related data; and applying, by the at least one processor, a machine learning model to the set of non-outlier activity-related data items to predict a future activity-related attribute associated with the at least one user activity.

[0006] Варианты осуществления настоящего изобретения включают в себя системы для моделей машинного обучения с уменьшенным динамическим отклонением, обусловленным выбросовыми значениями. Системы включают в себя по меньшей мере один процессор, осуществляющий связь с постоянным машиночитаемым носителем данных, на котором сохранены программные инструкции, причем программные инструкции при выполнении предписывают по меньшей мере одному процессору выполнять этапы для: приёма набора обучающих данных целевых переменных, представляющих по меньшей мере один связанный с активностью атрибут по меньшей мере для одной пользовательской активности; приёма по меньшей мере одного критерия отклонения, используемого для определения одного или более выбросовых значений; определения набора параметров модели для модели машинного обучения, что включает в себя: (1) применение модели машинного обучения, имеющей набор начальных параметров модели, к набору обучающих данных для определения набора прогнозируемых значений модели; (2) формирование набора ошибок для ошибок в элементах данных посредством сравнения набора прогнозируемых значений модели с соответствующими фактическими значениями набора обучающих данных; (3) формирование вектора выбора данных для идентификации невыбросовых целевых переменных по меньшей мере частично на основе набора ошибок для ошибок в элементах данных и по меньшей мере одного критерия отклонения; (4) использование вектора выбора данных для набора обучающих данных для формирования набора невыбросовых данных; (5) определение набора обновленных параметров модели для модели машинного обучения на основе набора невыбросовых данных; и (6) повторение этапов (1)-(5) в качестве итерации до тех пор, пока не будет удовлетворён по меньшей мере один критерий завершения выполнения цензурирования, таким образом, чтобы получить набор параметров модели для модели машинного обучения в качестве обновленных параметров модели, за счет чего каждая итерация повторно формирует набор прогнозируемых значений, набор ошибок, вектор выбора данных и набор невыбросовых данных с использованием набора обновленных параметров модели в качестве набора начальных параметров модели; обучения по меньшей мере частично на основе набора обучающих данных и вектора выбора данных, набора параметров классификационной модели для модели машинного обучения классификаторов выбросовых значений для получения обученной модели машинного обучения классификаторов выбросовых значений, которая выполнена с возможностью идентификации по меньшей мере одного выбросового элемента данных; применения обученной модели машинного обучения классификаторов выбросовых значений к набору данных для связанных с активностью данных по меньшей мере для одной пользовательской активности для определения: i) набора выбросовых связанных с активностью данных в наборе данных для связанных с активностью данных и ii) набора невыбросовых связанных с активностью данных в наборе данных для связанных с активностью данных; и применения модели машинного обучения к набору элементов невыбросовых связанных с активностью данных для прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью.[0006] Embodiments of the present invention include systems for machine learning models with reduced dynamic bias due to outlier values. The systems include at least one processor in communication with a non-transitory computer-readable storage medium on which program instructions are stored, wherein the program instructions, when executed, cause the at least one processor to perform steps to: receive a set of training data of target variables representing at least one activity-related attribute for at least one user activity; receiving at least one deviation criterion used to determine one or more outlier values; determining a set of model parameters for a machine learning model, which includes: (1) applying a machine learning model having a set of initial model parameters to a set of training data to determine a set of model predicted values; (2) generating an error set for errors in the data elements by comparing a set of model predicted values with the corresponding actual values of the training data set; (3) generating a data selection vector for identifying non-outlier target variables based at least in part on a set of errors for errors in the data elements and at least one rejection criterion; (4) using the data selection vector for the training data set to form a non-outlier data set; (5) determining a set of updated model parameters for the machine learning model based on the non-outlier data set; and (6) repeating steps (1)-(5) iteratively until at least one censoring completion criterion is satisfied, so as to obtain a set of model parameters for the machine learning model as updated model parameters , whereby each iteration regenerates a set of predicted values, a set of errors, a data selection vector, and a set of non-outlier data using the set of updated model parameters as a set of initial model parameters; training at least in part based on a set of training data and a data selection vector, a set of classification model parameters for an outlier value classifier machine learning model to obtain a trained outlier value classifier machine learning model that is configured to identify at least one outlier data element; Applying a trained machine learning model of outlier value classifiers to a dataset of activity-related data for at least one user activity to determine: i) a set of outlier activity-related data in the dataset for activity-related data and ii) a set of non-outlier activity-related data data in the dataset for activity-related data; and applying the machine learning model to the set of non-outlier activity-related data items to predict the future of the activity-related attribute associated with the at least one user activity.

[0007] Системы и способы вариантов осуществления настоящего изобретения, дополнительно включающие в себя: применение посредством по меньшей мере одного процессора вектора выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных; обучение посредством по меньшей мере одного процессора с использованием набора выбросовых обучающих данных по меньшей мере одного параметра относящейся к выбросовым значениям модели для по меньшей мере одной относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных; и использование посредством по меньшей мере одного процессора относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных.[0007] Systems and methods of embodiments of the present invention, further comprising: applying, by at least one processor, a data selection vector to the training data set to determine the outlier training data set; training, by the at least one processor using a set of outlier training data, at least one outlier model parameter for the at least one outlier machine learning model to predict outlier data values; and using, by the at least one processor, an outlier machine learning model to predict outlier activity-related data values for the set of outlier activity-related data.

[0008] Системы и способы вариантов осуществления настоящего изобретения, дополнительно включающие в себя: обучение посредством по меньшей мере одного процессора с использованием набора обучающих данных, обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных; использование посредством по меньшей мере одного процессора обобщенной модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и использование посредством по меньшей мере одного процессора обобщенной модели машинного обучения для прогнозирования значений связанных с активностью данных.[0008] Systems and methods of embodiments of the present invention, further including: training, by at least one processor using a set of training data, generalized model parameters for a generalized machine learning model to predict data values; using, through the at least one processor, a generalized machine learning model to predict activity-related data outlier values for a set of activity-related outlier data; and using, by the at least one processor, the generalized machine learning model to predict values of the activity-related data.

[0009] Системы и способы вариантов осуществления настоящего изобретения, дополнительно включающие в себя: применение посредством по меньшей мере одного процессора вектора выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных; обучение посредством по меньшей мере одного процессора с использованием набора выбросовых обучающих данных, параметров относящейся к выбросовым значениям модели для относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных; обучение посредством по меньшей мере одного процессора, с использованием набора обучающих данных, обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных; использование посредством по меньшей мере одного процессора, относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и использование посредством по меньшей мере одного процессора относящейся к выбросовым значениям модели машинного обучения для прогнозирования значений связанных с активностью данных.[0009] Systems and methods of embodiments of the present invention, further comprising: applying, by at least one processor, a data selection vector to the training data set to determine the outlier training data set; training, by at least one processor, using a set of outlier training data, parameters of the outlier model for the outlier machine learning model to predict outlier data values; training, by at least one processor, using a set of training data, generalized model parameters for a generalized machine learning model to predict data values; using, by the at least one processor, an outlier-related machine learning model to predict outlier activity-related data values for a set of outlier activity-related data; and using, by the at least one processor, a machine learning model related to the outlier values to predict values of the activity-related data.

[0010] Системы и способы вариантов осуществления настоящего изобретения, дополнительно включающие в себя: обучение посредством по меньшей мере одного процессора с использованием набора обучающих данных, обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных; использование посредством по меньшей мере одного процессора обобщенной модели машинного обучения для прогнозирования значений связанных с активностью данных для набора связанных с активностью данных; использование посредством по меньшей мере одного процессора модели машинного обучения классификаторов выбросовых значений для идентификации выбросовых значений связанных с активностью данных из значений связанных с активностью данных; и удаление посредством по меньшей мере одного процессора выбросовых значений связанных с активностью данных.[0010] Systems and methods of embodiments of the present invention, further including: training, by at least one processor using a set of training data, generalized model parameters for a generalized machine learning model to predict data values; using, by the at least one processor, a generalized machine learning model to predict activity-related data values for the set of activity-related data; using, by at least one machine learning model processor, outlier value classifiers to identify outlier activity-related data values from the activity-related data values; and removing, by the at least one processor, the activity-related data outlier values.

[0011] Системы и способы вариантов осуществления настоящего изобретения, в которых набор обучающих данных включает в себя по меньшей мере один связанный с активностью атрибут прочности на сжатие бетона в качестве функции от состава бетона и отверждающего возедйствия на бетон.[0011] Systems and methods of embodiments of the present invention, wherein the training data set includes at least one activity-related attribute of concrete compressive strength as a function of concrete composition and curing action on the concrete.

[0012] Системы и способы вариантов осуществления настоящего изобретения, в которых набор обучающих данных включает в себя по меньшей мере один связанный с активностью атрибут данных использования энергии в качестве функции от бытовых окружающих условий и условий освещения.[0012] Systems and methods of embodiments of the present invention, wherein the training data set includes at least one activity-related energy use data attribute as a function of household environmental and lighting conditions.

[0013] Системы и способы вариантов осуществления настоящего изобретения, дополнительно включающие в себя: прием посредством по меньшей мере одного процессора запроса интерфейса прикладного программирования (API), чтобы формировать прогнозирование по меньшей мере с одним элементом данных; и создание посредством по меньшей мере одного процессора экземпляра по меньшей мере одного облачного вычислительного ресурса для планирования выполнения модели машинного обучения; использование посредством по меньшей мере одного процессора согласно планированию для выполнения модели машинного обучения для прогнозирования по меньшей мере одного значения элемента связанных с активностью данных по меньшей мере для одного элемента данных; и возврат посредством по меньшей мере одного процессора по меньшей мере одного значения элемента связанных с активностью данных в вычислительное устройство, ассоциированное с запросом API.[0013] Systems and methods of embodiments of the present invention, further comprising: receiving, by at least one processor, an application programming interface (API) request to generate a prediction with at least one data item; and creating, by the at least one processor, an instance of at least one cloud computing resource for scheduling execution of the machine learning model; using, by the at least one processor as scheduled, to execute a machine learning model to predict at least one activity-related data item value for the at least one data item; and returning, by the at least one processor, at least one activity-related data element value to a computing device associated with the API request.

[0014] Системы и способы вариантов осуществления настоящего изобретения, в которых набор обучающих данных включает в себя по меньшей мере один связанный с активностью атрибут формирования трехмерных изображений пациентов набора медицинских данных; и в которых модель машинного обучения выполнена с возможностью прогнозирования значений связанных с активностью данных, включающих в себя два или более параметров физического рендеринга на основе набора медицинских данных.[0014] Systems and methods of embodiments of the present invention, wherein the training data set includes at least one activity-related attribute of generating 3D patient images of the medical data set; and wherein the machine learning model is configured to predict values of activity-related data including two or more physical rendering parameters based on the medical data set.

[0015] Системы и способы вариантов осуществления настоящего изобретения, в которых набор обучающих данных включает в себя по меньшей мере один связанный с активностью атрибут результатов моделированного управления для электронных машинных команд; и в которых модель машинного обучения выполнена с возможностью прогнозирования значений связанных с активностью данных, включающих в себя команды управления для электронной машины.[0015] Systems and methods of embodiments of the present invention, wherein the training data set includes at least one activity-related simulated control result attribute for electronic machine instructions; and wherein the machine learning model is configured to predict values of activity-related data including control commands for the electronic machine.

[0016] Системы и способы вариантов осуществления настоящего изобретения, дополнительно включающие в себя: разбиение посредством по меньшей мере одного процессора набора связанных с активностью данных на множество поднаборов связанных с активностью данных; определение посредством по меньшей мере одного процессора модели из ансамбля для каждого поднабора связанных с активностью данных из множества поднаборов связанных с активностью данных; причем модель машинного обучения включает в себя ансамбль моделей; причем каждая модель из ансамбля включает в себя случайное сочетание моделей из ансамбля моделей; использование посредством по меньшей мере одного процессора каждой модели из ансамбля по отдельности для прогнозирования относящихся к ансамблю значений связанных с активностью данных; определение посредством по меньшей мере одного процессора ошибки для каждой модели из ансамбля на основе относящихся к ансамблю значений связанных с активностью данных и известных значений; и выбор посредством по меньшей мере одного процессора модели из ансамбля с наилучшими функциональными параметрами на основе наименьшей ошибки.[0016] Systems and methods of embodiments of the present invention, further comprising: partitioning, by at least one processor, a set of activity-related data into a plurality of subsets of activity-related data; determining, by at least one processor, an ensemble model for each subset of activity-related data from the plurality of subsets of activity-related data; wherein the machine learning model includes an ensemble of models; wherein each model from the ensemble includes a random combination of models from the ensemble of models; using, by at least one processor, each model from the ensemble separately to predict ensemble-related activity-related data values; determining, by at least one processor, an error for each model in the ensemble based on ensemble-specific activity-related data values and known values; and selecting, by the at least one processor, a model from the ensemble with the best performance parameters based on the least error.

Краткое описание чертежейBrief description of drawings

[0017] Различные варианты осуществления настоящего изобретения дополнительно могут поясняться со ссылкой на прилагаемые чертежи, на которых аналогичные структуры указаны аналогичными позициями на нескольких видах. Показанные чертежи не обязательно выполнены в масштабе, вместо этого акцент делается в общем на иллюстрации принципов настоящего изобретения. Следовательно, конкретные структурные и функциональные подробности, раскрытые в данном документе, должны интерпретироваться не в качестве ограничения, а просто в качестве характерной основы для обучения специалистов в данной области техники на предмет различного использования одного или более иллюстративных вариантов осуществления.[0017] Various embodiments of the present invention may be further illustrated with reference to the accompanying drawings, in which like structures are indicated by like numerals in several views. The drawings shown are not necessarily to scale, but instead the emphasis is generally on illustrating the principles of the present invention. Accordingly, the specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for training those skilled in the art in the various uses of one or more illustrative embodiments.

[0018] Фиг. 1-14B показывают одну или более принципиальных блок-схем, определенных компьютерных архитектур и/или снимков экрана различных специализированных графических пользовательских интерфейсов, которые иллюстрируют некоторые примерные аспекты по меньшей мере некоторых вариантов осуществления настоящего изобретения.[0018] FIG. 1-14B show one or more schematic block diagrams, certain computer architectures, and/or screen shots of various specialized graphical user interfaces that illustrate certain exemplary aspects of at least some embodiments of the present invention.

Осуществление изобретенияCarrying out the invention

[0019] В данном документе раскрыты различные подробные варианты осуществления настоящего изобретения, рассматриваемые в сочетании с сопровождающими чертежами; однако следует понимать, что раскрытые варианты осуществления являются лишь иллюстративными. Кроме того, каждый из примеров, приведенных в связи с различными вариантами осуществления настоящего изобретения, подразумевается иллюстративным, а не ограничивающим.[0019] Various detailed embodiments of the present invention are disclosed herein when taken in conjunction with the accompanying drawings; however, it should be understood that the disclosed embodiments are illustrative only. Moreover, each of the examples given in connection with various embodiments of the present invention is intended to be illustrative and not limiting.

[0020] Во всем подробном описании следующие термины принимают смысловые значения, явным образом присвоенные им в данном документе, если контекст явно не предписывает иное. Словосочетания «в одном варианте осуществления» и «в некоторых вариантах осуществления» при использовании в данном документе не обязательно означают одни и те же вариант(ы) осуществления, хотя и могут означать. Кроме того, словосочетания «в другом варианте осуществления» и «в некоторых других вариантах осуществления» при использовании в данном документе не обязательно означают другой вариант осуществления, хотя и могут означать. Таким образом, как описано ниже, различные варианты осуществления могут легко объединяться без отступления от объема или сущности настоящего изобретения.[0020] Throughout the detailed description, the following terms have the meanings expressly assigned to them herein, unless the context clearly dictates otherwise. The phrases “in one embodiment” and “in some embodiments” when used herein do not necessarily mean the same embodiment(s), although they may. In addition, the phrases “in another embodiment” and “in certain other embodiments” when used herein do not necessarily mean another embodiment, although they may. Thus, as described below, various embodiments can be easily combined without departing from the scope or spirit of the present invention.

[0021] Помимо этого, термин «на основе» не является исключающим и позволяет основываться на дополнительных, не описанных факторах, если контекст явно не предписывает иное. Помимо этого, во всем подробном описании, смысловое значение терминов в единственном числе включает в себя указания на множественное число. Значение «в» включает в себя «в» и «на».[0021] In addition, the term “based on” is non-exclusive and allows reliance on additional factors not described unless the context clearly dictates otherwise. In addition, throughout the detailed description, the meaning of terms in the singular includes references to the plural. The meaning of "in" includes "in" and "on".

[0022] Следует понимать, что по меньшей мере один аспект/функциональность различных вариантов осуществления, описанных в данном документе, может выполняться в реальном времени и/или динамически. При использовании в данном документе термин «реальное время» направлен на событие/действие, которое может происходить мгновенно или почти мгновенно со временем, когда произошло другое событие. Например, «обработка в реальном времени», «вычисление в реальном времени» и «выполнение в реальном времени» относятся к выполнению вычисления в течение фактического времени, когда происходит соответствующий физический процесс (например, взаимодействие пользователя с приложением на мобильном устройстве), так что результаты вычисления могут использоваться при управлении физическим процессом.[0022] It should be understood that at least one aspect/functionality of the various embodiments described herein may be performed in real time and/or dynamically. As used herein, the term "real time" refers to an event/action that may occur instantaneously or nearly instantaneously with the time at which another event occurred. For example, “real-time processing,” “real-time computation,” and “real-time execution” refer to performing a computation during the actual time that the corresponding physical process is occurring (such as a user interacting with an application on a mobile device), such that The calculation results can be used to control a physical process.

[0023] При использовании в данном документе термин «динамически» и термин «автоматически» и их логические и/или лингвистические родственные понятия и/или производные понятия означают, что определенные события и/или действия могут инициироваться и/или происходить вообще без вмешательства человека. В некоторых вариантах осуществления, события и/или действия в соответствии с настоящим изобретением могут осуществляться в реальном времени и/или на основе предварительно определенной периодичности как по меньшей мере одно из: наносекунды, нескольких наносекунд, миллисекунды, нескольких миллисекунд, секунды, нескольких секунд, минуты, нескольких минут, ежечасно, нескольких часов, ежедневно, нескольких дней, еженедельно, ежемесячно и т.д.[0023] As used herein, the term "dynamically" and the term "automatically" and their logical and/or linguistic cognates and/or derivatives mean that certain events and/or actions can be initiated and/or occur without any human intervention at all. . In some embodiments, events and/or actions in accordance with the present invention may occur in real time and/or based on a predetermined periodicity such as at least one of: nanoseconds, several nanoseconds, milliseconds, several milliseconds, seconds, several seconds, minutes, several minutes, hourly, several hours, daily, several days, weekly, monthly, etc.

[0024] В некоторых вариантах осуществления, примерные специально программируемые вычислительные системы согласно изобретению с ассоциированными устройствами выполнены с возможностью работы в распределенном сетевом окружении, с обменом данными между собой по одной или более подходящих сетей передачи данных (например, Интернет, спутниковых и т.д.) и использованием одного или более подходящих протоколов/режимов обмена данными, таких как, не ограничиваясь, IPX/SPX, X.25, AX.25, AppleTalk(TM), TCP/IP (например, HTTP), беспроводная связь ближнего действия (NFC), RFID, узкополосный Интернет вещей (NBIoT), 3G, 4G, 5G, GSM, GPRS, Wi-Fi, WiMAX, CDMA, спутниковая связь, ZigBee и другие подходящие режимы связи. В некоторых вариантах осуществления, NFC может представлять технологию ближней беспроводной связи, в которой устройства с поддержкой NFC «проводятся», «соприкасаются», «быстро прикасаются» или иным образом перемещаются в непосредственной близости для обмена данными.[0024] In some embodiments, exemplary purpose-programmable computing systems of the invention with associated devices are configured to operate in a distributed network environment, communicating with each other over one or more suitable data networks (e.g., Internet, satellite, etc. .) and using one or more suitable communication protocols/modes such as, but not limited to, IPX/SPX, X.25, AX.25, AppleTalk(TM), TCP/IP (e.g. HTTP), short range wireless (NFC), RFID, Narrow Band Internet of Things (NBIoT), 3G, 4G, 5G, GSM, GPRS, Wi-Fi, WiMAX, CDMA, Satellite, ZigBee and other suitable communication modes. In some embodiments, NFC may represent a near-field communication technology in which NFC-enabled devices are “swiped,” “touched,” “quick-touched,” or otherwise moved in close proximity to exchange data.

[0025] Материал, раскрытый в данном документе, может быть реализован в программном обеспечении или микропрограммном обеспечении либо в их сочетании, или в виде инструкций, сохраненных на машиночитаемом носителе, которые могут считываться и выполняться посредством одного или более процессоров. Машиночитаемый носитель может включать в себя любой носитель и/или механизм для сохранения или передачи информации в машиночитаемой форме (например, вычислительного устройства). Например, машиночитаемый носитель может включать в себя постоянное запоминающее устройство (ROM); оперативное запоминающее устройство (RAM); носители хранения данных на магнитных дисках; оптические носители хранения данных; устройства флэш-памяти; электрические, оптические, акустические или другие формы распространяемых сигналов (например, несущие волны, инфракрасные сигналы, цифровые сигналы и т.д.) и другие.[0025] The material disclosed herein may be implemented in software or firmware, or a combination thereof, or as instructions stored on a computer-readable medium that can be read and executed by one or more processors. Computer-readable media may include any medium and/or mechanism for storing or transmitting information in machine-readable form (eg, a computing device). For example, a computer-readable medium may include a read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustic or other forms of propagated signals (for example, carrier waves, infrared signals, digital signals, etc.) and others.

[0026] При использовании в данном документе, термины «компьютерный механизм» и «механизм» идентифицируют по меньшей мере один программный компонент и/либо сочетание по меньшей мере одного программного компонента и по меньшей мере одного аппаратного компонента, которые проектируются/программируются/конфигурируются с возможностью регулирования/управления другими программными и/или аппаратными компонентами (такими как библиотеки, комплекты разработки программного обеспечения (SDK), объекты и т.д.).[0026] As used herein, the terms “computer engine” and “engine” identify at least one software component and/or combination of at least one software component and at least one hardware component that is designed/programmed/configured with the ability to regulate/manage other software and/or hardware components (such as libraries, software development kits (SDKs), objects, etc.).

[0027] Примеры аппаратных элементов могут включать в себя процессоры, микропроцессоры, схемы, схемные элементы (такие как транзисторы, резисторы, конденсаторы, индукторы и т.п.), интегральные схемы, специализированные интегральные схемы (ASIC), программируемые логические устройства (PLD), процессоры цифровых сигналов (DSP), программируемую пользователем вентильную матрицу (FPGA), логические вентили, регистры, полупроводниковые устройства, микросхемы, небольшие микросхемы, наборы микросхем и т.п. В некоторых вариантах осуществления, один или более процессоров могут реализовываться как процессоры на базе архитектуры компьютера со сложным набором команд (CISC) или компьютера с сокращенным набором команд (RISC); совместимые с x86-набором команд процессоры, многоядерный или любой другой микропроцессор или центральный процессор (CPU). В различных реализациях, один или более процессоров могут представлять собой двухъядерный процессор(ы), двухъядерный мобильный процессор(ы) и т.д.[0027] Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (such as transistors, resistors, capacitors, inductors, and the like), integrated circuits, application specific integrated circuits (ASICs), programmable logic devices (PLDs) ), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor devices, ICs, small chips, chipsets, etc. In some embodiments, one or more processors may be implemented as complex instruction set computer (CISC) or reduced instruction set computer (RISC) architecture-based processors; x86 instruction set compatible processors, multi-core or any other microprocessor or central processing unit (CPU). In various implementations, one or more processors may be dual-core processor(s), dual-core mobile processor(s), etc.

[0028] Примеры программного обеспечения могут включать в себя программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционной системы, промежуточное программное обеспечение, микропрограммное обеспечение, программные модули, стандартные программы, подпрограммы, функции, методы, процедуры, программные интерфейсы, интерфейсы прикладного программирования (API), наборы инструкций, вычислительный код, компьютерный код, сегменты кода, сегменты компьютерного кода, слова, значения, символы либо любое их сочетание. Определение того, реализуется ли вариант осуществления с использованием аппаратных элементов и/или программных элементов, может варьироваться в соответствии с любым числом факторов, таких как требуемая скорость вычислений, уровни мощности, теплостойкость, бюджет цикла обработки, скорости передачи входных данных, скорости передачи выходных данных, ресурсы запоминающего устройства, скорости шин данных и другие проектные ограничения или ограничения по производительности.[0028] Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, program modules, routines, routines, functions , methods, procedures, programming interfaces, application programming interfaces (APIs), instruction sets, computational code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary according to any number of factors, such as required computing speed, power levels, thermal tolerances, processing cycle budget, input data rates, output data rates , storage resources, data bus speeds, and other design or performance constraints.

[0029] Один или более аспектов по меньшей мере одного варианта осуществления могут реализовываться посредством характерных инструкций, сохраненных на машиночитаемом носителе, которые представляют различную логику в процессоре, которые, при считывании посредством машины, предписывают машине создавать логику, чтобы выполнять технологии, описанные в данном документе. Такие представления, известные как «IP-ядра», могут сохраняться на материальном машиночитаемом носителе и передаваться различным клиентам или на различные заводы для загрузки в производственное оборудование, которое создает логику или процессор. Следует отметить, что различные варианты осуществления, описанные в данном документе, конечно, могут реализовываться с использованием любых соответствующих аппаратных средств и/или языков для создания вычислительного программного обеспечения (например, C++, Objective C, Swift, Java, JavaScript, Python, Perl, QT и т.д.).[0029] One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium that represent various logic in a processor that, when read by the machine, cause the machine to generate logic to perform the technologies described herein document. Such representations, known as “IP cores,” may be stored on a tangible machine-readable medium and transmitted to various clients or factories for loading into manufacturing equipment that creates the logic or processor. It should be noted that the various embodiments described herein can, of course, be implemented using any suitable hardware and/or computing software languages (e.g., C++, Objective C, Swift, Java, JavaScript, Python, Perl, QT, etc.).

[0030] В некоторых вариантах осуществления, одно или более примерных компьютерных устройств согласно изобретению по настоящему изобретению могут включать в себя или включаться, частично или полностью по меньшей мере в один персональный компьютер (PC), переносной компьютер, ультрапереносной компьютер, планшетный компьютер, сенсорную панель, портативный компьютер, карманный компьютер, карманный компьютер, карманный персональный компьютер (PDA), сотовый телефон, комбинированный сотовый телефон/PDA, телевизионный приемник, интеллектуальное устройство (например, смартфон, интеллектуальный планшетный компьютер или интеллектуальный телевизионный приемник), мобильное Интернет-устройство (MID), устройство для обмена сообщениями, устройство обмена данными и т.д.[0030] In some embodiments, one or more exemplary inventive computer devices of the present invention may include or be included, in part or in whole, in at least one personal computer (PC), laptop computer, ultra-portable computer, tablet computer, touchscreen panel, laptop, handheld computer, handheld computer, personal digital assistant (PDA), cell phone, cell phone/PDA combo, television, smart device (such as a smartphone, smart tablet or smart TV), mobile Internet device (MID), messaging device, data communication device, etc.

[0031] При использовании в данном документе следует понимать, что термин «сервер» означает точку оказания услуг, которая обеспечивает средства обработки, управления базами данных и связи. В качестве примера, а не ограничения, термин «сервер» может означать один физический процессор с ассоциированными средствами связи и хранения данных и управления базами данных, либо он может означать сетевой или кластеризованный комплекс процессоров и ассоциированных сетевых устройств и устройств хранения данных, а также системного программного обеспечения и одной или более систем баз данных и прикладного программного обеспечения, которые поддерживают услуги, оказываемые посредством сервера. Облачные серверы представляют собой примеры.[0031] As used herein, the term “server” should be understood to mean a service delivery point that provides processing, database management, and communication facilities. By way of example, and not limitation, the term "server" may mean a single physical processor with associated communications, storage and database management facilities, or it may mean a networked or clustered complex of processors and associated network and storage devices, as well as system software and one or more database systems and application software that support the services provided through the server. Cloud servers provide examples.

[0032] В некоторых вариантах осуществления, как подробно описано в данном документе, одна или более примерных компьютерных систем согласно изобретению по настоящему изобретению могут получать, обрабатывать, передавать, сохранять, преобразовывать, формировать и/или выводить любой цифровой объект и/или единицу данных (например, изнутри и/или за пределами конкретного варианта применения), которая может иметь любую подходящую форму, к примеру, без ограничения, файла, контакта, задачи, почтового сообщения, твита, карты, целого приложения (например, калькулятора) и т.д. В некоторых вариантах осуществления, как подробно описано в данном документе, одна или более примерных компьютерных систем согласно изобретению по настоящему изобретению могут быть реализованы через одну или более различных компьютерных платформ, таких как, не ограничиваясь: (1) AmigaOS, AmigaOS 4, (2) FreeBSD, NetBSD, OpenBSD, (3) Linux, (4) Microsoft Windows, (5) OpenVMS, (6) OS X (Mac OS), (7) OS/2, (8) Solaris, (9) Tru64 UNIX, (10) VM, (11) Android, (12) Bada, (13) BlackBerry OS, (14) Firefox OS, (15) iOS, (16) Embedded Linux, (17) Palm OS, (18) Symbian, (19) Tizen, (20) WebOS, (21) Windows Mobile, (22) Windows Phone, (23) Adobe AIR, (24) Adobe Flash, (25) Adobe Shockwave, (26) Binary Runtime Environment for Wireless (BREW), (27) Cocoa (API), (28) Cocoa Touch, (29) Java Platforms, (30) JavaFX, (31) JavaFX Mobile, (32) Microsoft XNA, (33) Mono, (34) Mozilla Prism, XUL and XULRunner, (35).NET Framework, (36) Silverlight, (37) Open Web Platform, (38) Oracle Database, (39) Qt, (40) SAP NetWeaver, (41) Smartface, (42) Vexi и (43) Windows Runtime.[0032] In some embodiments, as described in detail herein, one or more exemplary computer systems of the present invention may receive, process, transmit, store, transform, generate, and/or output any digital object and/or unit of data (e.g., from within and/or outside of a particular use case), which may take any suitable form, such as, but not limited to, a file, a contact, a task, an email, a tweet, a map, an entire application (e.g., a calculator), etc. d. In some embodiments, as described in detail herein, one or more exemplary computer systems of the present invention may be implemented through one or more different computer platforms, such as, but not limited to: (1) AmigaOS, AmigaOS 4, (2 ) FreeBSD, NetBSD, OpenBSD, (3) Linux, (4) Microsoft Windows, (5) OpenVMS, (6) OS X (Mac OS), (7) OS/2, (8) Solaris, (9) Tru64 UNIX , (10) VM, (11) Android, (12) Bada, (13) BlackBerry OS, (14) Firefox OS, (15) iOS, (16) Embedded Linux, (17) Palm OS, (18) Symbian, (19) Tizen, (20) WebOS, (21) Windows Mobile, (22) Windows Phone, (23) Adobe AIR, (24) Adobe Flash, (25) Adobe Shockwave, (26) Binary Runtime Environment for Wireless (BREW) ), (27) Cocoa (API), (28) Cocoa Touch, (29) Java Platforms, (30) JavaFX, (31) JavaFX Mobile, (32) Microsoft XNA, (33) Mono, (34) Mozilla Prism, XUL and XULRunner, (35).NET Framework, (36) Silverlight, (37) Open Web Platform, (38) Oracle Database, (39) Qt, (40) SAP NetWeaver, (41) Smartface, (42) Vexi and (43) Windows Runtime.

[0033] В некоторых вариантах осуществления, примерные компьютерные системы согласно изобретению и/или примерные компьютерные устройства согласно изобретению по настоящему изобретению могут быть выполнены с возможностью использования аппаратно реализованной схемы, которая может использоваться вместо или в сочетании с программными инструкциями для реализации признаков в соответствии с принципами изобретения. Таким образом, реализации, согласованные с принципами изобретения, не ограничены каким-либо конкретным сочетанием аппаратной схемы и программного обеспечения. Например, различные варианты осуществления могут осуществляться множеством различных способов в качестве программного компонента, к примеру, без ограничения, автономного программного пакета, сочетания программных пакетов, либо они могут представлять собой программный пакет, включенный в качестве «инструментального средства» в больший программный продукт.[0033] In some embodiments, exemplary computer systems of the invention and/or exemplary computer devices of the invention may be configured to use hardware-implemented circuitry that may be used instead of or in combination with software instructions to implement features in accordance with principles of the invention. Thus, implementations consistent with the principles of the invention are not limited to any particular combination of hardware circuit and software. For example, various embodiments may be implemented in a variety of different ways as a software component, such as, but not limited to, a standalone software package, a combination of software packages, or they may be a software package included as a “tool” in a larger software product.

[0034] Например, примерное программное обеспечение, специально программируемое в соответствии с одним или более принципов настоящего изобретения, может быть загружаемым из сети, например, из веб-узла, в качестве автономного продукта или в качестве надстраиваемого пакета для установки в существующем программном приложении. Например, примерное программное обеспечение, специально программируемое в соответствии с одним или более принципов настоящего изобретения, также может быть доступным в качестве клиент-серверного программного приложения или в качестве программного веб-приложения. Например, примерное программное обеспечение, специально программируемое в соответствии с одним или более принципов настоящего изобретения, также может осуществляться в качестве программного пакета, установленного на аппаратном устройстве.[0034] For example, exemplary software specifically programmable in accordance with one or more principles of the present invention may be downloaded from a network, such as from a Web site, as a standalone product, or as a plug-in package for installation in an existing software application. For example, exemplary software specifically programmed in accordance with one or more principles of the present invention may also be available as a client-server software application or as a web-based software application. For example, exemplary software specifically programmed in accordance with one or more principles of the present invention may also be implemented as a software package installed on a hardware device.

[0035] В некоторых вариантах осуществления, примерные компьютерные системы/платформы согласно изобретению, примерные компьютерные устройства согласно изобретению и/или примерные компьютерные компоненты согласно изобретению по настоящему изобретению могут быть выполнены с возможностью обработки множества параллельных пользователей, которые могут составлять, не ограничиваясь, по меньшей мере 100 (например, не ограничиваясь, 100-999) по меньшей мере 1000 (например, не ограничиваясь, 1000-9999) по меньшей мере 10000 (например, не ограничиваясь, 10000-99999) по меньшей мере 100000 (например, не ограничиваясь, 100000-999999) по меньшей мере 1000000 (например, не ограничиваясь, 1000000-9999999) по меньшей мере 10000000 (например, не ограничиваясь, 10000000-99999999) по меньшей мере 100000000 (например, не ограничиваясь, 100000000-999999999) по меньшей мере 1000000000 (например, не ограничиваясь, 1000000000-10000000000).[0035] In some embodiments, exemplary computer systems/platforms of the invention, exemplary computer devices of the invention, and/or exemplary computer components of the invention of the present invention may be configured to handle multiple concurrent users, which may be, but are not limited to, at least 100 (e.g., but not limited to, 100-999) at least 1000 (e.g., but not limited to, 1000-9999) at least 10,000 (e.g., but not limited to, 10,000-99999) at least 100,000 (e.g., but not limited to , 100000-999999) at least 1000000 (for example, but not limited to, 1000000-9999999) at least 10000000 (for example, but not limited to, 10000000-99999999) at least 100000000 (for example, but not limited to, 100000000- 999999999) at least 1000000000 (for example, but not limited to, 1000000000-10000000000).

[0036] В некоторых вариантах осуществления, примерные компьютерные системы согласно изобретению и/или примерные компьютерные устройства согласно изобретению по настоящему изобретению могут быть выполнены с возможностью вывода в отдельные реализации специально программируемого графического пользовательского интерфейса настоящего изобретения (например, в настольное приложение, веб-приложение и т.д.). В различных реализациях настоящего изобретения, конечный вывод может отображаться на отображающем экране, который, без ограничения, может представлять собой экран компьютера, экран мобильного устройства и т.п. В различных реализациях, дисплей может представлять собой голографический дисплей. В различных реализациях, дисплей может представлять собой прозрачную поверхность, которая может принимать визуальную проекцию. Такие проекции могут передавать различные формы информации, изображений и/или объектов. Например, такие проекции могут представлять собой визуальное наложение для приложения в стиле мобильной дополненной реальности (MAR).[0036] In some embodiments, exemplary computer systems of the present invention and/or exemplary computer devices of the present invention may be configured to output to separate implementations of a specially programmable graphical user interface of the present invention (e.g., a desktop application, a web application etc.). In various implementations of the present invention, the final output may be displayed on a display screen, which may be, without limitation, a computer screen, a mobile device screen, or the like. In various implementations, the display may be a holographic display. In various implementations, the display may be a transparent surface that can receive a visual projection. Such projections can convey various forms of information, images and/or objects. For example, such projections could provide a visual overlay for a mobile augmented reality (MAR) style application.

[0037] При использовании в данном документе, термины «облако», «Интернет-облако», «облачные вычисления», «облачная архитектура» и аналогичные термины соответствуют по меньшей мере одному из следующего: (1) большое число компьютеров, соединенных через сеть связи в реальном времени (например, Интернет); (2) обеспечение возможности одновременного выполнения программы или приложения на множестве соединенных компьютеров (например, физических машин, виртуальных машин (VM)); (3) сетевые услуги, которые очевидно оказываются посредством реальных серверных аппаратных средств и фактически обслуживаются посредством виртуальных аппаратных средств (например, виртуальных серверов), моделированных посредством программного обеспечения, выполняющегося на одной или более реальных машин (например, с обеспечением возможности перемещения и увеличения (или уменьшения)непосредственного масштабирования без влияния на конечного пользователя).[0037] As used herein, the terms "cloud", "Internet cloud", "cloud computing", "cloud architecture" and similar terms refer to at least one of the following: (1) a large number of computers connected through a network real-time communications (eg Internet); (2) allowing a program or application to run simultaneously on multiple connected computers (eg, physical machines, virtual machines (VMs)); (3) network services that are apparently provided by real server hardware and are actually served by virtual hardware (e.g., virtual servers) modeled by software running on one or more real machines (e.g., allowing relocation and expansion of ( or downscaling (scaling directly without impact on the end user).

[0038] В некоторых вариантах осуществления, примерные компьютерные системы согласно изобретению и/или примерные компьютерные устройства согласно изобретению по настоящему изобретению могут быть выполнены с возможностью защищенного сохранения и/или передачи данных посредством использования одной или более технологий шифрования (например, технологии на основе пары закрытого/открытого ключа, стандарта тройного шифрования данных (3DES), алгоритмов блочного шифрования (например, IDEA, RC2, RC5, CAST и Skipjack), криптографических хэш-алгоритмов (например, MD5, RIPEMD-160, RTR0, SHA-1, SHA-2, Tiger (TTH),WHIRLPOOL, RNG).[0038] In some embodiments, exemplary computer systems of the invention and/or exemplary computer devices of the invention of the present invention may be configured to securely store and/or transmit data through the use of one or more encryption technologies (e.g., pair-based technologies). private/public key, Triple Data Encryption Standard (3DES), block cipher algorithms (e.g. IDEA, RC2, RC5, CAST and Skipjack), cryptographic hash algorithms (e.g. MD5, RIPEMD-160, RTR0, SHA-1, SHA -2, Tiger (TTH), WHIRLPOOL, RNG).

[0039] Вышеуказанные примеры, конечно, являются иллюстративными, а не ограничивающими.[0039] The above examples are, of course, illustrative and not limiting.

[0040] При использовании в данном документе, термин «пользователь» должен иметь смысловое значение по меньшей мере одного пользователя. В некоторых вариантах осуществления, следует понимать, что термины «пользователь», «абонент», «потребитель» или «клиент» означают пользователя приложения или приложений, как описано в данном документе, и/или потребителя данных, обеспечиваемые поставщиком данных. В качестве примера, а не ограничения, термины «пользователь» или «абонент» могут означать пользователя, который принимает данные, обеспечиваемые поставщиком данных или услуг по Интернету в сеансе браузера, либо могут означать автоматизированное программное приложение, которое принимает данные и сохраняет или обрабатывает данные.[0040] When used herein, the term "user" must have the meaning of at least one user. In some embodiments, the terms “user,” “subscriber,” “consumer,” or “client” should be understood to mean a user of an application or applications as described herein and/or a consumer of data provided by a data provider. By way of example, and not limitation, the terms "user" or "subscriber" may mean a user who accepts data provided by a data or service provider over the Internet in a browser session, or may mean an automated software application that accepts data and stores or processes the data .

[0041] Фиг. 1 иллюстрирует блок-схему примерной компьютерной системы 100 для уменьшения отклонения в машинном обучении в соответствии с одним или более вариантов осуществления настоящего изобретения. Тем не менее, не все эти компоненты могут требоваться для осуществления на практике одного или более вариантов осуществления, и варьирования в компоновку и тип компонентов могут вноситься без отступления от сущности или объема различных вариантов осуществления настоящего изобретения. В некоторых вариантах осуществления, примерные вычислительные устройства согласно изобретению и/или примерные вычислительные компоненты согласно изобретению в примерной компьютерной системе 100 могут быть выполнены с возможностью управления большим числом членов и/или параллельных транзакций, как подробно описано в данном документе. В некоторых вариантах осуществления, примерная компьютерная система/платформа 100 может быть основана на масштабируемой компьютерной и/или сетевой архитектуре, которая включает варьирующиеся стратегии для оценки данных, кэширования, выполнения поиска и/или объединения в пул соединений с базой данных, включающие в себя уменьшение динамического отклонения, обусловленного выбросовыми значениями (DOBR), как описано в вариантах осуществления в данном документе. Пример масштабируемой архитектуры представляет собой архитектуру, которая допускает работу нескольких серверов.[0041] FIG. 1 illustrates a block diagram of an exemplary computer system 100 for reducing bias in machine learning in accordance with one or more embodiments of the present invention. However, not all of these components may be required to practice one or more embodiments, and variations in the arrangement and type of components may be made without departing from the spirit or scope of the various embodiments of the present invention. In some embodiments, exemplary computing devices according to the invention and/or exemplary computing components according to the invention in an exemplary computer system 100 may be configured to handle a large number of members and/or concurrent transactions, as described in detail herein. In some embodiments, the exemplary computer system/platform 100 may be based on a scalable computer and/or network architecture that includes varying strategies for evaluating data, caching, performing lookups, and/or pooling database connections, including reducing dynamic outlier deviation (DOBR) as described in the embodiments herein. An example of a scalable architecture is an architecture that allows multiple servers to operate.

[0042] В некоторых вариантах осуществления, обращаясь к фиг. 1, члены 102-104 (например, клиенты) примерной компьютерной системы 100 могут включать в себя фактически любое вычислительное устройство, допускающее прием и отправку сообщения по сети (например, по облачной сети), к примеру, сети 105, в/из другого вычислительного устройства, к примеру, серверов 106 и 107, между собой и т.п. В некоторых вариантах осуществления, устройства-члены 102-104 могут представлять собой персональные компьютеры, многопроцессорные системы, микропроцессорные или программируемые бытовые электронные приборы, сетевые PC и т.п. В некоторых вариантах осуществления, одно или более устройств-членов в устройствах-членах 102-104 могут включать в себя вычислительные устройства, которые типично соединяются с использованием беспроводной среды связи, такие как сотовые телефоны, смартфоны, устройства поискового вызова, рации, радиочастотные (RF) устройства, инфракрасные (IR) устройства, CB, интегрированные устройства, комбинирующие одно или более предыдущих устройств, либо фактически любое мобильное вычислительное устройство и т.п. В некоторых вариантах осуществления, одно или более устройств-членов в устройствах-членах 102-104 могут представлять собой устройства, которые допускают соединение с использованием носителя проводной или беспроводной связи, такие как PDA, карманный компьютер, носимый компьютер, переносной компьютер, планшетный компьютер, настольный компьютер, нетбук, устройство для видеоигр, устройство поискового вызова, смартфон, ультрамобильный персональный компьютер (UMPC) и/или любое другое устройство, которое оснащается возможностями обмениваться данными по проводной и/или беспроводной среде связи (например, NFC, RFID, NBIoT, 3G, 4G, 5G, GSM, GPRS, Wi-Fi, WiMAX, CDMA, спутниковая связь, ZigBee и т.д.). В некоторых вариантах осуществления, одно или более устройств-членов в устройствах-членах 102-104 могут включать в себя, могут выполнять одно или более приложений, таких как Интернет-браузеры, мобильные приложения, голосовые вызовы, видеоигры, видеоконференц-связь и электронная почта, в числе других. В некоторых вариантах осуществления, одно или более устройств-членов в устройствах-членах 102-104 могут быть выполнены с возможностью приёма и отправки веб-страниц и т.п. В некоторых вариантах осуществления, примерное специально программируемое приложение браузера настоящего изобретения может быть выполнено с возможностью приёма и отображения графики, текста, мультимедиа и т.п. с использованием фактически любого веб-языка, включающего в себя, но не только, стандартный обобщенный язык разметки (SMGL), такой как язык разметки гипертекста (HTML), прикладной протокол беспроводной связи (WAP), язык разметки для карманных устройств (HDML), такой как язык разметки для беспроводной связи (WML), WMLScript, XML, JavaScript и т.п. В некоторых вариантах осуществления, устройство-член в устройствах-членах 102-104 может специально программироваться посредством Java.NET, QT, C, C++ и/или другого подходящего языка программирования. В некоторых вариантах осуществления, одно или более устройств-членов в устройствах-членах 102-104 могут специально программироваться таким образом, что они включают в себя или выполняют приложение для выполнения множества возможных задач, таких как, без ограничения, функциональность обмена сообщениями, просмотр, выполнение поиска, воспроизведение, потоковая передача или отображение различных форм контента, включающих в себя локально сохраненные или выгруженные сообщения, изображения и/или видео и/или игры.[0042] In some embodiments, referring to FIG. 1, members 102-104 (e.g., clients) of the exemplary computer system 100 may include virtually any computing device capable of receiving and sending a message over a network (e.g., a cloud network), such as network 105, to/from another computing device. devices, for example, servers 106 and 107, among themselves, etc. In some embodiments, member devices 102-104 may be personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics appliances, networked PCs, and the like. In some embodiments, one or more member devices in member devices 102-104 may include computing devices that typically communicate using a wireless communication medium, such as cellular phones, smart phones, paging devices, walkie-talkies, radio frequency (RF) ) devices, infrared (IR) devices, CB, integrated devices combining one or more previous devices, or virtually any mobile computing device, etc. In some embodiments, one or more member devices in member devices 102-104 may be devices that are capable of connection using a wired or wireless communication medium, such as a PDA, PDA, handheld computer, laptop computer, tablet computer, desktop computer, netbook, video game device, pager, smartphone, ultra mobile personal computer (UMPC), and/or any other device that is equipped with the ability to communicate over a wired and/or wireless communication medium (e.g., NFC, RFID, NBIoT, 3G, 4G, 5G, GSM, GPRS, Wi-Fi, WiMAX, CDMA, satellite, ZigBee, etc.). In some embodiments, one or more member devices in member devices 102-104 may include, may run one or more applications, such as Internet browsers, mobile applications, voice calling, video games, video conferencing, and email. , among others. In some embodiments, one or more member devices in member devices 102-104 may be configured to receive and send web pages and the like. In some embodiments, an exemplary custom browser application of the present invention may be configured to receive and display graphics, text, multimedia, and the like. using virtually any web language, including, but not limited to, Standard Generalized Markup Language (SMGL), such as Hypertext Markup Language (HTML), Wireless Application Protocol (WAP), Handheld Device Markup Language (HDML), such as Wireless Markup Language (WML), WMLScript, XML, JavaScript, etc. In some embodiments, the member device in member devices 102-104 may be specifically programmed using Java.NET, QT, C, C++ and/or other suitable programming language. In some embodiments, one or more member devices in member devices 102-104 may be specifically programmed to include or execute an application to perform a variety of possible tasks, such as, but not limited to, messaging functionality, browsing, searching, playing, streaming or displaying various forms of content, including locally stored or downloaded messages, images and/or videos and/or games.

[0043] В некоторых вариантах осуществления, примерная сеть 105 может обеспечивать сетевой доступ, транспортировку данных и/или другие услуги в любое вычислительное устройство, соединенное с ней. В некоторых вариантах осуществления, примерная сеть 105 может включать в себя и реализовывать по меньшей мере одну специализированную сетевую архитектуру, которая может быть основана по меньшей мере частично на одном или более стандартов, заданных, например, посредством, без ограничения, ассоциации по разработке стандартов глобальной системы мобильной связи (GSM), инженерной группы по развитию Интернета (IETF) и форума по разработке стандартов общемировой совместимости широкополосного беспроводного доступа (WiMax). В некоторых вариантах осуществления, примерная сеть 105 может реализовывать одно или более из архитектуры GSM, архитектуры на основе стандарта общей службы пакетной радиопередачи (GPRS), архитектуры на основе стандарта универсальной системы мобильной связи (UMTS) и развития архитектуры UMTS, называемого «стандартом долгосрочного развития (LTE)». В некоторых вариантах осуществления, примерная сеть 105 может включать в себя и реализовывать, в качестве альтернативы или в сочетании с одним или более из вышеуказанного, WiMAX-архитектуру, заданную посредством WiMAX-форума. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная сеть 105 также может включать в себя, например по меньшей мере одно из локальной вычислительной сети (LAN), глобальной вычислительной сети (WAN), Интернета, виртуальной LAN (VLAN), корпоративной LAN, виртуальной частной сети (VPN) уровня 3, корпоративной IP-сети либо любого их сочетания. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже по меньшей мере одна компьютерная сетевая связь по примерной сети 105 может передаваться по меньшей мере частично на основе одного из более режимов связи, таких как, но не только: NFC, RFID, узкополосный Интернет вещей (NBIoT), ZigBee, 3G, 4G, 5G, GSM, GPRS, Wi-Fi, WiMAX, CDMA, спутниковая связь и любое их сочетание. В некоторых вариантах осуществления, примерная сеть 105 также может включать в себя систему хранения данных большой емкости, такое как система хранения данных с подключением по сети (NAS), сеть хранения данных (SAN), сеть доставки контента (CDN) или другие формы компьютерных или машиночитаемых носителей.[0043] In some embodiments, exemplary network 105 may provide network access, data transport, and/or other services to any computing device connected thereto. In some embodiments, exemplary network 105 may include and implement at least one dedicated network architecture, which may be based at least in part on one or more standards defined, for example, through, but not limited to, a global standards association. Mobile Communications System (GSM), Internet Engineering Task Force (IETF) and the Worldwide Wireless Broadband Interoperability Forum (WiMax). In some embodiments, exemplary network 105 may implement one or more of a GSM architecture, a General Packet Radio Service (GPRS) architecture, a Universal Mobile Telecommunications System (UMTS) architecture, and an evolution of the UMTS architecture referred to as a "long term evolution standard" (LTE)". In some embodiments, exemplary network 105 may include and implement, alternatively or in combination with one or more of the above, a WiMAX architecture defined by a WiMAX forum. In some embodiments, and optionally in combination with any of the embodiments described above or below, the exemplary network 105 may also include, for example, at least one of a local area network (LAN), a wide area network (WAN), the Internet , virtual LAN (VLAN), enterprise LAN, Layer 3 virtual private network (VPN), enterprise IP network, or any combination thereof. In some embodiments, and optionally in combination with any of the embodiments described above or below, at least one computer network communication over the exemplary network 105 may be transmitted at least in part based on one of more communication modes, such as, but not limited to : NFC, RFID, Narrowband Internet of Things (NBIoT), ZigBee, 3G, 4G, 5G, GSM, GPRS, Wi-Fi, WiMAX, CDMA, satellite and any combination thereof. In some embodiments, the exemplary network 105 may also include a high-capacity storage system such as a network attached storage (NAS) system, a storage area network (SAN), a content delivery network (CDN), or other forms of computer or machine readable media.

[0044] В некоторых вариантах осуществления, примерный сервер 106 или примерный сервер 107 может представлять собой веб-сервер (или набор серверов), работающим под управлением сетевой операционной системы, примеры которого могут включать в себя, но не только, Microsoft Windows Server, Novell NetWare или Linux. В некоторых вариантах осуществления, примерный сервер 106 или примерный сервер 107 может использоваться для и/или обеспечивать облачные и/или сетевые вычисления. Хотя не показано на фиг. 1, в некоторых вариантах осуществления, примерный сервер 106 или примерный сервер 107 может иметь соединения с внешними системами, такими как электронная почта, обмен SMS-сообщениями, обмен текстовыми сообщениями, поставщики рекламного контента и т.д. Любой из признаков примерного сервера 106 также может реализовываться в примерном сервере 107, и наоборот.[0044] In some embodiments, example server 106 or example server 107 may be a web server (or set of servers) running a network operating system, examples of which may include, but are not limited to, Microsoft Windows Server, Novell NetWare or Linux. In some embodiments, example server 106 or example server 107 may be used for and/or enable cloud and/or network computing. Although not shown in FIG. 1, in some embodiments, example server 106 or example server 107 may have connections to external systems such as email, SMS messaging, text messaging, advertising content providers, etc. Any of the features of the example server 106 may also be implemented in the example server 107, and vice versa.

[0045] В некоторых вариантах осуществления, один или более примерных серверов 106 и 107 могут специально программироваться с возможностью работы, в неограничивающем примере, в качестве серверов аутентификации, поисковых серверов, почтовых серверов, серверов обеспечения услуг общения в социальных сетях, серверов SMS, серверов IM, серверов MMS, обменных серверов, серверов оказания услуг обмена фотографиями, серверов оказания рекламных услуг, серверов оказания финансовых/банковских услуг, серверов оказания туристических услуг либо любых аналогично подходящих серверов оказания услуг для пользователей вычислительных устройств-членов 101-104.[0045] In some embodiments, one or more example servers 106 and 107 may be specifically programmed to operate, in a non-limiting example, as authentication servers, search servers, mail servers, social media communication servers, SMS servers, IM servers, MMS servers, exchange servers, photo exchange servers, advertising service servers, financial/banking service servers, travel service servers, or any similarly suitable service server for users of member computing devices 101-104.

[0046] В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, например, одно или более примерных вычислительных устройств-членов 102-104, примерный сервер 106 и/или примерный сервер 107 могут включать в себя специально программируемый программный модуль, который может быть выполнен с возможностью отправки, обработки и приёма информации с использованием языка подготовки сценариев, удаленного вызова процедур, электронной почты, твита, службы коротких сообщений (SMS), службы мультимедийных сообщений (MMS), мгновенного обмена сообщениями (IM), ретранслируемого Интернет-чата (IRC), mIRC, Jabber, интерфейса прикладного программирования, способов взаимодействия на основе простого протокола доступа к объектам (SOAP), общей архитектуры посредника запросов к объектам (CORBA), HTTP (протокола передачи гипертекста), REST (передачи репрезентативного состояния) либо любого их сочетания.[0046] In some embodiments, and optionally in combination with any of the embodiments described above or below, for example, one or more example member computing devices 102-104, an example server 106, and/or an example server 107 may include a specially programmable software module that can be configured to send, process and receive information using a scripting language, remote procedure call, email, tweet, short message service (SMS), multimedia messaging service (MMS), instant messaging ( IM), Internet Relay Chat (IRC), mIRC, Jabber, Application Programming Interface, Simple Object Access Protocol (SOAP), Common Object Request Broker Architecture (CORBA), HTTP (Hypertext Transfer Protocol), REST (transfer of a representative state) or any combination thereof.

[0047] Фиг. 2 иллюстрирует блок-схему другой примерной компьютерной системы/платформы 200 в соответствии с одним или более вариантов осуществления настоящего изобретения. Тем не менее, не все эти компоненты могут требоваться для осуществления на практике одного или более вариантов осуществления, и изменения конфигурации и типа компонентов могут вноситься без отступления от сущности или объема различных вариантов осуществления настоящего изобретения. В некоторых вариантах осуществления, показанные вычислительные устройства-члены 202a, 202b-202n включают в себя по меньшей мере машиночитаемый носитель, такой как оперативное запоминающее устройство 208 (RAM), соединенное с процессором 210, или флэш-память. В некоторых вариантах осуществления, процессор 210 может выполнять машиноисполняемые программные инструкции, сохраненные в запоминающем устройстве 208. В некоторых вариантах осуществления, процессор 210 может включать в себя микропроцессор, ASIC и/или машину состояний. В некоторых вариантах осуществления, процессор 210 может включать в себя или может поддерживать связь с носителями, например, с машиночитаемыми носителями, которые сохраняют инструкции, которые, при выполнении посредством процессора 210, могут предписывать процессору 210 выполнять один или более этапов, описанных в данном документе. В некоторых вариантах осуществления, примеры машиночитаемых носителей могут включать в себя, но не только, электронное, оптическое, магнитное или другое устройство хранения или передачи данных, допускающее передачу в процессор, к примеру, в процессор 210 клиента 202a, машиночитаемых инструкций. В некоторых вариантах осуществления, другие примеры подходящих носителей могут включать в себя, но не только, гибкий диск, CD-ROM, DVD, магнитный диск, микросхему запоминающего устройства, ROM, RAM, ASIC, сконфигурированный процессор, все оптические носители, все магнитные ленты или другие магнитные носители либо любой другой носитель, с которого компьютерный процессор может считывать инструкции. Также различные другие формы машиночитаемых носителей могут передавать или переносить инструкции в компьютер, включающие в себя маршрутизатор, частную сеть или сеть общего пользования либо другое устройство или канал передачи, как проводной, так и беспроводной. В некоторых вариантах осуществления, инструкции могут содержать код из любого машинного языка программирования, включающего в себя, например, C, C++, Visual Basic, Java, Python, Perl, JavaScript и т.д.[0047] FIG. 2 illustrates a block diagram of another exemplary computer system/platform 200 in accordance with one or more embodiments of the present invention. However, not all of these components may be required to practice one or more embodiments, and changes in the configuration and type of components may be made without departing from the spirit or scope of the various embodiments of the present invention. In some embodiments, the illustrated member computing devices 202a, 202b-202n include at least a computer-readable medium, such as random access memory (RAM) 208 coupled to processor 210, or flash memory. In some embodiments, processor 210 may execute computer-executable program instructions stored in memory device 208. In some embodiments, processor 210 may include a microprocessor, an ASIC, and/or a state machine. In some embodiments, processor 210 may include or maintain communication with media, such as computer-readable media, that stores instructions that, when executed by processor 210, may cause processor 210 to perform one or more steps described herein. . In some embodiments, examples of computer-readable media may include, but are not limited to, an electronic, optical, magnetic, or other data storage or communication device capable of transmitting computer-readable instructions to a processor, eg, processor 210 of client 202a. In some embodiments, other examples of suitable media may include, but are not limited to, floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, ASIC, configured processor, all optical media, all magnetic tape or other magnetic media or any other media from which instructions can be read by a computer processor. Also, various other forms of computer-readable media may transmit or carry instructions to a computer, including a router, a private or public network, or other device or transmission channel, whether wired or wireless. In some embodiments, the instructions may comprise code from any machine programming language, including, for example, C, C++, Visual Basic, Java, Python, Perl, JavaScript, etc.

[0048] В некоторых вариантах осуществления, вычислительные устройства-члены 202a-202n также могут содержать определенное число внешних или внутренних устройств, таких как мышь, CD-ROM, DVD, физическая или виртуальная клавиатура, дисплей либо другие устройства ввода или вывода. В некоторых вариантах осуществления, примеры вычислительных устройств-членов 202a-202n (например, клиентов) могут представлять собой любой тип процессорных платформ, которые соединяются с сетью 206, таких как, без ограничения, персональные компьютеры, цифровые помощники, персональные цифровые устройства, смартфоны, устройства поискового вызова, цифровые планшетные компьютеры, переносные компьютеры, приборы с подключением к Интернету и другие процессорные устройства. В некоторых вариантах осуществления, вычислительные устройства-члены 202a-202n могут специально программироваться с одной или более прикладных программ в соответствии с одними или более принципов/технологий, подробно описанных в данном документе. В некоторых вариантах осуществления, вычислительные устройства-члены 202a-202n могут работать в любой операционной системе, допускающей поддержку браузера или приложения с возможностями браузера, такого как Microsoft™, Windows™ и/или Linux. В некоторых вариантах осуществления, показанные вычислительные устройства-члены 202a-202n могут включать в себя, например, персональные компьютеры, выполняющие прикладную программу браузера, такую как Internet Explorer™ компании Microsoft Corporation, Safari™ компании Apple Computer, Inc., Mozilla Firefox и/или Opera. В некоторых вариантах осуществления, через вычислительные клиентские устройства-члены 202a-202n, пользователи, 212a-212n, могут обмениваться данными по примерной сети 206 друг с другом и/или с другими системами и/или устройствами, соединенными с сетью 206. Как показано на фиг. 2, примерные серверные устройства 204 и 213 также могут соединяться с сетью 206. В некоторых вариантах осуществления, одно или более вычислительных устройств-членов 202a-202n могут представлять собой мобильные клиенты.[0048] In some embodiments, member computing devices 202a-202n may also include a number of external or internal devices, such as a mouse, CD-ROM, DVD, physical or virtual keyboard, display, or other input or output devices. In some embodiments, example member computing devices 202a-202n (e.g., clients) may be any type of processing platform that connects to the network 206, such as, but not limited to, personal computers, digital assistants, personal digital devices, smartphones, paging devices, digital tablet computers, laptop computers, Internet-connected devices and other processor-based devices. In some embodiments, member computing devices 202a-202n may be specifically programmed from one or more application programs in accordance with one or more of the principles/technologies described in detail herein. In some embodiments, member computing devices 202a-202n may run on any operating system capable of supporting a browser or browser-enabled application, such as Microsoft™, Windows™, and/or Linux. In some embodiments, the illustrated member computing devices 202a-202n may include, for example, personal computers running a browser application such as Internet Explorer™ from Microsoft Corporation, Safari™ from Apple Computer, Inc., Mozilla Firefox and/or or Opera. In some embodiments, through member computing client devices 202a-202n, users 212a-212n may communicate over the exemplary network 206 with each other and/or with other systems and/or devices connected to the network 206. As shown in fig. 2, exemplary server devices 204 and 213 may also connect to network 206. In some embodiments, one or more member computing devices 202a-202n may be mobile clients.

[0049] В некоторых вариантах осуществления по меньшей мере одна база данных из примерных баз 207 и 215 данных может представлять собой любой тип базы данных, включающий в себя базу данных, управляемую посредством системы управления базами данных (DBMS). В некоторых вариантах осуществления, примерная DBMS-управляемая база данных может специально программироваться в качестве механизма, который управляет организацией, хранением, управлением и/или извлечением данных в соответствующей базе данных. В некоторых вариантах осуществления, примерная DBMS-управляемая база данных может специально программироваться с обеспечения возможности выполнения запроса, резервирования и репликации, принудительной активации правил, обеспечения безопасности, вычисления, выполнения регистрации изменений и доступа и/или автоматизации оптимизации. В некоторых вариантах осуществления, примерная DBMS-управляемая база данных может выбираться из базы данных Oracle, IBM DB2, Adaptive Server Enterprise, FileMaker, Microsoft Access, Microsoft SQL Server, MySQL-, PostgreSQL- и NoSQL-реализации. В некоторых вариантах осуществления, примерная DBMS-управляемая база данных может специально программироваться с возможностью задания каждой соответствующей схемы каждой базы данных в примерной DBMS, согласно конкретной модели баз данных настоящего изобретения, которая может включать в себя иерархическую модель, сетевую модель, реляционную модель, объектную модель или некоторую другую подходящую организацию, которая может приводить к одной или более применимых структур данных, которые могут включать в себя поля, записи, файлы и/или объекты. В некоторых вариантах осуществления, примерная DBMS-управляемая база данных может специально программироваться с возможностью включения метаданных, относящихся к сохраняемым данным.[0049] In some embodiments, at least one database of the exemplary databases 207 and 215 may be any type of database, including a database managed by a database management system (DBMS). In some embodiments, an exemplary DBMS-managed database may be specifically programmed as an engine that manages the organization, storage, management, and/or retrieval of data in a corresponding database. In some embodiments, an exemplary DBMS-managed database may be specifically programmed to provide querying, backup and replication capabilities, rule enforcement, security, computation, change and access logging, and/or optimization automation. In some embodiments, an example DBMS-managed database may be selected from an Oracle database, IBM DB2, Adaptive Server Enterprise, FileMaker, Microsoft Access, Microsoft SQL Server, MySQL, PostgreSQL, and NoSQL implementations. In some embodiments, an exemplary DBMS-managed database may be specifically programmed to specify each corresponding schema of each database in the exemplary DBMS, according to a particular database model of the present invention, which may include a hierarchical model, a network model, a relational model, an object a model or some other suitable organization that may result in one or more applicable data structures, which may include fields, records, files and/or objects. In some embodiments, an exemplary DBMS-managed database may be specifically programmed to include metadata related to the data being stored.

[0050] В некоторых вариантах осуществления, примерные компьютерные системы/платформы согласно изобретению, примерные компьютерные устройства согласно изобретению и/или примерные компьютерные компоненты согласно изобретению по настоящему изобретению, в частности, могут быть выполнены с возможностью работы в облачной вычислительной архитектуре, такой как, но не только: инфраструктура как услуга (IaaS), платформа как услуга (PaaS) и/или программное обеспечение как услуга (SaaS). Фиг. 3 и 4 иллюстрируют схематические виды примерных реализаций облачной вычислительной архитектуры, в которой примерные компьютерные системы/платформы согласно изобретению, примерные компьютерные устройства согласно изобретению и/или примерные компьютерные компоненты согласно изобретению по настоящему изобретению, в частности, могут быть выполнены с возможностью работы.[0050] In some embodiments, exemplary computer systems/platforms of the invention, exemplary computer devices of the invention, and/or exemplary computer components of the invention of the present invention, in particular, may be configured to operate on a cloud computing architecture such as, but not limited to: infrastructure as a service (IaaS), platform as a service (PaaS) and/or software as a service (SaaS). Fig. 3 and 4 illustrate schematic views of exemplary implementations of a cloud computing architecture in which exemplary computer systems/platforms in accordance with the invention, exemplary computer devices in accordance with the invention, and/or exemplary computer components in accordance with the invention in accordance with the present invention, in particular, may be configured to operate.

[0051] В вариантах осуществления примерных компьютерных систем и/или устройств согласно изобретению, уменьшение динамического отклонения, обусловленного выбросовыми значениями (DOBR) может использоваться для повышения точности и понимания обобщенных линейных моделей специально для исследований на основе сравнительного тестирования. Тем не менее, оно представляет собой способ, который может применяться к широкому спектру аналитических моделей, в которых имеются одна или более независимых переменных и одна зависимая переменная. Настоящее изобретение и его варианты осуществления иллюстрируют применение DOBR согласно изобретению для повышения точности прогнозирований на основе модели машинного обучения.[0051] In embodiments of exemplary computer systems and/or devices of the invention, dynamic outlier bias reduction (DOBR) can be used to improve the accuracy and understanding of generalized linear models specifically for benchmarking studies. However, it is a technique that can be applied to a wide range of analytical models that have one or more independent variables and one dependent variable. The present invention and its embodiments illustrate the use of DOBR according to the invention to improve the accuracy of predictions based on a machine learning model.

[0052] В вариантах осуществления, DOBR не представляет собой прогнозирующую модель. Вместо этого, в вариантах осуществления, оно представляет собой надстраиваемый способ для прогнозирующих или интерпретирующих моделей, который позволяет повышать точность прогнозирований на основе модели. В вариантах осуществления, идентифицированные DOBR выбросовые значения основаны на разности между целевой переменной на основе обеспечиваемых данных и вычисленным с помощью модели значением. По мере того, как выбросовые значения идентифицируются, через предварительно определенный критерий выбора, зависимые от выбросовых значений записи данных и сформированные посредством модели зависимые переменные удаляются из анализа. Дополнительный анализ может продолжаться с этими записями, постоянно удаленными. Тем не менее, в других вариантах осуществления примерной системы и способов согласно изобретению, на каждой модельной итерации, процесс идентификации выбросовых данных включает в себя весь набор данных таким образом, что все записи подвергаются тщательному исследованию выбросовых значений с использованием прогнозирующей модели последней итерации, заданной посредством параметров вычисления. Соответственно, примерные варианты осуществления настоящего изобретения уменьшают отклонение в модели машинного обучения, например, посредством включения всего набора данных на каждой итерации, чтобы уменьшать распространение отклонения выбора обучающих данных. Таким образом, модели машинного обучения могут обучаться и реализовываться более точно и более эффективно для улучшения работы систем машинного обучения.[0052] In embodiments, DOBR is not a predictive model. Instead, in embodiments, it provides a plug-in method for predictive or interpretive models to improve the accuracy of model-based predictions. In embodiments, DOBR-identified outlier values are based on the difference between the target variable based on the provided data and the model-calculated value. As outliers are identified through a predefined selection criterion, outlier-dependent data records and model-generated dependent variables are removed from the analysis. Additional analysis can continue with these records permanently deleted. However, in other embodiments of the exemplary system and methods of the invention, at each model iteration, the outlier data identification process includes the entire data set such that all records are subject to scrutiny of outlier values using the last iteration's predictive model specified by calculation parameters. Accordingly, exemplary embodiments of the present invention reduce bias in a machine learning model, for example, by including the entire data set at each iteration to reduce the propagation of training data selection bias. In this way, machine learning models can be trained and implemented more accurately and efficiently to improve the performance of machine learning systems.

[0053] Фиг. 5 иллюстрирует блок-схему примерной системы уменьшения отклонения в машинном обучении согласно изобретению в соответствии с одним или более вариантов осуществления настоящего изобретения.[0053] FIG. 5 illustrates a block diagram of an exemplary machine learning bias reduction system of the invention in accordance with one or more embodiments of the present invention.

[0054] В некоторых вариантах осуществления, система 300 уменьшения отклонения может включать в себя компонент для уменьшения динамического отклонения, обусловленного выбросовыми значениями (DOBR) в наборах данных при анализе, например, посредством механизмов машинного обучения. В некоторых вариантах осуществления, DOBR обеспечивает итеративный процесс для удаления выбросовых записей согласно предварительно заданному критерию. Это условие представляет собой определяемое пользователем значение приемлемости ошибки, выражаемое как процентная доля. Это означает то, какую часть ошибки пользователь имеет намерение считать приемлемой в модели потенциально на основе своего понимания и других результатов анализа, которые описываются ниже в этом пояснении. Значение в 100% обозначает то, что ошибка считается полностью приемлемой, и записи не должны удаляться в процессе DOBR. Если выбирается 0%, то все записи удаляются. В общем, значения приемлемости ошибки в диапазоне 80-95% наблюдаются для промышленных вариантов применения.[0054] In some embodiments, the bias reduction system 300 may include a component for reducing dynamic outlier bias (DOBR) in data sets when analyzed, for example, through machine learning mechanisms. In some embodiments, DOBR provides an iterative process for removing outlier records according to a predefined criterion. This condition is a user-defined error acceptability value expressed as a percentage. This means how much of the error the user intends to accept as acceptable in the model, potentially based on their understanding and other analysis results, which are described later in this explanation. A value of 100% indicates that the error is considered completely acceptable and records should not be removed during the DOBR process. If 0% is selected, then all entries are deleted. In general, error acceptance values in the range of 80-95% are observed for industrial applications.

[0055] В некоторых вариантах осуществления, пользователь может взаимодействовать с системой 300 уменьшения отклонения, чтобы администрировать значение приемлемости ошибки через устройство 308 пользовательского ввода и просматривать результаты через устройство 312 отображения, в числе других поведений пользовательского взаимодействия с использованием устройства 312 отображения и устройства 308 пользовательского ввода. На основе значения приемлемости ошибки, система 300 уменьшения отклонения может анализировать набор 311 данных, принимаемый в базе 310 данных или в другом устройстве хранения данных, поддерживающем связь с системой 300 уменьшения отклонения. Система 300 уменьшения отклонения может принимать набор 311 данных через базу 310 данных или другое устройство хранения данных и выполнять прогнозирования с использованием одной или более моделей машинного обучения с уменьшением динамического отклонения, обусловленного выбросовыми значениями, для повышенной точности и эффективности.[0055] In some embodiments, a user may interact with the variance reduction system 300 to administer the error acceptability value through the user input device 308 and view the results through the display device 312, among other user interaction behaviors using the display device 312 and the user device 308 input. Based on the error acceptance value, the variance reduction system 300 may analyze the data set 311 received in the database 310 or other data storage device in communication with the variance reduction system 300. The variance reduction system 300 may receive a data set 311 via a database 310 or other data storage device and perform predictions using one or more machine learning models to reduce dynamic variance due to outlier values for increased accuracy and efficiency.

[0056] В некоторых вариантах осуществления, система 300 уменьшения отклонения включает в себя сочетание аппаратных и программных компонентов, включающих в себя, например, устройства хранения данных и запоминающие устройства, кэш, буферы, шину, интерфейсы ввода-вывода, процессоры, контроллеры, сетевые устройства и устройства связи, операционную систему, ядро, драйверы устройств, в числе других компонентов. В некоторых вариантах осуществления, процессор 307 поддерживает связь с несколькими другими компонентами, чтобы реализовывать функции других компонентов. В некоторых вариантах осуществления, каждый компонент имеет время, планируемое в процессоре 307 для выполнения компонентных функций; тем не менее, в некоторых вариантах осуществления, каждый компонент планируется в один или более процессоров в системе обработки процессора 307. В других вариантах осуществления, каждый компонент имеет включенный собственный процессор.[0056] In some embodiments, the variance reduction system 300 includes a combination of hardware and software components including, for example, storage and memory devices, caches, buffers, bus, I/O interfaces, processors, controllers, network devices and communications devices, operating system, kernel, device drivers, among other components. In some embodiments, processor 307 communicates with several other components to implement the functions of other components. In some embodiments, each component has time scheduled in processor 307 to perform component functions; however, in some embodiments, each component is scheduled into one or more processors in the processing system of processor 307. In other embodiments, each component has its own processor enabled.

[0057] В некоторых вариантах осуществления, компоненты системы 300 уменьшения отклонения могут включать в себя, например, механизм 301 DOBR, поддерживающий связь с индексом 302 модели и библиотекой 303 моделей, библиотеку 305 регрессионных параметров, библиотеку 304 классификационных параметров и фильтр 306 DOBR, в числе других возможных компонентов. Каждый компонент может включать в себя сочетание аппаратных средств и программного обеспечения, чтобы реализовывать компонентные функции, таких как, например, запоминающие устройства и устройства хранения данных, обрабатывающие устройства, устройства связи, интерфейсы ввода-вывода, контроллеры, сетевые устройства и устройства связи, операционная система, ядро, драйверы устройств, набор инструкций, в числе других компонентов.[0057] In some embodiments, components of the bias reduction system 300 may include, for example, a DOBR engine 301 in communication with a model index 302 and a model library 303, a regression parameter library 305, a classification parameter library 304, and a DOBR filter 306, in among other possible components. Each component may include a combination of hardware and software to implement component functions such as, for example, memory and storage devices, processing devices, communication devices, input/output interfaces, controllers, network and communication devices, operating system, kernel, device drivers, instruction set, among other components.

[0058] В некоторых вариантах осуществления, механизм 301 DOBR включает в себя модельный механизм для создания экземпляра и выполнения моделей машинного обучения. Механизм 301 DOBR может осуществлять доступ к моделям для создания экземпляра в библиотеке 303 моделей с помощью индекса 302 модели. Например, библиотека 303 моделей может включать в себя библиотеку моделей машинного обучения, которые могут быть избирательно доступными и подвергаться созданию экземпляра для использования посредством механизма, такого как механизм 301 DOBR. В некоторых вариантах осуществления, библиотека 303 моделей может включать в себя модели машинного обучения, такие как, например, метод опорных векторов (SVM), линейный регрессор, модель LASSO, регрессоры на основе дерева решений, классификаторы на основе дерева решений, регрессоры на основе случайного леса, классификаторы на основе случайного леса, регрессоры на основе принципа K соседних узлов, классификаторы на основе принципа K соседних узлов, регрессоры на основе градиентного бустинга, классификаторы на основе градиентного бустинга, в числе других возможных классификаторов и регрессоров. Например, библиотека 303 моделей может импортировать модели согласно нижеприведенному примерному псевдокоду 1:[0058] In some embodiments, DOBR engine 301 includes a model engine for instantiating and executing machine learning models. The DOBR engine 301 may access models to instantiate in the model library 303 using a model index 302 . For example, model library 303 may include a library of machine learning models that can be selectively accessed and instantiated for use by an engine such as the DOBR engine 301. In some embodiments, model library 303 may include machine learning models such as, for example, support vector machine (SVM), linear regressor, LASSO model, decision tree regressors, decision tree classifiers, random regressors. forests, random forest classifiers, K-neighbor regressors, K-neighbor classifiers, gradient boosting regressors, gradient boosting classifiers, among other possible classifiers and regressors. For example, model library 303 may import models according to the example pseudocode 1 below:

Псевдокод 1Pseudocode 1

import sysimport sys

sys.path.append("analytics-lanxess-logic")sys.path.append("analytics-lanxess-logic")

import numpy as npimport numpy as np

import pandas as pdimport pandas as pd

import random, timeimport random, time

import xgboost as xgbimport xgboost as xgb

from xgboost import XGBClassifier, XGBRegressorfrom xgboost import XGBClassifier, XGBRegressor

from scipy import statsfrom scipy import stats

from scipy.stats import mannwhitneyu, wilcoxonfrom scipy.stats import mannwhitneyu, wilcoxon

from sklearn.metrics import mean_squared_error, roc_auc_score, classification_report, confusion_matrixfrom sklearn.metrics import mean_squared_error, roc_auc_score, classification_report, confusion_matrix

from sklearn import svmfrom sklearn import svm

from sklearn.svm import SVR, SVCfrom sklearn.svm import SVR, SVC

from sklearn.model_selection import train_test_splitfrom sklearn.model_selection import train_test_split

from sklearn.linear_model import LinearRegression, Lassofrom sklearn.linear_model import LinearRegression, Lasso

from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifierfrom sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier

from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier, BaggingClassifier,BaggingRegressorfrom sklearn.ensemble import RandomForestRegressor, RandomForestClassifier, BaggingClassifier, BaggingRegressor

from sklearn.neighbors import KNeighborsRegressor , KNeighborsClassifierfrom sklearn.neighbors import KNeighborsRegressor , KNeighborsClassifier

from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifierfrom sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier

from optimizers.hyperparameters.hyperband_optimizer import Hyperband, HyperparameterOptimizerfrom optimizers.hyperparameters.hyperband_optimizer import Hyperband, HyperparameterOptimizer

from optimizers.hyperparameters.base_optimizer import HyperparameterOptimizerfrom optimizers.hyperparameters.base_optimizer import HyperparameterOptimizer

import warningsimport warnings

from warnings import simplefilterfrom warnings import simplefilter

simplefilter(action='ignore', category=FutureWarning)simplefilter(action='ignore', category=FutureWarning)

simplefilter(action='ignore', category=DeprecationWarning)simplefilter(action='ignore', category=DeprecationWarning)

warnings.filterwarnings(module='numpy*' , action='ignore', category=DeprecationWarning)warnings.filterwarnings(module='numpy*' , action='ignore', category=DeprecationWarning)

warnings.filterwarnings(module='numpy*' , action='ignore', category=FutureWarning)warnings.filterwarnings(module='numpy*' , action='ignore', category=FutureWarning)

warnings.filterwarnings(module='scipy*' , action='ignore', category=FutureWarning)warnings.filterwarnings(module='scipy*' , action='ignore', category=FutureWarning)

warnings.filterwarnings(module='scipy*' , action='ignore', category=DeprecationWarning)warnings.filterwarnings(module='scipy*' , action='ignore', category=DeprecationWarning)

warnings.filterwarnings(module='sklearn*', action='ignore', category=DeprecationWarning)warnings.filterwarnings(module='sklearn*', action='ignore', category=DeprecationWarning)

[0059] Тем не менее, в некоторых вариантах осуществления, чтобы упрощать доступ к библиотеке моделей машинного обучения в библиотеке 303 моделей, механизм 301 DOBR может использовать индекс 302 модели, который индексирует каждую модель согласно идентификатору модели, который следует использовать в качестве функции посредством механизма 301 DOBR. Например, модели, включающие в себя, например, линейную регрессию, регрессию XGBoost, регрессию на основе метода опорных векторов, регрессию LASSO, регрессию на основе принципа K соседних узлов, регрессию на основе принципа улучшения агрегации, регрессию на основе градиентного бустинга, регрессию на основе случайного леса, регрессия на основе дерева решений, в числе других регрессионных моделей и моделей классификации, могут индексироваться посредством числового идентификатора и помечаться с помощью названия. Например, нижеприведенный псевдокод 2 иллюстрирует пример индексного кода модели для использования посредством индекса 302 модели.[0059] However, in some embodiments, to facilitate access to a library of machine learning models in the model library 303, the DOBR engine 301 may use a model index 302 that indexes each model according to the model ID to be used as a function by the engine 301 DOBR. For example, models including, for example, linear regression, XGBoost regression, support vector machine regression, LASSO regression, K-neighbor regression, aggregation enhancement regression, gradient boosting regression, random forest, decision tree regression, among other regression and classification models, can be indexed by a numeric identifier and tagged with a name. For example, pseudo code 2 below illustrates an example of model index code for use by model index 302.

Псевдокод 2Pseudocode 2

model0=LinearRegression()model0=LinearRegression()

model1=xgb.XGBRegressor()model1=xgb.XGBRegressor()

model2=SVR()model2=SVR()

model3=Lasso()model3=Lasso()

model4=KNeighborsRegressor()model4=KNeighborsRegressor()

model5=BaggingRegressor()model5=BaggingRegressor()

model6=GradientBoostingRegressor()model6=GradientBoostingRegressor()

model7=RandomForestRegressor()model7=RandomForestRegressor()

model8=DecisionTreeRegressor()model8=DecisionTreeRegressor()

##

ModelName0=" Linear Regression"ModelName0="Linear Regression"

ModelName1="XGBoost Regression"ModelName1="XGBoost Regression"

ModelName2="Support Vector Regression"ModelName2="Support Vector Regression"

ModelName3=" Lasso"ModelName3="Lasso"

ModelName4="K Neighbors Regression"ModelName4="K Neighbors Regression"

ModelName5="Bagging Regression"ModelName5="Bagging Regression"

ModelName6="Gradient Boosting Regression"ModelName6="Gradient Boosting Regression"

ModelName7="Random Forest Regression"ModelName7="Random Forest Regression"

ModelName8="Decision Tree Regression"ModelName8="Decision Tree Regression"

[0060] Другие варианты осуществления псевдокода для библиотеки 303 моделей и индекса 302 модели предполагаются. В некоторых вариантах осуществления, программные инструкции сохраняются в запоминающем устройстве соответствующей библиотеки 303 моделей или индекса 302 модели и буферизуются в кэше для передачи в процессор 307. В некоторых вариантах осуществления, механизм 301 DOBR может использовать индекс 302 модели посредством осуществления доступа или вызова индекса через связь и/или устройства ввода-вывода, использовать индекс для вызова моделей в качестве функций из библиотеки 303 моделей через устройства связи и/или ввода-вывода.[0060] Other pseudocode implementations for model library 303 and model index 302 are contemplated. In some embodiments, program instructions are stored in memory of the corresponding model library 303 or model index 302 and buffered in a cache for transmission to processor 307. In some embodiments, DOBR engine 301 may use model index 302 by accessing or calling the index through communication and/or I/O devices, use the index to call models as functions from the model library 303 via communication and/or I/O devices.

[0061] В некоторых вариантах осуществления, чтобы упрощать оптимизацию и индивидуальную настройку моделей, вызываемых посредством механизма 301 DOBR, система 300 уменьшения отклонения может записывать параметры модели, например, в запоминающее устройство или устройство хранения данных, такое как, например, жесткие диски, полупроводниковые накопители, оперативное запоминающее устройство (RAM), флэш-память, в числе других устройств хранения данных и запоминающих устройств. Например, регрессионные параметры могут регистрироваться и регулироваться в библиотеке 305 регрессионных параметров. Таким образом, библиотека 305 регрессионных параметров может включать в себя аппаратные средства хранения данных и связи, сконфигурированные с достаточным объемом запоминающего устройства и полосой пропускания, чтобы сохранять, регулировать и передавать множество параметров для нескольких регрессоров, например, в реальном времени. Например, для каждой регрессионной модели машинного обучения, подвергающейся созданию экземпляра посредством механизма 301 DOBR, соответствующие параметры могут инициализироваться и обновляться в библиотеке 305 регрессионных параметров. В некоторых вариантах осуществления, пользователь, через устройство 308 пользовательского ввода, может устанавливать начальный набор параметров. Тем не менее, в некоторых вариантах осуществления, начальный набор параметров может предварительно определяться или случайно формироваться. После создания экземпляра регрессионной модели машинного обучения, механизм 301 DOBR может коррелировать модель, идентифицированную в индексе 302 модели, с набором параметров в библиотеке 305 регрессионных параметров. Например, механизм 301 DOBR может вызывать набор параметров, например, согласно идентификационному номеру, ассоциированному с данной регрессионной моделью. Например, библиотека 305 регрессионных параметров может идентифицировать параметры для каждой регрессионной модели, аналогично нижеприведенному псевдокоду 3:[0061] In some embodiments, to facilitate optimization and customization of models invoked by the DOBR engine 301, the bias reduction system 300 may record model parameters, for example, in a memory or data storage device, such as, for example, hard drives, semiconductor drives, random access memory (RAM), flash memory, among other storage and storage devices. For example, regression parameters may be recorded and adjusted in regression parameter library 305. Thus, regression parameter library 305 may include storage and communication hardware configured with sufficient storage capacity and bandwidth to store, adjust, and communicate multiple parameters for multiple regressors, for example, in real time. For example, for each machine learning regression model that is instantiated by the DOBR engine 301, the corresponding parameters may be initialized and updated in the regression parameter library 305. In some embodiments, the user, through user input device 308, can set an initial set of parameters. However, in some embodiments, the initial set of parameters may be predetermined or randomly generated. After instantiating a machine learning regression model, the DOBR engine 301 may correlate the model identified in the model index 302 with a set of parameters in the regression parameter library 305 . For example, the DOBR engine 301 may call a set of parameters, for example, according to an identification number associated with a given regression model. For example, regression parameter library 305 may identify parameters for each regression model, similar to pseudocode 3 below:

Псевдокод 3Pseudocode 3

#from utilities.defaults import DefaultParameters#from utilities.defaults import DefaultParameters

#print(DefaultParameters(ctr=0).__dict__)#print(DefaultParameters(ctr=0).__dict__)

#!conda install -y -c conda-forge xgboost#!conda install -y -c conda-forge xgboost

def gen_params(id):def gen_params(id):

# XGBoost#XGBoost

if id==1:if id==1:

""" default parameters - best achieved in prototyping XGBOOST """""" default parameters - best achieved in prototyping XGBOOST """

HYPERPARAMETERS={"objective": "reg:linear",HYPERPARAMETERS={"objective": "reg:linear",

"tree_method": "exact","tree_method": "exact",

"eval_metric": "rmse","eval_metric": "rmse",

"eta": 1,"eta": 1,

"gamma": 5,"gamma": 5,

"max_depth": 2,"max_depth": 2,

"colsample_bytree": .5,"colsample_bytree": .5,

"colsample_bylevel": .5,"colsample_bylevel": .5,

"min_child_weight": 1,"min_child_weight": 1,

"subsample": 1,"subsample": 1,

"reg_lambda": 1,"reg_lambda": 1,

"reg_alpha": 0,"reg_alpha": 0,

"silent": 1}"silent": 1}

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"objective": "reg:linear",FIXED={"objective": "reg:linear",

"tree_method": "exact","tree_method": "exact",

"eval_metric": "rmse"}"eval_metric": "rmse"}

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"eta": (0, 1, np.float64),BOUNDARIES={"eta": (0, 1, np.float64),

"gamma": (0, 100, np.float64),"gamma": (0, 100, np.float64),

"max_depth": (1, 30, np.int32),"max_depth": (1, 30, np.int32),

"colsample_bytree": (0, 1, np.float64),"colsample_bytree": (0, 1, np.float64),

"colsample_bylevel": (0, 1, np.float64),"colsample_bylevel": (0, 1, np.float64),

"min_child_weight": (0, 100, np.int32),"min_child_weight": (0, 100, np.int32),

"subsample": (0, 1, np.float64),"subsample": (0, 1, np.float64),

"reg_lambda": (0, 1, np.float64),"reg_lambda": (0, 1, np.float64),

"reg_alpha": (0, 1, np.float64)}"reg_alpha": (0, 1, np.float64)}

elif id==2:elif id==2:

# SVR#SVR

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={"kernel": "rbf",HYPERPARAMETERS={"kernel": "rbf",

"cache_size": 100000,"cache_size": 100000,

"C": 0.5,"C": 0.5,

"gamma": 0.023 }"gamma": 0.023 }

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"kernel": "rbf",FIXED={"kernel": "rbf",

"cache_size": 100000,"cache_size": 100000,

"tol": 0.00001 }"tol": 0.00001 }

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={ "C": (0.01 , 1000, np.float64),BOUNDARIES={ "C": (0.01 , 1000, np.float64),

"gamma": (0.001, 100, np.float64)}"gamma": (0.001, 100, np.float64)}

# "epsilon": (0.001, 100, np.float64)# "epsilon": (0.001, 100, np.float64)

elif id==3:elif id==3:

# LASSO# LASSO

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={"fit_intercept": "False",HYPERPARAMETERS={"fit_intercept": "False",

"max_iter": 100000,"max_iter": 100000,

"tol": 0.0001,"tol": 0.0001,

"alpha": 25}"alpha": 25}

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"fit_intercept": "False",FIXED={"fit_intercept": "False",

"max_iter": 100000,"max_iter": 100000,

"tol": 0.0001 }"tol": 0.0001 }

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"alpha": (0.1, 100, np.float64) }BOUNDARIES={"alpha": (0.1, 100, np.float64) }

elif id==4:elif id==4:

# KNN PARAMETERS# KNN PARAMETERS

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={ "algorithm": "auto",HYPERPARAMETERS={ "algorithm": "auto",

"n_neighbors": 7,"n_neighbors": 7,

"leaf_size": 30}"leaf_size": 30}

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"algorithm": "auto"}FIXED={"algorithm": "auto"}

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"n_neighbors": (3 , 51, np.int32),BOUNDARIES={"n_neighbors": (3 , 51, np.int32),

"leaf_size": (2 , 500, np.int32)}"leaf_size": (2, 500, np.int32)}

elif id==5:elif id==5:

# Bagging Regression# Bagging Regression

HYPERPARAMETERS={ "bootstrap_features": "False",HYPERPARAMETERS={ "bootstrap_features": "False",

"bootstrap": "True","bootstrap": "True",

"n_estimators": 21,"n_estimators": 21,

"max_samples": 23}"max_samples": 23}

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={ "bootstrap_features": "False",FIXED={ "bootstrap_features": "False",

"bootstrap": "True"}"bootstrap": "True"}

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"n_estimators": (1 , 50, np.int32),BOUNDARIES={"n_estimators": (1 , 50, np.int32),

"max_samples": (1 , 50, np.int32)}"max_samples": (1 , 50, np.int32)}

elif id==6:elif id==6:

# GRADIENT BOOSTING PARAMETERS# GRADIENT BOOSTING PARAMETERS

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={"criterion": "friedman_mse",HYPERPARAMETERS={"criterion": "friedman_mse",

"min_impurity_split": 1.0e-07,"min_impurity_split": 1.0e-07,

"max_features": "auto","max_features": "auto",

"learning_rate": 0.2,"learning_rate": 0.2,

"n_estimators": 100,"n_estimators": 100,

"max_depth": 10}"max_depth": 10}

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"criterion": "friedman_mse",FIXED={"criterion": "friedman_mse",

"min_impurity_split": 1.0e-07,"min_impurity_split": 1.0e-07,

"max_features": "auto"}"max_features": "auto"}

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"learning_rate": (0.01, 1, np.float64),BOUNDARIES={"learning_rate": (0.01, 1, np.float64),

"n_estimators": (50, 500, np.int32),"n_estimators": (50, 500, np.int32),

"max_depth": (1, 50, np.int32)}"max_depth": (1, 50, np.int32)}

elif id==7:elif id==7:

# RANDOM FOREST PARAMETERS# RANDOM FOREST PARAMETERS

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={"bootstrap": "True",HYPERPARAMETERS={"bootstrap": "True",

"criterion": "mse","criterion": "mse",

"n_estimators": 100,"n_estimators": 100,

"max_features": 'auto',"max_features": 'auto',

"max_depth": 50,"max_depth": 50,

"min_samples_leaf": 1,"min_samples_leaf": 1,

"min_samples_split": 2}"min_samples_split": 2}

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"bootstrap": "True",FIXED={"bootstrap": "True",

"criterion": "mse","criterion": "mse",

"max_features": 'auto' }"max_features": 'auto' }

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"n_estimators": (1 , 1000, np.int32),BOUNDARIES={"n_estimators": (1 , 1000, np.int32),

"max_depth": (1 , 500, np.int32),"max_depth": (1 , 500, np.int32),

"min_samples_leaf": (1 , 50, np.int32),"min_samples_leaf": (1 , 50, np.int32),

"min_samples_split": (2 , 50, np.int32)}"min_samples_split": (2 , 50, np.int32)}

else:else:

# DECISION TREE PARAMETERS# DECISION TREE PARAMETERS

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={"criterion": "mse",HYPERPARAMETERS={"criterion": "mse",

"max_features": "auto","max_features": "auto",

"max_depth": 2,"max_depth": 2,

"min_samples_leaf": 0.25,"min_samples_leaf": 0.25,

"min_samples_split": 2 }"min_samples_split": 2 }

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"criterion": "mse",FIXED={"criterion": "mse",

"max_features": "auto"}"max_features": "auto"}

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={ "max_depth": (1 , 500, np.int32),BOUNDARIES={ "max_depth": (1 , 500, np.int32),

"min_samples_leaf": (1 , 50, np.int32),"min_samples_leaf": (1 , 50, np.int32),

"min_samples_split": (2 , 50, np.int32)}"min_samples_split": (2 , 50, np.int32)}

return HYPERPARAMETERS, FIXED,BOUNDARIESreturn HYPERPARAMETERS, FIXED,BOUNDARIES

[0062] Аналогично, в некоторых вариантах осуществления, классификационные параметры могут регистрироваться и регулироваться в библиотеке 304 классификационных параметров. Таким образом, библиотека 304 классификационных параметров может включать в себя аппаратные средства хранения данных и связи, сконфигурированные с достаточным объемом запоминающего устройства и полосой пропускания, чтобы сохранять, регулировать и передавать множество параметров для нескольких регрессоров, например, в реальном времени. Например, для каждой классификационной модели машинного обучения, подвергающейся созданию экземпляра посредством механизма 301 DOBR, соответствующие параметры могут инициализироваться и обновляться в библиотеке 305 регрессионных параметров. В некоторых вариантах осуществления, пользователь, через устройство 308 пользовательского ввода, может устанавливать начальный набор параметров. Тем не менее, в некоторых вариантах осуществления, начальный набор параметров может быть предварительно определен. После создания экземпляра регрессионной модели машинного обучения, механизм 301 DOBR может коррелировать модель, идентифицированную в индексе 302 модели, с набором параметров в библиотеке 305 регрессионных параметров. Например, механизм 301 DOBR может вызывать набор параметров, например, согласно идентификационному номеру, ассоциированному с данной регрессионной моделью. Например, библиотека 305 регрессионных параметров может идентифицировать параметры для каждой регрессионной модели, аналогично нижеприведенному псевдокоду 4:[0062] Likewise, in some embodiments, classification parameters may be registered and adjusted in classification parameter library 304. Thus, the classification parameter library 304 may include storage and communication hardware configured with sufficient storage capacity and bandwidth to store, adjust, and communicate multiple parameters for multiple regressors, for example, in real time. For example, for each classification machine learning model that is instantiated by the DOBR engine 301, the corresponding parameters may be initialized and updated in the regression parameter library 305. In some embodiments, the user, through user input device 308, can set an initial set of parameters. However, in some embodiments, an initial set of parameters may be predefined. After instantiating a machine learning regression model, the DOBR engine 301 may correlate the model identified in the model index 302 with a set of parameters in the regression parameter library 305 . For example, the DOBR engine 301 may call a set of parameters, for example, according to an identification number associated with a given regression model. For example, regression parameter library 305 may identify parameters for each regression model, similar to pseudocode 4 below:

Псевдокод 4Pseudocode 4

def gen_paramsClass(II):def gen_paramsClass(II):

# XGBoost CLASSIFER PARAMETERS# XGBoost CLASSIFER PARAMETERS

if II==0:if II==0:

""" default parameters - best achieved in prototyping """""" default parameters - best achieved in prototyping """

HYPERPARAMETERS={"objective": "binary:hinge",HYPERPARAMETERS={"objective": "binary:hinge",

"tree_method": "exact","tree_method": "exact",

"eval_metric": "error","eval_metric": "error",

"n_estimators": 5,"n_estimators": 5,

"eta": 0.3,"eta": 0.3,

"gamma": 0.1,"gamma": 0.1,

"max_depth": 5,"max_depth": 5,

"min_child_weight": 5,"min_child_weight": 5,

"subsample": 0.5,"subsample": 0.5,

"scale_pos_weight": 1,"scale_pos_weight": 1,

"silent": 1}"silent": 1}

""" fixed parameters which will not change in optimization """""" fixed parameters which will not change in optimization """

FIXED={ "objective": "binary:hinge",FIXED={ "objective": "binary:hinge",

"tree_method": "exact","tree_method": "exact",

"eval_metric": "error"}"eval_metric": "error"}

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={ "eta": (0, 10, np.float64),BOUNDARIES={ "eta": (0, 10, np.float64),

"gamma": (0, 10, np.float64),"gamma": (0, 10, np.float64),

"min_child_weight": (0, 50, np.float64),"min_child_weight": (0, 50, np.float64),

"subsample": (0, 1, np.float64),"subsample": (0, 1, np.float64),

"n_estimators": (1,1000, np.int32),"n_estimators": (1,1000, np.int32),

"max_depth": (1, 1000, np.int32),"max_depth": (1, 1000, np.int32),

"scale_pos_weight": (0, 1, np.float64) }"scale_pos_weight": (0, 1, np.float64) }

else:else:

# RANDOM FOREST CLASSIFIER PARAMETERS# RANDOM FOREST CLASSIFIER PARAMETERS

""" default parameters - """""" default parameters - """

HYPERPARAMETERS={"bootstrap": "True",HYPERPARAMETERS={"bootstrap": "True",

"n_estimators": 500,"n_estimators": 500,

"max_features": 'auto',"max_features": 'auto',

"max_depth": 200,"max_depth": 200,

"min_samples_leaf": 1,"min_samples_leaf": 1,

"min_samples_split": 2 }"min_samples_split": 2 }

""" fixed parameters which will not change in optimisation """""" fixed parameters which will not change in optimization """

FIXED={"bootstrap": "True",FIXED={"bootstrap": "True",

"max_features": "auto" }"max_features": "auto" }

""" boundaries & types of optimisable parameters """""" boundaries & types of optimisable parameters """

BOUNDARIES={"n_estimators": (10 , 1000, np.int32),BOUNDARIES={"n_estimators": (10 , 1000, np.int32),

"max_depth": (10 , 50, np.int32),"max_depth": (10 , 50, np.int32),

"min_samples_leaf": (1 , 40, np.int32),"min_samples_leaf": (1 , 40, np.int32),

"min_samples_split": (2 , 40, np.int32)}# "min_samples_split": (2 , 40, np.int32)} #

return HYPERPARAMETERS, FIXED,BOUNDARIESreturn HYPERPARAMETERS, FIXED,BOUNDARIES

[0063] В некоторых вариантах осуществления, посредством вызова и приема набора моделей из библиотеки 303 моделей через индекс 302 модели и соответствующих параметров из библиотеки 305 регрессионных параметров и/или библиотеки 304 классификационных параметров, механизм 301 DOBR может загружать одну или более подвергающихся созданию экземпляра и инициализированных моделей, например, в кэш или буфер механизма 301 DOBR. В некоторых вариантах осуществления, набор 311 данных затем может загружаться из базы 310 данных, например, в идентичный или различный кэш или буфер либо в другое устройство хранения данных механизма 301 DOBR. Процессор 307 или процессор в механизме 301 DOBR затем может выполнять каждую модель, чтобы преобразовывать набор 311 данных, например, в соответствующее прогнозирование значений связанных с активностью данных, которые характеризуют результаты или параметры активности на основе определенных входных атрибутов, связанных с активностью. Например, использование энергии приборов в домашних и/или коммерческих окружениях, прочность на сжатие бетона во множестве вариантов применения и формулирований, распознавание объектов или изображений, распознавание речи или другие варианты применения на основе машинного обучения. Например, механизм 301 DOBR может моделировать использование энергии приборов на основе набора 311 данных статистического использования энергии, времени года, времени суток, местоположения, в числе прочих факторов. Механизм 301 DOBR может вызывать набор регрессоров из библиотеки 303 моделей через индекс 302 модели, соединенный с шиной механизма 301 DOBR. Механизм 301 DOBR затем может вызывать файл или журнал регистрации параметров, ассоциированный с регрессорами для оценки использования энергии приборов в библиотеке 305 регрессионных параметров, соединенной с шиной механизма 301 DOBR. -Затем механизм 301 DOBR может использовать процессор 307 для прогнозирования будущего энергопотребления на основе моделей и параметров модели, времени и даты, местоположения или другого фактора и их сочетаний.[0063] In some embodiments, by calling and receiving a set of models from model library 303 via model index 302 and corresponding parameters from regression parameter library 305 and/or classification parameter library 304, DOBR engine 301 may load one or more instantiated and initialized models, for example, into a cache or buffer of the 301 DOBR engine. In some embodiments, the data set 311 may then be loaded from the database 310, for example, into an identical or different cache or buffer, or another data storage device of the DOBR engine 301. The processor 307 or the processor in the DOBR engine 301 may then execute each model to transform the data set 311, for example, into a corresponding prediction of activity-related data values that characterize the outcomes or parameters of the activity based on certain input attributes associated with the activity. For example, appliance energy utilization in domestic and/or commercial environments, compressive strength of concrete in a variety of applications and formulations, object or image recognition, speech recognition, or other machine learning-based applications. For example, the DOBR engine 301 may model appliance energy use based on a data set 311 of statistical energy use, time of year, time of day, location, among other factors. The DOBR engine 301 may call a set of regressors from the model library 303 through a model index 302 coupled to the DOBR engine 301 bus. The DOBR engine 301 may then call up a parameter file or log associated with the regressors to estimate energy use of the appliances in the regression parameter library 305 coupled to the DOBR engine 301 bus. -The DOBR engine 301 may then use the processor 307 to predict future power consumption based on models and model parameters, time and date, location or other factor, and combinations thereof.

[0064] Аналогично, например, механизм 301 DOBR может моделировать прочность на сжатие бетона на основе набора 311 данных материалов бетона, времени года, времени суток, местоположения, влажности, времени отверждения, возраста, в числе прочих факторов. Механизм 301 DOBR может вызывать набор регрессоров из библиотеки 303 моделей через индекс 302 модели, соединенный с шиной механизма 301 DOBR. Механизм 301 DOBR затем может вызывать файл или журнал регистрации параметров, ассоциированный с регрессорами для оценки прочности на сжатие бетона в библиотеке 305 регрессионных параметров, соединенной с шиной механизма 301 DOBR. Затем механизм 301 DOBR может использовать процессор 307 для прогнозирования будущей прочности на сжатие бетона на основе моделей и параметров модели для конкретного состава бетона, времени и даты, местоположения или другого фактора и их сочетаний.[0064] Likewise, for example, the DOBR engine 301 can model the compressive strength of concrete based on a data set 311 of concrete materials, time of year, time of day, location, humidity, curing time, age, among other factors. The DOBR engine 301 may call a set of regressors from the model library 303 through a model index 302 coupled to the DOBR engine 301 bus. The DOBR engine 301 may then call up a parameter file or log associated with regressors for estimating the compressive strength of concrete in a regression parameter library 305 coupled to the DOBR engine 301 bus. DOBR engine 301 may then use processor 307 to predict future compressive strength of concrete based on models and model parameters for a particular concrete composition, time and date, location or other factor, and combinations thereof.

[0065] В качестве другого примера, механизм 301 DOBR может выполнять распознавание речи на основе набора 311 данных речевых фрагментов и транскрипций экспериментально полученных проверочных данных, в числе прочих факторов. Механизм 301 DOBR может вызывать набор классификаторов из библиотеки 303 моделей через индекс 302 модели, соединенный с шиной механизма 301 DOBR. Затем механизм 301 DOBR может вызывать файл или журнал регистрации параметров, ассоциированный с классификаторами для распознавания речи в библиотеке 304 классификационных параметров, соединенной с шиной механизма 301 DOBR. Затем механизм 301 DOBR может использовать процессор 307 для прогнозирования транскрипции записанных речевых данных на основе моделей и параметров модели для набора из одного или более речевых фрагментов.[0065] As another example, the DOBR engine 301 may perform speech recognition based on a data set 311 of speech fragments and transcriptions of experimentally obtained test data, among other factors. The DOBR engine 301 may call a set of classifiers from the model library 303 through a model index 302 coupled to the DOBR engine 301 bus. The DOBR engine 301 may then call a parameter file or log associated with the speech recognition classifiers in a classification parameter library 304 coupled to the DOBR engine 301 bus. The DOBR engine 301 may then use the processor 307 to predict the transcription of the recorded speech data based on the models and model parameters for a set of one or more speech fragments.

[0066] В качестве другого примера, механизм 301 DOBR может автоматически прогнозировать настройки рендеринга для формирования медицинских изображений на основе набора 311 данных настроек для нескольких параметров рендеринга через формирование изображений и/или визуализации, в числе прочих факторов, как описано в патенте США № 10339695. Механизм 301 DOBR может вызывать набор классификаторов из библиотеки 303 моделей через индекс 302 модели, соединенный с шиной механизма 301 DOBR. Затем механизм 301 DOBR может вызывать файл или журнал регистрации параметров, ассоциированный с классификаторами для рендеринга настроек в библиотеке 304 классификационных параметров, соединенной с шиной механизма 301 DOBR. Затем механизм 301 DOBR может использовать процессор 307 для прогнозирования данных настроек рендеринга на основе моделей и параметров модели для набора из одного или более наборов медицинских данных.[0066] As another example, the DOBR engine 301 may automatically predict rendering settings for medical imaging based on a set of settings data 311 for several rendering parameters through imaging and/or imaging, among other factors, as described in US Pat. No. 10339695 The DOBR engine 301 may call a set of classifiers from the model library 303 through a model index 302 coupled to the DOBR engine 301 bus. The DOBR engine 301 may then call a parameter file or log associated with the classifiers to render settings in a classification parameter library 304 coupled to the DOBR engine 301 bus. The DOBR engine 301 may then use the processor 307 to predict rendering settings data based on the models and model parameters for a set of one or more medical data sets.

[0067] В качестве другого примера, механизм 301 DOBR может выполнять роботизированное управление машинным оборудованием на основе набора 311 данных результатов выполнения машинных команд управления и моделированных результатов машинных команд управления, в числе прочих факторов, как описано в патенте США № 10317854. Механизм 301 DOBR может вызывать набор регрессионных моделей из библиотеки 303 моделей через индекс 302 модели, соединенный с шиной механизма 301 DOBR. Затем механизм 301 DOBR может вызывать файл или журнал регистрации параметров, ассоциированный с регрессионной моделью для роботизированного управления в библиотеке 305 регрессионных параметров, соединенной с шиной механизма 301 DOBR. Затем механизм 301 DOBR может использовать процессор 307 для прогнозирования успешности или сбоя конкретных команд управления на основе моделей и параметров модели для набора команд управления, информации окружающей среды, данных датчиков и/или моделирований команд.[0067] As another example, the DOBR engine 301 may perform robotic control of machinery based on a data set 311 of machine control command results and simulated machine control command results, among other factors, as described in US Pat. No. 10317854. DOBR engine 301 may call a set of regression models from a model library 303 through a model index 302 coupled to the DOBR engine bus 301 . The DOBR engine 301 may then call up a parameter file or log associated with a regression model for the robotic control in a regression parameter library 305 coupled to the DOBR engine 301 bus. DOBR engine 301 may then use processor 307 to predict the success or failure of specific control commands based on models and model parameters for a set of control commands, environmental information, sensor data, and/or command simulations.

[0068] В некоторых вариантах осуществления, система 300 уменьшения отклонения может реализовывать модели машинного обучения в облачном окружении, например, в качестве облачной услуги для удаленных пользователей. Такая облачная услуга может проектироваться с возможностью поддержки больших чисел пользователей и широкого спектра алгоритмов и размеров задач, включающих в себя алгоритмы и размеры задач, описанные выше, а также другие потенциальные модели, наборы данных и настройки параметров, относящиеся к варианту использования пользователя, как описано в патенте США № 10452992. В одном варианте осуществления, число программируемых интерфейсов (к примеру, интерфейсов прикладного программирования (API)) может задаваться посредством услуги, в которой реализуется система 300 уменьшения отклонения, которые направляют неопытных пользователей с возможностью начала использования принципа «наиболее успешной практики» для машинного обучения относительно быстро, без необходимости для пользователей тратить много времени и усилий при настройке моделей или при обучении усовершенствованных статистических технологий или технологий искусственного интеллекта. Интерфейсы, например, могут обеспечивать возможность неспециалистам базироваться на настройках или параметрах по умолчанию для различных аспектов процедур, используемых для компоновки, обучения и использования моделей машинного обучения, в которых значения по умолчанию извлекаются из одного или более наборов параметров в библиотеке 304 классификационных параметров и/или библиотеке 305 регрессионных параметров для аналогичных моделей для отдельного пользователя. Настройки или параметры по умолчанию могут использоваться в качестве начальной точки, чтобы индивидуально настраивать модель машинного обучения пользователя с использованием обучения с помощью наборов данных пользователя через механизм 301 DOBR и оптимизатор 306. Одновременно, пользователи могут индивидуально настраивать параметры или настройки, которые они хотят использовать для различных типов задач машинного обучения, таких как обработка входных записей, обработка признаков, компоновка, выполнение и оценка моделей. По меньшей мере, в некоторых вариантах осуществления, помимо или вместо использования предварительно заданных библиотек, реализующих различные типы задач машинного обучения, дополнительно, система 300 уменьшения отклонения облачной услуги может иметь расширяемые встроенные возможности услуги, например, посредством регистрирования индивидуально настраиваемых функций в услуге. В зависимости от бизнес-потребностей или целей клиентов, которые реализуют такие индивидуально настраиваемые модули или функции, модули в некоторых случаях могут совместно использоваться с другими пользователями услуги, в то время как в других случаях использование индивидуально настраиваемых модулей может ограничиваться их разработчиками/владельцами.[0068] In some embodiments, bias reduction system 300 may implement machine learning models in a cloud environment, for example, as a cloud service for remote users. Such a cloud service may be designed to support large numbers of users and a wide range of algorithms and problem sizes, including the algorithms and problem sizes described above, as well as other potential models, data sets, and parameter settings relevant to the user's use case, as described in US Patent No. 10452992. In one embodiment, the number of programmable interfaces (eg, application programming interfaces (APIs)) can be specified through a service that implements a bias reduction system 300 that guides inexperienced users to begin using the "best-fit" approach. practice" for machine learning relatively quickly, without requiring users to spend a lot of time and effort tuning models or training advanced statistical or artificial intelligence technologies. The interfaces, for example, may provide the ability for non-experts to rely on settings or default parameters for various aspects of procedures used to build, train, and use machine learning models, in which default values are derived from one or more sets of parameters in the classification parameter library 304 and/or or a library 305 of regression parameters for similar models for an individual user. The default settings or parameters can be used as a starting point to customize the user's machine learning model using training from the user's datasets through the DOBR engine 301 and the optimizer 306. At the same time, users can customize the parameters or settings they want to use for various types of machine learning tasks such as processing input records, processing features, layout, execution and evaluation of models. In at least some embodiments, in addition to or instead of using predefined libraries that implement various types of machine learning tasks, additionally, the cloud service variance reduction system 300 may have extensible built-in service capabilities, for example, by registering customizable functions within the service. Depending on the business needs or goals of the customers who implement such custom modules or functions, the modules in some cases may be shared with other users of the service, while in other cases the use of custom modules may be limited to their developers/owners.

[0069] В некоторых вариантах осуществления, независимо от того, реализуются они в качестве облачной услуги, локальной или удаленной системы либо в любой другой архитектуре системы, система 300 уменьшения отклонения может включать в себя модели в библиотеке 303 моделей, которые обеспечивают подход на основе ансамблирования к обучению и реализации моделей машинного обучения, как описано в патенте США № 9646262. Такой подход может быть полезным для применения к средствам анализа данных с использованием электронных наборов данных электронных данных активности. В некоторых вариантах осуществления, база 310 данных может включать в себя один или более структурированных или неструктурированных источников данных. Модуль неконтролируемого обучения, в конкретных вариантах осуществления, выполнен с возможностью сбора неструктурированного набора данных в организованный набор данных с использованием множества технологий неконтролируемого обучения, например, в ансамбле моделей из библиотеки 303 моделей. Например, модуль неконтролируемого обучения выполнен с возможностью сбора неструктурированного набора данных в несколько версий организованного набора данных, в то время как модуль контролируемого обучения, в конкретных вариантах осуществления, выполнен с возможностью формирования одного или более ансамблей машинного обучения на основе каждой версии из нескольких версий организованного набора данных и определять то, какой ансамбль машинного обучения демонстрирует наибольшую производительность прогнозирования, например, согласно ошибке модели после обучения каждой модели в каждом ансамбле с использованием механизма 301 DOBR и оптимизатора 306.[0069] In some embodiments, whether implemented as a cloud service, a local or remote system, or in any other system architecture, the variance reduction system 300 may include models in a model library 303 that provide an ensemble-based approach to training and implementing machine learning models, as described in US Patent No. 9646262. This approach can be useful for application to data analytics tools using electronic datasets of electronic activity data. In some embodiments, database 310 may include one or more structured or unstructured data sources. The unsupervised learning module, in specific embodiments, is configured to aggregate an unstructured data set into an organized data set using a variety of unsupervised learning techniques, such as an ensemble of models from a model library 303 . For example, an unsupervised learning module is configured to aggregate an unstructured dataset into multiple versions of an organized dataset, while a supervised learning module, in specific embodiments, is configured to form one or more machine learning ensembles based on each version of multiple versions of an organized one. dataset and determine which machine learning ensemble exhibits the best prediction performance, for example, according to the model error after training each model in each ensemble using the DOBR engine 301 and optimizer 306.

[0070] Пример инструкций механизма 301 DOBR для управления аппаратными средствами, чтобы выполнять прогнозирования на основе набора 311 данных проиллюстрирован в нижеприведенном псевдокоде 5:[0070] An example of DOBR engine 301 instructions for controlling hardware to perform predictions based on data set 311 is illustrated in pseudo code 5 below:

Псевдокод 5Pseudocode 5

filename='energydataBase'filename='energydataBase'

filename='Concrete_Data'filename='Concrete_Data'

path='.'path='.'

filetype='.csv'filetype='.csv'

path1=filename+filetypepath1=filename+filetype

data=pd.read_csv(path1).valuesdata=pd.read_csv(path1).values

YLength=len(data)YLength=len(data)

X_Data=data[:, 1:]X_Data=data[:, 1:]

y_Data=data[:,0]y_Data=data[:,0]

##

# ***** Set Run Parameters *****# ***** Set Run Parameters *****

##

ErrCrit=0.005ErrCrit=0.005

trials=2trials=2

list_model=[ model0, model1, model2, model3, model4 ]list_model=[ model0, model1, model2, model3, model4 ]

list_modelname=[ ModelName0, ModelName1, ModelName2, ModelName3, ModelName4]list_modelname=[ ModelName0, ModelName1, ModelName2, ModelName3, ModelName4]

Acceptance=[87.5, 87.5, 87.5, 87.5, 87.5]Acceptance=[87.5, 87.5, 87.5, 87.5, 87.5]

##

mcnt=-1mcnt=-1

for model in list_model:for model in list_model:

f=open("DOBR04trainvaltestRF"+".txt","a")f=open("DOBR04trainvaltestRF"+".txt","a")

mcnt += 1mcnt += 1

print("-------------running----------------", mcnt, list_modelname[mcnt])print("------------running----------------", mcnt, list_modelname[mcnt])

timemodelstart=time.time()timemodelstart=time.time()

Error00=[0]*trialsError00=[0]*trials

PIM=[0]*trialsPIM=[0]*trials

modelfrac=[0]*trialsmodelfrac=[0]*trials

DOBRFULL0,DOBRFULL0a, DOBRFULL0e=([0] * trials for i in range(3))DOBRFULL0,DOBRFULL0a, DOBRFULL0e=([0] * trials for i in range(3))

DOBRFULL1,DOBRFULL1a, DOBRFULL1e=([0] * trials for i in range(3))DOBRFULL1,DOBRFULL1a, DOBRFULL1e=([0] * trials for i in range(3))

DOBRFULL2,DOBRFULL2a, DOBRFULL2e=([0] * trials for i in range(3))DOBRFULL2,DOBRFULL2a, DOBRFULL2e=([0] * trials for i in range(3))

##

# Bootstrappng Loop starts here#Bootstrappng Loop starts here

##

X_train, X_temp, y_train, y_temp=train_test_split(X_Data, y_Data, test_size=0.60)X_train, X_temp, y_train, y_temp=train_test_split(X_Data, y_Data, test_size=0.60)

if mcnt > 0:if mcnt > 0:

new_paramset=gen_params(mcnt)new_paramset=gen_params(mcnt)

hyperband=Hyperband(X_train, y_train, new_paramset[0], new_paramset[1], new_paramset[2])hyperband=Hyperband(X_train, y_train, new_paramset[0], new_paramset[1], new_paramset[2])

hyperband.optimize(model)hyperband.optimize(model)

# print("Best parameters", hyperband.best_parameters)# print("Best parameters", hyperband.best_parameters)

RefModel=model.set_params(**hyperband.best_parameters)RefModel=model.set_params(**hyperband.best_parameters)

else:else:

RefModel=modelRefModel=model

print(RefModel, file=f)print(RefModel, file=f)

##

for mc in range(0,trials):for mc in range(0,trials):

x_val, x_test, y_val, y_test=train_test_split(X_temp, y_temp, test_size=0.20)x_val, x_test, y_val, y_test=train_test_split(X_temp, y_temp, test_size=0.20)

timemodelstart1=time.time()timemodelstart1=time.time()

len_yval=len(y_val)len_yval=len(y_val)

len_ytest=len(y_test)len_ytest=len(y_test)

Errmin=999Errmin=999

Errvalue=999Errvalue=999

cnt=0cnt=0

##

BaseModel=RefModel.fit(x_val, y_val).predict(x_test)BaseModel=RefModel.fit(x_val, y_val).predict(x_test)

Error00[mc]=(mean_squared_error(BaseModel, y_test))**0.5Error00[mc]=(mean_squared_error(BaseModel, y_test))**0.5

##

DOBRModel=RefModel.fit(x_val, y_val).predict(x_val)DOBRModel=RefModel.fit(x_val, y_val).predict(x_val)

Errorval=(mean_squared_error(DOBRModel, y_val))**0.5Errorval=(mean_squared_error(DOBRModel, y_val))**0.5

print("Train Error ", Error00[mc],"Test Error ",Errorval," Ratio: ",Error00[mc]/Errorval,"mc=",mc)print("Train Error ", Error00[mc],"Test Error ",Errorval," Ratio: ",Error00[mc]/Errorval,"mc=",mc)

# Data_xin0_values=x_val# Data_xin0_values=x_val

# Data_yin0_values=y_val# Data_yin0_values=y_val

# XinBest=x_val# XinBest=x_val

# YinBest=y_val# YinBest=y_val

##

rmsrbf1=Error00[mc]rmsrbf1=Error00[mc]

while Errvalue > ErrCrit:while Errvalue > ErrCrit:

cnt += 1cnt += 1

timemodelstart1=time.time()timemodelstart1=time.time()

if cnt > 500:if cnt > 500:

print("Max iter. cnt for Error Acceptance: ",Errvalue, Acceptance[mcnt])print("Max iter. cnt for Error Acceptance: ",Errvalue, Acceptance[mcnt])

breakbreak

##

# Absolute Errors & DOBR Filter# Absolute Errors & DOBR Filter

##

AError=RMS(DOBRModel, y_val)AError=RMS(DOBRModel, y_val)

inout1=DOBR(AError, Acceptance[mcnt])inout1=DOBR(AError, Acceptance[mcnt])

##

Data_yin_scrub, dumb1=scrub1(inout1, y_val)Data_yin_scrub, dumb1=scrub1(inout1, y_val)

Data_xin_scrub, dumb2=scrub2(inout1, x_val)Data_xin_scrub, dumb2=scrub2(inout1, x_val)

DOBR_yin_scrub, dumb3=scrub1(inout1, DOBRModel)DOBR_yin_scrub, dumb3=scrub1(inout1, DOBRModel)

rmsrbf2=(mean_squared_error(DOBR_yin_scrub, Data_yin_scrub) )**0.5rmsrbf2=(mean_squared_error(DOBR_yin_scrub, Data_yin_scrub) )**0.5

##

if rmsrbf2 < Errmin:if rmsrbf2 < Errmin:

# XinBest=Data_xin0_values# XinBest=Data_xin0_values

# YinBest=Data_yin0_values# YinBest=Data_yin0_values

Errmin=rmsrbf2Errmin=rmsrbf2

Errvalue=abs(rmsrbf2 - rmsrbf1)/rmsrbf2Errvalue=abs(rmsrbf2 - rmsrbf1)/rmsrbf2

# print(cnt, Errvalue," ",rmsrbf2,rmsrbf1,sum(inout1)/len_yval)# print(cnt, Errvalue," ",rmsrbf2,rmsrbf1,sum(inout1)/len_yval)

rmsrbf1=rmsrbf2rmsrbf1=rmsrbf2

DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val)#<---------------- DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val) #<----------------

# Data_xin0_values=Data_xin_scrub# Data_xin0_values=Data_xin_scrub

# Data_yin0_values=Data_yin_scrub# Data_yin0_values=Data_yin_scrub

##

# DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val)# DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val)

# AError=RMS(DOBRModel, y_val)# AError=RMS(DOBRModel, y_val)

# inout1=DOBR(AError, Acceptance[mcnt])# inout1=DOBR(AError, Acceptance[mcnt])

print( " Convergence in ",cnt," iterations with Error Value=",Errvalue)print( " Convergence in ",cnt," iterations with Error Value=",Errvalue)

##

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++ +++++

if mc == mc:if mc == mc:

timemodelstart2=time.time()timemodelstart2=time.time()

new_paramset=gen_paramsClass(1)new_paramset=gen_paramsClass(1)

hyperband=Hyperband(np.array(x_val), np.array(inout1), new_paramset[0], new_paramset[1], new_paramset[2])hyperband=Hyperband(np.array(x_val), np.array(inout1), new_paramset[0], new_paramset[1], new_paramset[2])

modelClass=RandomForestClassifier() #xgb.XGBClassifier() modelClass=RandomForestClassifier() #xgb.XGBClassifier()

hyperband.optimize(modelClass, True)hyperband.optimize(modelClass, True)

Classmodel=modelClass.set_params(**hyperband.best_parameters)Classmodel=modelClass.set_params(**hyperband.best_parameters)

print(hyperband.best_parameters, file=f)print(hyperband.best_parameters, file=f)

print(hyperband.best_parameters)print(hyperband.best_parameters)

##

inout2=Classmodel.fit(x_val, inout1).predict(x_test)inout2=Classmodel.fit(x_val, inout1).predict(x_test)

modelfrac[mc]=sum(inout1)/len_yvalmodelfrac[mc]=sum(inout1)/len_yval

PIM[mc]=sum(inout2)/len_ytestPIM[mc]=sum(inout2)/len_ytest

##

# MODEL DOBR CENSORED DATASETS# MODEL DOBR CENSORED DATASETS

##

Data_yin_scrub, Data_yout_scrub=scrub1 (inout1, y_val)Data_yin_scrub, Data_yout_scrub=scrub1 (inout1, y_val)

Data_xin_scrub, Data_xout_scrub=scrub2 (inout1, x_val)Data_xin_scrub, Data_xout_scrub=scrub2 (inout1, x_val)

##

# TEST DOBR CENSORED DATASET# TEST DOBR CENSORED DATASET

Data_xtestin_scrub, Data_xtestout_scrub=scrub2 (inout2, x_test)Data_xtestin_scrub, Data_xtestout_scrub=scrub2 (inout2, x_test)

y_testin_scrub, y_testout_scrub=scrub1 (inout2, y_test)y_testin_scrub, y_testout_scrub=scrub1 (inout2, y_test)

y_test_scrub=[*y_testin_scrub, *y_testout_scrub]y_test_scrub=[*y_testin_scrub, *y_testout_scrub]

##

# DOBR INFORMATION APPLIED BASE MODEL PREDICTOR DATASET# DOBR INFORMATION APPLIED BASE MODEL PREDICTOR DATASET

BaseModel_yin_scrub, BaseModel_yout_scrub=scrub1(inout2, BaseModel)BaseModel_yin_scrub, BaseModel_yout_scrub=scrub1(inout2, BaseModel)

##

DOBR_Model_testin=model.fit(Data_xin_scrub, Data_yin_scrub ).predict(Data_xtestin_scrub )DOBR_Model_testin=model.fit(Data_xin_scrub, Data_yin_scrub).predict(Data_xtestin_scrub )

if len(y_test) == sum(inout2):if len(y_test) == sum(inout2):

DOBR_Model0=DOBR_Model_testinDOBR_Model0=DOBR_Model_testin

DOBR_Model1=DOBR_Model_testinDOBR_Model1=DOBR_Model_testin

DOBR_Model2=BaseModel_yin_scrubDOBR_Model2=BaseModel_yin_scrub

print("inout2:",sum(inout2),"len=",len(y_test))print("inout2:",sum(inout2),"len=",len(y_test))

else:else:

DOBR_Model_testout=model.fit(Data_xout_scrub, Data_yout_scrub).predict(Data_xtestout_scrub)DOBR_Model_testout=model.fit(Data_xout_scrub, Data_yout_scrub).predict(Data_xtestout_scrub)

DOBR_Model0=[*DOBR_Model_testin, *DOBR_Model_testout ]DOBR_Model0=[*DOBR_Model_testin, *DOBR_Model_testout ]

DOBR_Model1=[*DOBR_Model_testin , *BaseModel_yout_scrub]DOBR_Model1=[*DOBR_Model_testin , *BaseModel_yout_scrub]

DOBR_Model2=[*BaseModel_yin_scrub, *DOBR_Model_testout ]DOBR_Model2=[*BaseModel_yin_scrub, *DOBR_Model_testout ]

##

DOBRFULL0[mc]=(mean_squared_error(DOBR_Model0, y_test_scrub))**0.5DOBRFULL0[mc]=(mean_squared_error(DOBR_Model0, y_test_scrub))**0.5

DOBRFULL1[mc]=(mean_squared_error(DOBR_Model1, y_test_scrub))**0.5DOBRFULL1[mc]=(mean_squared_error(DOBR_Model1, y_test_scrub))**0.5

DOBRFULL2[mc]=(mean_squared_error(DOBR_Model2, y_test_scrub))**0.5DOBRFULL2[mc]=(mean_squared_error(DOBR_Model2, y_test_scrub))**0.5

##

ModelFrac=np.mean(modelfrac, axis=0)ModelFrac=np.mean(modelfrac, axis=0)

Error00a=np.mean(Error00,axis=0)Error00a=np.mean(Error00,axis=0)

DOBRFULL0a=np.mean(DOBRFULL0,axis=0)DOBRFULL0a=np.mean(DOBRFULL0,axis=0)

DOBRFULL1a=np.mean(DOBRFULL1,axis=0)DOBRFULL1a=np.mean(DOBRFULL1,axis=0)

DOBRFULL2a=np.mean(DOBRFULL2, axis=0)DOBRFULL2a=np.mean(DOBRFULL2, axis=0)

Error00e=1.96 * stats.sem(Error00,axis=0)Error00e=1.96 * stats.sem(Error00,axis=0)

DOBRFULL0e=1.96 * stats.sem(DOBRFULL0,axis=0)DOBRFULL0e=1.96 * stats.sem(DOBRFULL0,axis=0)

DOBRFULL1e=1.96 * stats.sem(DOBRFULL1,axis=0)DOBRFULL1e=1.96 * stats.sem(DOBRFULL1,axis=0)

DOBRFULL2e=1.96 * stats.sem(DOBRFULL2,axis=0)DOBRFULL2e=1.96 * stats.sem(DOBRFULL2,axis=0)

##

PIM_Mean=np.mean(PIM)PIM_Mean=np.mean(PIM)

PIM_CL=1.96 * stats.sem(PIM)PIM_CL=1.96 * stats.sem(PIM)

##

print(" "+ list_modelname[mcnt], " # of Trials =",trials, file=f)print(" "+ list_modelname[mcnt], " # of Trials =",trials, file=f)

print(Classmodel, file=f)print(Classmodel, file=f)

print(" Test Dataset Results for {0:3.0%} of Data Included in DOBR Model {1:3.0%} ± {2:4.1%} "print(" Test Dataset Results for {0:3.0%} of Data Included in DOBR Model {1:3.0%} ± {2:4.1%} "

.format(ModelFrac, PIM_Mean, PIM_CL),file=f).format(ModelFrac, PIM_Mean, PIM_CL),file=f)

print(" Base Model={0:5.2f} ± {1:5.2f} DOBR_Model #1={2:5.2f} ± {3:5.2f}"print(" Base Model={0:5.2f} ± {1:5.2f} DOBR_Model #1={2:5.2f} ± {3:5.2f}"

.format(Error00a, Error00e, DOBRFULL0a, DOBRFULL0e),file=f).format(Error00a, Error00e, DOBRFULL0a, DOBRFULL0e),file=f)

print(" DOBR_Model #2={0:5.2f} ± {1:5.2f}".format(DOBRFULL1a, DOBRFULL1e),file=f)print("DOBR_Model #2={0:5.2f} ± {1:5.2f}".format(DOBRFULL1a, DOBRFULL1e),file=f)

print(" DOBR_Model #3={0:5.2f} ± {1:5.2f}".format(DOBRFULL2a, DOBRFULL2e),file=f)print("DOBR_Model #3={0:5.2f} ± {1:5.2f}".format(DOBRFULL2a, DOBRFULL2e),file=f)

print(" "+ list_modelname[mcnt], " # of Trials =",trials)print(" "+ list_modelname[mcnt], " # of Trials =",trials)

print(Classmodel, file=f)print(Classmodel, file=f)

print(" Test Dataset Results for {0:3.0%} of Data Included in DOBR Model {1:3.0%} ± {2:4.1%} "print(" Test Dataset Results for {0:3.0%} of Data Included in DOBR Model {1:3.0%} ± {2:4.1%} "

.format(ModelFrac, PIM_Mean, PIM_CL)).format(ModelFrac, PIM_Mean, PIM_CL))

print(" Base Model={0:5.2f} ± {1:5.2f} DOBR_Model #1={2:5.2f} ± {3:5.2f}"print(" Base Model={0:5.2f} ± {1:5.2f} DOBR_Model #1={2:5.2f} ± {3:5.2f}"

.format(Error00a, Error00e, DOBRFULL0a, DOBRFULL0e)).format(Error00a, Error00e, DOBRFULL0a, DOBRFULL0e))

print(" DOBR_Model #2={0:5.2f} ± {1:5.2f}".format(DOBRFULL1a, DOBRFULL1e))print("DOBR_Model #2={0:5.2f} ± {1:5.2f}".format(DOBRFULL1a, DOBRFULL1e))

print(" DOBR_Model #3={0:5.2f} ± {1:5.2f}".format(DOBRFULL2a, DOBRFULL2e))print("DOBR_Model #3={0:5.2f} ± {1:5.2f}".format(DOBRFULL2a, DOBRFULL2e))

print("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")print("+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++")

##

f.close()f.close()

modeltime=(time.time() - timemodelstart) / 60modeltime=(time.time() - timemodelstart) / 60

print("Total Run Time for {0:3} iterations={1:5.1f} min".format(trials, modeltime))print("Total Run Time for {0:3} iterations={1:5.1f} min".format(trials, modeltime))

[0071] Тем не менее, в некоторых вариантах осуществления, выбросовые значения в наборе 311 данных могут уменьшать точность реализованных моделей, за счет этого увеличивая число обучающих итераций, чтобы достигать точного набора параметров для данной модели в данном варианте применения. Чтобы повышать точность и эффективность, механизм 301 DOBR может включать в себя фильтр 301b DOBR, с тем чтобы динамически тестировать ошибки точек данных в наборе данных для определения выбросовых значений. Таким образом, выбросовые значения могут удаляться для обеспечения более точного или характерного набора 311 данных. В некоторых вариантах осуществления, фильтр 301b DOBR может обеспечивать итеративный механизм для удаления выбросовых точек данных согласно предварительно заданному критерию, например, определяемому пользователем значению приемлемости ошибки, описанному выше и обеспечиваемому, например, пользователем через устройство 308 пользовательского ввода. В некоторых вариантах осуществления, определяемое пользователем значение приемлемости ошибки выражается как процентная доля, при этом, например, значение в 100% обозначает то, что ошибка считается полностью приемлемой, и точки данных не должны удаляться посредством фильтра 301b, тогда как значение, например, в 0% приводит к удалению всех точек данных. В некоторых вариантах осуществления, фильтр 301b может быть сконфигурирован со значением приемлемости ошибки, например, в диапазоне между приблизительно 80% и приблизительно 95%. Например, фильтр 301b может быть выполнен с возможностью выполнения функций, проиллюстрированных в нижеприведенном псевдокоде 6:[0071] However, in some embodiments, outlier values in data set 311 may reduce the accuracy of the implemented models, thereby increasing the number of training iterations to achieve an accurate set of parameters for a given model in a given application. To improve accuracy and efficiency, the DOBR engine 301 may include a DOBR filter 301b to dynamically test for errors of data points in the data set to identify outlier values. Thus, outlier values may be removed to provide a more accurate or representative data set 311. In some embodiments, DOBR filter 301b may provide an iterative mechanism for removing outlier data points according to a predefined criterion, such as the user-defined error acceptance value described above and provided, for example, by the user through user input device 308. In some embodiments, the user-defined error acceptance value is expressed as a percentage, with, for example, a value of 100% indicating that the error is considered completely acceptable and data points should not be removed by filter 301b, whereas a value of, for example, 0% results in the removal of all data points. In some embodiments, filter 301b may be configured with an error acceptance value, for example, in the range between about 80% and about 95%. For example, filter 301b may be configured to perform the functions illustrated in pseudocode 6 below:

Псевдокод 6Pseudocode 6

# Absolute Errors & DOBR Filter# Absolute Errors & DOBR Filter

##

AError=RMS(DOBRModel, y_val)AError=RMS(DOBRModel, y_val)

inout1=DOBR(AError, Acceptance[mcnt])inout1=DOBR(AError, Acceptance[mcnt])

##

Data_yin_scrub, dumb1=scrub1(inout1, y_val)Data_yin_scrub, dumb1=scrub1(inout1, y_val)

Data_xin_scrub, dumb2=scrub2(inout1, x_val)Data_xin_scrub, dumb2=scrub2(inout1, x_val)

DOBR_yin_scrub, dumb3=scrub1(inout1, DOBRModel)DOBR_yin_scrub, dumb3=scrub1(inout1, DOBRModel)

rmsrbf2=(mean_squared_error(DOBR_yin_scrub, Data_yin_scrub) )**0.5rmsrbf2=(mean_squared_error(DOBR_yin_scrub, Data_yin_scrub) )**0.5

##

if rmsrbf2 < Errmin:if rmsrbf2 < Errmin:

# XinBest=Data_xin0_values# XinBest=Data_xin0_values

# YinBest=Data_yin0_values# YinBest=Data_yin0_values

Errmin=rmsrbf2Errmin=rmsrbf2

Errvalue=abs(rmsrbf2 - rmsrbf1)/rmsrbf2Errvalue=abs(rmsrbf2 - rmsrbf1)/rmsrbf2

# print(cnt, Errvalue," ",rmsrbf2,rmsrbf1,sum(inout1)/len_yval)# print(cnt, Errvalue," ",rmsrbf2,rmsrbf1,sum(inout1)/len_yval)

rmsrbf1=rmsrbf2rmsrbf1=rmsrbf2

DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val)#<---------------- DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val) #<----------------

# Data_xin0_values=Data_xin_scrub# Data_xin0_values=Data_xin_scrub

# Data_yin0_values=Data_yin_scrub# Data_yin0_values=Data_yin_scrub

##

# DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val)# DOBRModel=RefModel.fit(Data_xin_scrub, Data_yin_scrub).predict(x_val)

# AError=RMS(DOBRModel, y_val)# AError=RMS(DOBRModel, y_val)

# inout1=DOBR(AError, Acceptance[mcnt])# inout1=DOBR(AError, Acceptance[mcnt])

print( " Convergence in ",cnt," iterations with Error Value=",Errvalue)print( " Convergence in ",cnt," iterations with Error Value=",Errvalue)

##

[0072] В некоторых вариантах осуществления, фильтр 301b DOBR работает в сочетании с оптимизатором 306, который выполнен с возможностью определения ошибки и оптимизации параметров для каждой модели в библиотеке 305 регрессионных параметров и в библиотеке 304 классификационных параметров. Таким образом, в некоторых вариантах осуществления, оптимизатор 306 может определять модель и передавать ошибку в фильтр 301b механизма 301 DOBR. Таким образом, в некоторых вариантах осуществления, оптимизатор 306 может включать в себя, например, устройства хранения данных и/или запоминающие устройства и устройства связи с достаточной емкостью запоминающего устройства и полосой пропускания, чтобы принимать набор 311 данных и прогнозирования на основе модели и определять, например, выбросовые значения, сходимость, ошибку, ошибку абсолютного значения, в числе других показателей ошибки. Например, оптимизатор 306 может быть выполнен с возможностью выполнения функций, проиллюстрированных в нижеприведенном псевдокоде 7:[0072] In some embodiments, the DOBR filter 301b operates in conjunction with an optimizer 306 that is configured to determine error and optimize parameters for each model in the regression parameter library 305 and in the classification parameter library 304. Thus, in some embodiments, optimizer 306 may determine the model and pass an error to filter 301b of DOBR engine 301. Thus, in some embodiments, optimizer 306 may include, for example, data storage and/or storage and communication devices with sufficient storage capacity and bandwidth to receive data set 311 and model-based predictions and determine whether for example, outliers, convergence, error, absolute value error, among other error measures. For example, optimizer 306 may be configured to perform the functions illustrated in pseudocode 7 below:

Псевдокод 7Pseudocode 7

def DOBR(AErrors, Accept):def DOBR(AErrors, Accept):

length=len(AErrors)length=len(AErrors)

Inout=[1]*lengthInout=[1]*length

AThres=stats.scoreatpercentile(AErrors, Accept)AThres=stats.scoreatpercentile(AErrors, Accept)

for i in range(0,length):for i in range(0,length):

if AErrors[i] > AThres:if AErrors[i] > AThres:

Inout[i]=0Inout[i]=0

return Inoutreturn Inout

def RMS(Array1,Array2):def RMS(Array1,Array2):

length=len(Array1)length=len(Array1)

Array3=[0 for m in range(0,length)]Array3=[0 for m in range(0,length)]

for i in range(0,length):for i in range(0,length):

Array3[i]=(Array1[i] - Array2[i])**2Array3[i]=(Array1[i] - Array2[i])**2

return Array3return Array3

def scrub1(IO, ydata):def scrub1(IO, ydata):

lendata=len(ydata)lendata=len(ydata)

outlen=sum(IO)outlen=sum(IO)

Yin=[]*outlenYin=[]*outlen

Yout=[]*(lendata - outlen)Yout=[]*(lendata - outlen)

for i in range(0,lendata):for i in range(0,lendata):

if IO[i] > 0:if IO[i] > 0:

Yin.append(ydata[i])Yin.append(ydata[i])

else:else:

Yout.append(ydata[i])Yout.append(ydata[i])

return Yin, Youtreturn Yin, Yout

def scrub2(IO, Xdata):def scrub2(IO, Xdata):

lendata=len(Xdata)lendata=len(Xdata)

inlen=sum(IO)inlen=sum(IO)

outlen=len(IO) - inlenoutlen=len(IO) - inlen

cols=len(Xdata[0])cols=len(Xdata[0])

Xin=[[0 for k in range(cols)] for m in range(inlen )]Xin=[[0 for k in range(cols)] for m in range(inlen )]

Xout=[[0 for k in range(cols)] for m in range(outlen)]Xout=[[0 for k in range(cols)] for m in range(outlen)]

irow=-1irow=-1

jrow=-1jrow=-1

for i in range(0,lendata):for i in range(0,lendata):

if IO[i] > 0:if IO[i] > 0:

irow += 1irow += 1

for j in range(0,cols):for j in range(0,cols):

Xin[irow][j]=Xdata[i][j]Xin[irow][j]=Xdata[i][j]

else:else:

jrow += 1jrow += 1

for k in range(0,cols):for k in range(0,cols):

Xout[jrow][k]=Xdata[i][k]Xout[jrow][k]=Xdata[i][k]

return Xin, Xoutreturn Xin, Xout

[0073] В некоторых вариантах осуществления, система 300 уменьшения отклонения затем может возвращать пользователю, например, через дисплей 312, прогнозирования на основе модели машинного обучения, анализ выбросовых значений, сходимость прогнозирований, в числе других данных, сформированных посредством механизма 301 DOBR, более точным и эффективным способом вследствие уменьшения выбросовых значений, которые в противном случае должны смещать прогнозирования.[0073] In some embodiments, the variance reduction system 300 may then return to the user, for example, through the display 312, machine learning model-based predictions, outlier analysis, prediction convergence, among other data generated by the DOBR engine 301, more accurately and in an efficient manner due to the reduction of outlier values that would otherwise bias the predictions.

[0074] Фиг. 6 иллюстрирует блок-схему последовательности операций способа примерной технологии согласно изобретению в соответствии с одним или более вариантов осуществления настоящего изобретения.[0074] FIG. 6 illustrates a flowchart of a method of an exemplary technology according to the invention in accordance with one or more embodiments of the present invention.

[0075] DOBR, к примеру, механизм 301 DOBR и фильтр 301b, описанные выше, обеспечивает итеративный процесс для удаления выбросовых записей согласно предварительно заданному критерию. Это условие представляет собой определяемое пользователем значение приемлемости ошибки, выражаемое как процентная доля. Это означает то, какую часть ошибки пользователь имеет намерение считать приемлемой в модели потенциально на основе своего понимания и других результатов анализа, которые описываются ниже в этом пояснении. Значение в 100% обозначает то, что ошибка считается полностью приемлемой, и записи не должны удаляться в процессе DOBR. Если выбирается 0%, то все записи удаляются. В общем, значения приемлемости ошибки в диапазоне 80-95% наблюдаются для промышленных вариантов применения.[0075] DOBR, for example, the DOBR engine 301 and filter 301b described above, provides an iterative process for removing outlier records according to a predetermined criterion. This condition is a user-defined error acceptability value expressed as a percentage. This means how much of the error the user intends to accept as acceptable in the model, potentially based on their understanding and other analysis results, which are described later in this explanation. A value of 100% indicates that the error is considered completely acceptable and records should not be removed during the DOBR process. If 0% is selected, then all entries are deleted. In general, error acceptance values in the range of 80-95% are observed for industrial applications.

[0076] Тем не менее, в некоторых вариантах осуществления, также следует отметить, что если набор данных не содержит выбросовых значений, то DOBR не обеспечивает значения. Но в практических ситуациях, аналитик редко имеет эти знания до начала работы с набором данных. Как продемонстрировано далее в этом пояснении, варианты осуществления технологии DOBR также могут определять процентную долю от набора данных, которая представляет выбросовые значения модели. Этот этап предварительного анализа может помогать в задании надлежащего значения приемлемости ошибки либо того, присутствуют вообще или нет выбросовые значения.[0076] However, in some embodiments, it should also be noted that if the data set does not contain outlier values, then the DOBR does not provide a value. But in practical situations, the analyst rarely has this knowledge before working with the data set. As demonstrated later in this explanation, embodiments of the DOBR technique can also determine the percentage of the data set that represents the model's outlier values. This preliminary analysis step can help set the appropriate error acceptability value or whether outlier values are present or not.

[0077] Следующие этапы приводят фундаментальный способ DOBR, который применяется к полному набору данных.[0077] The following steps provide a fundamental DOBR method that is applied to the complete data set.

[0078] Предварительный анализ: в варианте осуществления, сначала выбирается критерий приемлемости ошибки, скажем, выбирается ∞=80%. (То, каким образом можно определить это значение из данных, будет показано после пояснения способа DOBR). После этого, задается критерий приемлемости ошибки, C(∞), например, согласно нижеприведенному уравнению 1:[0078] Preliminary Analysis: In an embodiment, an error acceptance criterion is first selected, say ∞=80% is selected. (How this value can be determined from the data will be shown after the DOBR method is explained.) After this, the error acceptance criterion, C(∞), is specified, for example, according to Equation 1 below:

уравнение 1 ,equation 1 ,

[0079] - где ∞ является критерием приемлемости ошибки, C является функцией критерия приемлемости ошибки, f является сравнительной функцией, y является значением записи данных, ypred является прогнозируемым значением, и ytar является целевым значением.[0079] - where ∞ is the error acceptance criterion, C is the error acceptance criterion function, f is the comparison function, y is the data record value, y pred is the predicted value, and y tar is the target value.

[0080] Другие функциональные взаимосвязи могут использоваться для задания C(α), но процентильная функция представляет собой интуитивные руководящие принципы в понимании того, почему модель включает в себя или исключает определенные записи данных, к примеру, согласно нижеприведенному уравнению 2:[0080] Other functional relationships can be used to specify C(α), but the percentile function provides intuitive guidelines for understanding why the model includes or excludes certain data records, for example, according to Equation 2 below:

уравнение 2 ,equation 2 ,

[0081] - где P∞ является процентильной функцией, i является индексом вхождения записи, и m является числом вхождений записей.[0081] - where P∞ is the percentile function, i is the entry index of the entry, and m is the number of entry occurrences.

[0082] Поскольку процедура DOBR является итеративной, в варианте осуществления, также задается критерий сходимости, который в этом пояснении задается равным 0,5%.[0082] Since the DOBR procedure is iterative, in the embodiment, a convergence criterion is also set, which in this explanation is set to 0.5%.

[0083] В варианте осуществления, с учетом набора 404 данных, модели M 408 принятия решений и критерия ∞ 424 приемлемости ошибки, DOBR может реализовываться с возможностью уменьшения отклонения в обучении модели M 408. В некоторых вариантах осуществления, модель M 408 принятия решений реализуется посредством модельного механизма, включающего в себя, например, обрабатывающее устройство и запоминающее устройство и/или устройство хранения данных. Согласно варианту осуществления, примерная технология вычисляет коэффициенты модели, M(c) 402, и оценки 410 модели для всех записей, применяющих модель принятия решений, M 408, к полному входному набору 404 данных, например, согласно нижеприведенному уравнению 3:[0083] In an embodiment, given the set 404 data, decision model M 408 and error acceptance criterion ∞ 424, DOBR may be implemented with the ability to reduce bias in training model M 408. In some embodiments, decision model M 408 is implemented by a model engine including, for example, a processing device and storage device and/or data storage device. According to an embodiment, the exemplary technique calculates model coefficients, M(c) 402, and estimates 410 models for all entries applying the decision model, M 408, to the full input set 404 data, for example, according to Equation 3 below:

уравнение 3 ,equation 3 ,

[0084] - где 0 указывает начальное состояние, и x означает входную запись.[0084] - where 0 indicates the initial state and x indicates the input record.

[0085] Затем, согласно иллюстративному варианту осуществления, функция 418 полных ошибок вычисляет начальную полную ошибку e0 модели, например, согласно нижеприведенному уравнению 4:[0085] Next, according to an illustrative embodiment, the total error function 418 calculates the initial total error e 0 of the model, for example, according to Equation 4 below:

уравнение 4 ,equation 4 ,

[0086] - где e0 является начальной полной ошибкой модели, и 0 обозначает начальное значение.[0086] - where e 0 is the initial total error of the model, and 0 denotes the initial value.

[0087] Затем, согласно иллюстративному варианту осуществления, функция 412 ошибок вычисляет ошибки модели, например, согласно нижеприведенному уравнению 5:[0087] Next, according to an exemplary embodiment, error function 412 calculates model errors, for example, according to Equation 5 below:

уравнение 5 ,equation 5 ,

[0088] - где E являются прогнозируемыми ошибками записи, и k обозначает итерацию выбора записей.[0088] - where E are the predicted write errors and k denotes the record selection iteration.

[0089] Затем, согласно иллюстративному варианту осуществления, функция 412 ошибок вычисляет новый вектор выбора записей данных, например, согласно нижеприведенному уравнению 6:[0089] Next, according to an example embodiment, error function 412 calculates a new vector selection of data records, for example according to equation 6 below:

уравнение 6 ,equation 6 ,

[0090] - где I является вектором выбора записей.[0090] - where I is the record selection vector.

[0091] После этого, согласно иллюстративному варианту осуществления, блок 414 выбора записей данных вычисляет невыбросовые записи данных, которые должны включаться в вычисление с использованием модели, посредством выбора только записей, в которых вектор выбора записей равен 1, например, согласно нижеприведенному уравнению 7:[0091] Thereafter, according to an exemplary embodiment, data record selector 414 calculates non-outlier data records to be included in the calculation using the model by selecting only records in which the record selection vector is 1, for example, according to Equation 7 below:

уравнение 7 ,equation 7 ,

[0092] - где является индексом, указывающим на набор включенных в DOBR записей в качестве невыбросовых значений.[0092] - where is an index pointing to the set of records included in the DOBR as non-outlier values.

[0093] Затем, согласно иллюстративному варианту осуществления, модель 408 с последними коэффициентами 402 вычисляет новые прогнозируемые значения 420 и коэффициенты 402 модели из выбранных DOBR записей 416 данных, например, согласно нижеприведенному уравнению 8:[0093] Then, according to an illustrative embodiment, the model 408 with the latest coefficients 402 calculates new predicted values 420 and model coefficients 402 from the selected DOBR data records 416, for example, according to Equation 8 below:

уравнение 8 .equation 8 .

[0094] Затем, согласно иллюстративному варианту осуществления, модель 408 с использованием новых коэффициентов модели вычисляет новые прогнозные значения 420 для полного набора данных. Этот этап воспроизводит вычисление прогнозируемых значений 420 для выбранных DOBR записей на формальных этапах, но на практике новая модель может применяться только к удаленным DOBR записям, например, согласно нижеприведенному уравнению 9:[0094] Then, according to an illustrative embodiment, model 408, using the new model coefficients, calculates new predicted values 420 for the complete data set. This step replicates the calculation of predicted values 420 for selected DOBR records in the formal steps, but in practice the new model can only be applied to removed DOBR records, for example according to Equation 9 below:

уравнение 9 .equation 9 .

[0095] Затем, согласно иллюстративному варианту осуществления, функция 418 полных ошибок вычисляет полную ошибку модели, например, согласно нижеприведенному уравнению 10:[0095] Next, according to an illustrative embodiment, the total error function 418 calculates the total error of the model, for example, according to equation 10 below:

уравнение 10 ,equation 10 ,

[0096] - где является целевым выводом.[0096] - where is the target output.

[0097] Затем, согласно иллюстративному варианту осуществления, тест 424 сходимости тестирует сходимость модели, например, согласно нижеприведенному уравнению 11:[0097] Next, according to an illustrative embodiment, convergence test 424 tests the convergence of the model, for example, according to equation 11 below:

уравнение 11 ,equation 11 ,

[0098] - где β является критериями 422 сходимости, такими как, например, 0,5%.[0098] - where β is convergence criteria 422, such as, for example, 0.5%.

[0099] В некоторых вариантах осуществления, тест 424 сходимости может завершать итеративный процесс, если, например, процентная ошибка меньше, например, 0,5%. В противном случае, процесс может возвращаться к начальному набору 404 данных. Каждый из вышеприведенных этапов затем может выполняться, и критерии 422 сходимости могут повторно тестироваться. Процесс повторяется до тех пор, пока тест 424 сходимости не ниже критериев 424 сходимости.[0099] In some embodiments, convergence test 424 may terminate the iterative process if, for example, the percentage error is less than, for example, 0.5%. Otherwise, the process may return to the initial data set 404. Each of the above steps can then be performed and the convergence criteria 422 can be retested. The process is repeated until the convergence test 424 is below the convergence criteria 424.

[0100] Фиг. 7 является графиком, иллюстрирующим пример взаимосвязи между ошибкой модели и критерием приемлемости ошибки другой примерной компьютерной модели машинного обучения с уменьшенным отклонением в соответствии с одним или более вариантов осуществления настоящего изобретения.[0100] FIG. 7 is a graph illustrating an example of the relationship between a model error and an error acceptance criterion of another exemplary bias-reduced machine learning computer model in accordance with one or more embodiments of the present invention.

[0101] Поскольку ∞ является входным параметром в DOBR, и результаты расчетов по модели могут варьироваться на основе выбранного значения, в варианте осуществления, важно документировать процедуру на основе данных для объяснения того, какое значение используется. В практических вариантах применения, в которых DOBR разрабатывается и применяется, (еще) отсутствует теоретическая основа для его выбора. Тем не менее, на практике, график ошибки модели в зависимости от ∞ может вызывать изменение уклона, при котором очевидные эффекты выбросовых значений уменьшаются. Фиг. 1 показывает этот график для вычисления нелинейной регрессии 402, связанного со сравнительным тестированием на предмет выработки мощности согласно варианту осуществления настоящего изобретения.[0101] Since ∞ is an input parameter to the DOBR and the results of the model calculations may vary based on the selected value, in an embodiment, it is important to document the data-driven procedure to explain which value is used. In the practical applications in which DOBR is developed and applied, there is (yet) no theoretical basis for its selection. However, in practice, a plot of model error versus ∞ may cause a change in slope in which the apparent effects of outliers are reduced. Fig. 1 shows this graph for calculating nonlinear regression 402 associated with power generation benchmarking according to an embodiment of the present invention.

[0102] В варианте осуществления, общая форма этой кривой является предварительно определенной в том, она всегда должна начинаться с наибольшей ошибки в ∞=100%, и ошибка модели равна нулю, когда ∞=0%. На фиг. 7, следует отметить, что уклон кривой изменяется около ∞=85%. Кроме того, для всех меньших значений ∞, уклон является почти постоянным. Изменение уклона в этой точке обеспечивает то, вариабельность модели не изменяется относительно удаления записей данных, либо другими словами, выбросовые значения не присутствуют при этих уровнях приемлемости ошибки. Выше ∞=85%, предусмотрено по меньшей мере два очевидных изменения наклона, что обеспечивает то, что определенные доли набора данных содержат поведения или явления, которые не учитываются в модели. Этот визуальный тест может помогать задавать соответствующий уровень приемлемости ошибки, а также определять то, требуется или нет DOBR вообще. Если уклон линии на фиг. 7 не изменяется, то модель считается удовлетворительной для наблюдаемой вариабельности в данных. Отсутствуют выбросовые значения модели, и DOBR не должно обязательно применяться.[0102] In an embodiment, the general shape of this curve is predetermined in that it should always start with the largest error at ∞=100%, and the model error is zero when ∞=0%. In fig. 7, it should be noted that the slope of the curve changes around ∞=85%. Moreover, for all smaller values of ∞, the slope is almost constant. Changing the slope at this point ensures that model variability does not change relative to the removal of data records, or in other words, outlier values are not present at these error tolerance levels. Above ∞=85%, there are at least two obvious changes in slope, ensuring that certain proportions of the data set contain behaviors or phenomena that are not captured by the model. This visual test can help set the appropriate error tolerance level, as well as determine whether or not a DOBR is required at all. If the slope of the line in Fig. 7 does not change, then the model is considered satisfactory for the observed variability in the data. There are no model outliers and DOBR should not necessarily be applied.

[0103] В исследованиях с помощью моделирования, в которых конкретные процентные доли от дополнительной вариабельности добавлены в набор данных, кривые, такие как фиг. 6, показывают начальную линию крутого уклона, которая пересекает уклон с меньшим значением приблизительно при значении приемлемости ошибки, программируемом согласно моделированию. Тем не менее, на практике, когда выбросовые значения наблюдаются, переход к постоянному уклону, в общем, возникает постепенно, обеспечивая то, что имеется более одного типа вариабельности, которая не учитывается в модели.[0103] In simulation studies in which specific percentages of additional variability are added to the data set, curves such as FIG. 6 show the initial steep slope line, which intersects the slope with a smaller value approximately at the error tolerance value programmed according to the simulation. However, in practice, when outlier values are observed, the transition to a constant slope generally occurs gradually, ensuring that there is more than one type of variability that is not accounted for in the model.

[0104] Вычисление соответствующего значения приемлемости ошибки является необходимой частью использования DOBR, и оно также визуально показывает величину и серьезность выбросовых влияний на результаты расчетов по модели. Этот этап документирует выбор ∞ и может оправдывать неиспользование DOBR, если выбросовое влияние определяется как минимальное по сравнению со значением прогнозирований на основе модели из выбросовых данных.[0104] Calculating the appropriate error acceptance value is a necessary part of using DOBR, and it also visually indicates the magnitude and severity of outlier influences on the model's calculation results. This step documents the choice of ∞ and can justify not using DOBR if the outlier impact is determined to be minimal compared to the value of model predictions from the outlier data.

[0105] В некоторых вариантах осуществления, ∞ и значение ошибки модели в зависимости от ∞ могут использоваться в качестве показателя для идентификации модели с наилучшими функциональными параметрами или ансамбля моделей для конкретного сценария. Поскольку различные наборы данных могут варьироваться по степени линейности, точное значение ∞ для данных и для модели может изменять производительность модели. Таким образом, ошибка модели в качестве функции от уровня приемлемости ошибки может использоваться для определения степени, в которой данная модель может учитывать вариабельность в данных, за счет наличия ошибки модели, которая указывает больший или меньший допуск в отношении вариабельности данных для формирования точных прогнозирований. Например, точность и точность в прогнозированиях на основе модели могут быть настроены посредством выбора параметров модели и/или параметров модели, которые демонстрируют, например, низкую ошибку модели для высокого значения приемлемости ошибки, чтобы выбирать для модели, которая является более толерантной к выбросовым данным.[0105] In some embodiments, ∞ and the model error value as a function of ∞ can be used as a metric to identify the best performing model or ensemble of models for a particular scenario. Because different data sets can vary in the degree of linearity, the exact value of ∞ for the data and for the model can change the performance of the model. Thus, model error as a function of error tolerance level can be used to determine the extent to which a given model can account for variability in the data by having model error, which indicates a greater or lesser tolerance for data variability to make accurate predictions. For example, accuracy and precision in model-based predictions can be tuned by selecting model parameters and/or model parameters that demonstrate, for example, low model error for a high error acceptability value to select for a model that is more tolerant of outlier data.

[0106] В некоторых вариантах осуществления, выбор модели может быть автоматизирован посредством использования, например, программирования моделей машинного обучения на основе правил и/или для идентификации модели с наилучшими функциональными параметрами для набора данных согласно балансу ошибки модели и критериев приемлемости ошибки. Таким образом, может автоматически выбираться модель, которая оптимально учитывает выбросовые значения в наборе данных. Например, ошибка модели может сравниваться по моделям для одного или более значений приемлемости ошибки, причем модель, имеющая наименьшую ошибку модели, автоматически выбирается для формирования прогнозирований.[0106] In some embodiments, model selection may be automated by using, for example, rule-based programming of machine learning models and/or to identify the model with the best performance parameters for a data set according to a balance of model error and error acceptance criteria. In this way, the model that optimally accounts for the outlier values in the data set can be automatically selected. For example, model error may be compared across models for one or more error acceptability values, with the model having the lowest model error automatically selected to generate predictions.

[0107] Как результат, технологии машинного обучения DOBR согласно аспектам настоящего изобретения обеспечивают более эффективное обучение модели, а также улучшенную видимость для данных и моделируют поведения для отдельного набора данных. Как результат, в таких областях техники, как искусственный интеллект, средства анализа данных, бизнес-аналитика, а также другие области, модели машинного обучения могут более рационально и эффективно испытываться для различных типов данных. Производительность модели затем может более эффективно оцениваться, чтобы определять то, что она представляет собой оптимальную модель для варианта применения и для типа данных. Например, приложения на основе искусственного интеллекта могут улучшаться с помощью моделей, выбранных и обученных с использованием DOBR для формируемого типа интеллектуальности. Аналогично, бизнес-аналитика и средства анализа данных, а также другие варианты применения, такие как физическое прогнозирование поведения, рекомендация контента, прогнозирования использования ресурсов, обработка естественного языка и другие приложения на основе машинного обучения, могут улучшаться посредством использования DOBR, чтобы как настраивать параметры модели, так и выбирать модели на основе выбросовых характеристик и ошибки модели в ответ на выбросовые значения.[0107] As a result, DOBR machine learning technologies according to aspects of the present invention provide more efficient model training as well as improved visibility for data and model behaviors for a particular data set. As a result, in engineering fields such as artificial intelligence, data analytics, business analytics, and others, machine learning models can be tested more efficiently and effectively on different types of data. The model's performance can then be more effectively assessed to determine that it represents the optimal model for the application and data type. For example, AI applications can be improved by models selected and trained using DOBR for the type of intelligence being generated. Likewise, business intelligence and data analytics, as well as other use cases such as physical behavior prediction, content recommendation, resource usage prediction, natural language processing, and other machine learning-based applications, can be enhanced by using DOBR to tune parameters model, and select models based on outlier characteristics and model error in response to outlier values.

[0108] Фиг. 8 является графиком, иллюстрирующим пример взаимосвязи между ошибкой модели и критерием приемлемости ошибки другой примерной компьютерной модели машинного обучения с уменьшенным отклонением в соответствии с одним или более вариантов осуществления настоящего изобретения.[0108] FIG. 8 is a graph illustrating an example of the relationship between a model error and an error acceptance criterion of another exemplary bias-reduced machine learning computer model in accordance with one or more embodiments of the present invention.

[0109] В качестве примера варианта осуществления DOBR для набора данных, используется набор 504 данных прочности на сжатие бетона, загружаемый из репозитория данных машинного обучения Калифорнийского университета в Ирвайне. Этот набор данных содержит 1030 наблюдений, записей или экземпляров с 8 независимыми переменными. Первые семь описывают состав бетона, при этом возраст задается в днях: количество цемента, суперпластификатор, доменный шлак, крупный заполнитель, зольная пыль, мелкий заполнитель, вода и возраст.[0109] As an example of a DOBR data set implementation, concrete compressive strength data set 504 downloaded from the University of California, Irvine machine learning data repository is used. This dataset contains 1030 observations, records or instances with 8 independent variables. The first seven describe the composition of the concrete, with the age given in days: amount of cement, superplasticizer, blast furnace slag, coarse aggregate, fly ash, fine aggregate, water and age.

[0110] Выходная переменная представляет собой прочность на сжатие бетона, измеренную в мегапаскалях (МПа). Для сравнения, 1 МПа ≈ 145 фунтов на квадратный дюйм. Линейная регрессионная модель конструируется, например, согласно нижеприведенному уравнению 12:[0110] The output variable is the compressive strength of the concrete, measured in megapascals (MPa). For comparison, 1 MPa ≈ 145 psi. A linear regression model is constructed, for example, according to Equation 12 below:

уравнение 12 equation 12

[0111] - где ai является коэффициентом, вычисленным посредством линейной регрессионной модели, xi является наблюдениями этих 8 переменных, и i является переменным индексом.[0111] - where a i is the coefficient calculated by the linear regression model, x i is the observations of the 8 variables, and i is the variable index.

[0112] Фиг. 8 конструируется посредством выполнения линейной регрессионной модели 504 в качестве функции от процентной доли приемлемости ошибки DOBR, ∞, от 100 до 60%. От ∞=100% приблизительно до ∞=95%, возникает быстрое понижение ошибки модели, как показано посредством регрессии 506, затем уменьшение ошибки в качестве функции α снижается на немного меньшей скорости до ∞=85%. С этой точки, ∞ снижается с постоянной скоростью, как показано посредством регрессии 508. Точка, в которой ошибка начинает снижаться с постоянной скоростью, представляет собой точку, в которой влияние выбросовых значений модели опускается из вычисления с использованием модели. В этом случае, точка выбора представляет собой ∞=85%.[0112] FIG. 8 is constructed by running a linear regression model 504 as a function of the DOBR error acceptability percentage, ∞, from 100 to 60%. From ∞=100% to approximately ∞=95%, there is a rapid decrease in model error, as shown by regression 506, then the error decrease as a function of α decreases at a slightly slower rate to ∞=85%. From this point, ∞ decreases at a constant rate, as shown by regression 508. The point at which the error begins to decrease at a constant rate is the point at which the influence of model outlier values is omitted from the calculation using the model. In this case, the selection point is ∞=85%.

[0113] В варианте осуществления, DOBR в таком случае представляет собой модифицированную линейную регрессионную модель, повторно выполняется для ∞=92,5%, чтобы определять наилучшую модель, которая подгоняется под невыбросовые данные. Фиг. 9 и фиг. 10 отображают результаты этих вычислений с использованием полного набора 512 данных (фиг. 9) и версии DOBR (фиг. 10) с выбросовыми значениями, идентифицированными и удаленными из вычисления. Выбросовые значения 516, помечаемые как красные кресты, вычисляются из невыбросовой модели. Оба этих графика показывают сравниваемые фактические и прогнозируемые целевые значения с диагональной линией 510 и 514, соответственно, для фиг. 9 и фиг. 10, иллюстрирующей равенство. Вычисление полного набора данных (фиг. 9) показывает то, как выбросовые значения могут смещать результаты. Модифицированный DOBR график (фиг. 10) показывает удаленное отклонение, с диагональной линией 514, делящей пополам невыбросовые значения 518, а также очевидными группами выбросовых точек 516 данных, которые могут гарантировать дополнительное исследование.[0113] In an embodiment, DOBR is then a modified linear regression model that is repeated for ∞=92.5% to determine the best model that is fit to the non-outlier data. Fig. 9 and fig. 10 displays the results of these calculations using the full data set 512 (FIG. 9) and the DOBR version (FIG. 10) with outlier values identified and removed from the calculation. Outlier values 516 marked as red crosses are calculated from the non-outlier model. Both of these plots show actual and predicted target values compared with diagonal line 510 and 514, respectively, for FIG. 9 and fig. 10 illustrating equality. Computing the full data set (Figure 9) shows how outliers can bias the results. The modified DOBR plot (Fig. 10) shows the removed variance, with a diagonal line 514 bisecting the non-outlier values 518, as well as obvious clusters of outlier data points 516 that may warrant additional investigation.

[0114] Фиг. 9 является графиком, иллюстрирующим пример взаимосвязи между прочностью на сжатие и прогнозируемой прочностью на сжатие базовой компьютерной модели машинного обучения без уменьшенного отклонения в соответствии с одним или более вариантов осуществления настоящего изобретения.[0114] FIG. 9 is a graph illustrating an example of the relationship between compressive strength and predicted compressive strength of a basic machine learning computer model without reduced deflection in accordance with one or more embodiments of the present invention.

[0115] Фиг. 10 является графиком, иллюстрирующим пример взаимосвязи между прочностью на сжатие и прогнозируемой прочностью на сжатие другой примерной компьютерной модели машинного обучения с уменьшенным отклонением в соответствии с одним или более вариантов осуществления настоящего изобретения[0115] FIG. 10 is a graph illustrating an example of the relationship between compressive strength and predicted compressive strength of another exemplary bias-reduced machine learning computer model in accordance with one or more embodiments of the present invention.

[0116] Идентификация выбросовых значений и тенденций, которые они иногда формируют, на вышеуказанном типе графиков является полезной для дополнительных выгод способа DOBR в промышленных вариантах применения. Выбросовые значения могут формировать шаблоны или группы, которые просто не наблюдаются посредством других способов. Эта информация создается посредством просто использования DOBR с обеспечиваемой аналитиками моделью. Дополнительная информация или предположения не требуются. На практике, набор задаваемых DOBR выбросовых значений может обеспечивать полезную информацию для улучшения, обеспечения понимания или проверки достоверности базовой модели.[0116] Identification of outlier values and the trends they sometimes form on the above type of graphs is useful for the added benefit of the DOBR method in industrial applications. Outlier values can form patterns or groups that are simply not observed through other means. This information is created by simply using DOBR with the model provided by the analysts. No additional information or assumptions are required. In practice, a set of DOBR-defined outlier values can provide useful information for improving, understanding, or validating the underlying model.

[0117] Фиг. 11 является блок-схемой другой примерной компьютерной системы для прогнозирований машинного обучения с DOBR в соответствии с одним или более вариантов осуществления настоящего изобретения.[0117] FIG. 11 is a block diagram of another exemplary computer system for machine learning predictions with DOBR in accordance with one or more embodiments of the present invention.

[0118] В варианте осуществления настоящего изобретения, процедура машинного обучения начинается с набора данных, , состоящего из n независимых переменных и m записей по длине, и массива (mx1) целевых переменных, . В варианте осуществления, чтобы обучать модель машинного обучения, набор данных разделяется на два случайно выбранных поднабора предварительно определенного размера: один для обучения модели и другой для проверки точности ее прогнозирования, например, согласно нижеприведенному уравнению 13:[0118] In an embodiment of the present invention, the machine learning procedure begins with a data set , consisting of n independent variables and m records in length, and an array (mx1) of target variables, . In an embodiment, to train a machine learning model, a dataset is divided into two randomly selected subsets of a predetermined size: one to train the model and the other to test its prediction accuracy, for example according to Equation 13 below:

уравнение 13 ,equation 13 ,

[0119] - где является поднабором независимых переменных набора данных, и является поднабором независимых переменных набора данных.[0119] - where is a subset of independent variables dataset, and is a subset of independent variables data set.

[0120] Для этого пояснения, разбиение 70%/30% для используется для обучения (n записей) и тестирования (j записей) (например, 70% записей являются обучающими, и 30% являются тестовыми); тем не менее, может использоваться любое подходящее разбиение, такое как, например, 50%/50%, 60%/40%, 80%/20%, 90%/10%, 95%/5% или другое подходящее разбиение обучения/тестирования. Модель машинного обучения, L, обученная с использованием , тестируется посредством вычисления набора прогнозируемых целевых переменных, , выражаемых так, как, например, указано в нижеприведенном уравнении 14:[0120] For this clarification, the 70%/30% split for used for training (n records) and testing (j records) (for example, 70% of records are training, and 30% are test); however, any suitable split may be used, such as, for example, 50%/50%, 60%/40%, 80%/20%, 90%/10%, 95%/5%, or other suitable training split. testing. Machine learning model, L, trained using , is tested by computing a set of predicted target variables, , expressed as, for example, given in equation 14 below:

уравнение 14 .equation 14 .

[0121] В иллюстративном варианте осуществления, точность модели затем измеряется в качестве нормы, , которая может иметь, например, следующую форму:[0121] In an illustrative embodiment, the accuracy of the model is then measured as a norm, , which could have, for example, the following form:

уравнение 15 .equation 15 .

[0122] В иллюстративном варианте осуществления, в обучающих и тестовых окружениях, можно непосредственно измерять выбросовые значения, поскольку имеются входные и выходные переменные. В общем, выбросовые значения в прогнозированиях на основе модели, , к примеру, с большими отклонениями от фактических значений целевой переменной, обусловлены неспособностью модели L преобразовывать конкретные входные значения в прогнозные значения около известной целевой переменной. Входные данные для этих записей содержат эффекты факторов и/или явлений, которые модель не может увязывать реальностью, представленной посредством целевых переменных. Хранение этих записей в наборе данных может смещать результаты, поскольку коэффициенты модели вычисляются при таком допущении, что все записи данных являются одинаково допустимыми.[0122] In an example embodiment, in training and test environments, outlier values can be directly measured because there are input and output variables. In general, outlier values in model-based predictions , for example, with large deviations from the actual values of the target variable, are due to the inability of the L model to transform specific input values into predicted values around the known target variable. The input data to these records contains the effects of factors and/or phenomena that the model cannot reconcile with the reality represented by the target variables. Storing these records in the data set may bias the results because the model coefficients are calculated under the assumption that all data records are equally valid.

[0123] В некоторых вариантах осуществления, процесс DOBR, описанный выше, например, с обращением к вышеприведенной фиг. 6, работает для данного набора данных, в котором аналитик хочет наилучшей модели, которая подгоняется под данные, за счет удаления выбросовых значений, которые негативно смещают результаты. Это увеличивает точность прогнозирования модели посредством ограничения решения с использованием модели поднабором начального набора данных, который имеет удаленные выбросовые значения. В иллюстративном варианте осуществления, упрощаемое DOBR решение имеет два результата вывода:[0123] In some embodiments, the DOBR process described above, for example with reference to FIG. 6 works for a given data set in which the analyst wants the best model that fits the data by removing outliers that negatively bias the results. This increases the prediction accuracy of the model by limiting the model solution to a subset of the initial data set that has outlier values removed. In an illustrative embodiment, the DOBR simplified solution has two output results:

a) Набор значений x, параметров модели и решений с использованием модели, для которых модель описывает данные, иa) The set of x values, model parameters, and decisions using the model for which the model describes the data, and

b) Набор значений x, параметров модели и решений с использованием модели, для которых модель не описывает данные.b) A set of x values, model parameters, and decisions using the model for which the model does not describe the data.

[0124] Следовательно, в дополнение к вычислению более точной модели для ограниченного набора данных, в вариантах осуществления, DOBR также обеспечивает выбросовый набор данных, который дополнительно может изучаться относительно данной модели, чтобы понимать причину или причины высокой ошибки прогнозирования на основе модели.[0124] Therefore, in addition to computing a more accurate model for a limited data set, in embodiments, DOBR also provides an outlier data set that can further be studied against a given model to understand the cause or causes of high model-based prediction error.

[0125] В иллюстративном варианте осуществления инфраструктуры машинного обучения, как показано выше в этом разделе, прогнозирующая модель вычисляется из обучающих данных, и только эта модель используется в фазе тестирования. Поскольку, согласно расчетам, фаза тестирования может не использовать целевые значения, чтобы определять выбросовые значения, технология DOBR, описанная выше с обращением к фиг. 6, может не применяться. Тем не менее, имеется примерный аспект технологии DOBR, который, возможно не использован выше: потенциал классификации выбросовых значений/невыбросовых значений, обеспечиваемый посредством результатов вывода DOBR, упомянутых ранее.[0125] In an exemplary embodiment of the machine learning framework, as shown earlier in this section, a predictive model is computed from the training data, and only this model is used in the testing phase. Since it is estimated that the testing phase may not use target values to determine outlier values, the DOBR technique described above with reference to FIG. 6 may not apply. However, there is an exemplary aspect of DOBR technology that may not have been used above: the outlier/non-outlier classification potential provided through the DOBR output results mentioned earlier.

[0126] В качестве описания DOBR в приложении на основе машинного обучения варианта осуществления настоящего изобретения, набор данных может разделяться на две случайно выбранных части: одну для обучения и одну для тестирования. В фазе обучения, сохраняются независимые и целевые переменные, но в тестировании, целевые переменные маскируются, а независимые переменные используются для прогнозирования целевой переменной. Известные значения целевых переменных используются только для измерения ошибки прогнозирования модели.[0126] As a description of DOBR in a machine learning-based application of an embodiment of the present invention, the data set may be divided into two randomly selected parts: one for training and one for testing. In the training phase, the independent and target variables are retained, but in testing, the target variables are masked and the independent variables are used to predict the target variable. The known values of the target variables are used only to measure the model's prediction error.

[0127] В варианте осуществления, с учетом набора 604 обучающих данных с n записей, модели L 608 машинного обучения и критерия ∞ 622 приемлемости ошибки, DOBR может быть реализована с возможностью уменьшения отклонения в обучении модели L 608 машинного обучения. В некоторых вариантах осуществления, модель L 608 машинного обучения реализуется посредством модельного механизма, включающего в себя, например, обрабатывающее устройство и запоминающее устройство и/или устройство хранения данных. Согласно варианту осуществления, примерные оценки технологической модели, 606, для всех записей, применяющих модель L 608 машинного обучения, к полному входному набору 604 данных, например, согласно нижеприведенному уравнению 16:[0127] In an embodiment, given the set 604 training data with n records, machine learning model L 608 and error acceptance criterion ∞ 622, DOBR can be implemented with the ability to reduce the bias in training the machine learning model L 608. In some embodiments, the machine learning model L 608 is implemented by a model engine including, for example, a processing device and a memory and/or storage device. According to an embodiment, approximate estimates of the technology model, 606, for all entries applying machine learning model L 608 to the full input set 604 data, for example, according to Equation 16 below:

уравнение 16 ,equation 16 ,

[0128] - где 0 указывает начальное состояние, и x означает входную запись.[0128] - where 0 indicates the initial state and x indicates the input record.

[0129] Затем, согласно иллюстративному варианту осуществления, функция 618 полных ошибок вычисляет начальную полную ошибку e0 модели, например, согласно нижеприведенному уравнению 17:[0129] Next, according to an illustrative embodiment, the total error function 618 calculates the initial total error e 0 of the model, for example, according to equation 17 below:

уравнение 17 ,equation 17 ,

[0130] - где e0 является начальной полной ошибкой модели.[0130] - where e 0 is the initial total error of the model.

[0131] Затем, согласно иллюстративному варианту осуществления, функция 612 ошибок вычисляет ошибки модели, например, согласно нижеприведенному уравнению 18:[0131] Next, according to an exemplary embodiment, error function 612 calculates model errors, for example, according to equation 18 below:

уравнение 18 ,equation 18 ,

[0132] - где E является прогнозируемой ошибкой записи, и k обозначает итерацию.[0132] - where E is the predicted write error and k denotes iteration.

[0133] Затем, согласно иллюстративному варианту осуществления, функция 612 ошибок вычисляет новый вектор выбора записей данных, например, согласно нижеприведенному уравнению 19:[0133] Next, according to an exemplary embodiment, error function 612 calculates a new data record selection vector, for example, according to equation 19 below:

уравнение 19 ,equation 19 ,

[0134] - где I является вектором выбора записей.[0134] - where I is the record selection vector.

[0135] После этого, согласно иллюстративному варианту осуществления, блок 614 выбора записей данных вычисляет невыбросовые записи данных, которые должны включаться в вычисление с использованием модели, посредством выбора только записей, в которых вектор выбора записей равен 1, например, согласно нижеприведенному уравнению 20:[0135] Thereafter, according to an exemplary embodiment, data record selector 614 calculates non-outlier data records to be included in the calculation using the model by selecting only records in which the record selection vector is 1, for example, according to Equation 20 below:

уравнение 20 ,equation 20 ,

[0136] - где является индексом, указывающим на набор включенных DOBR записей в качестве невыбросовых значений.[0136] - where is an index pointing to the set of included DOBR records as non-outlier values.

[0137] Затем, согласно иллюстративному варианту осуществления, модуль машинного обучения 608 с последними коэффициентами 602 вычисляет новые прогнозируемые значения 620 для полного обучающего набора 604 с использованием выбранных DOBR записей данных, например, согласно нижеприведенному уравнению 21:[0137] Then, according to an illustrative embodiment, the machine learning module 608 with the latest coefficients 602 calculates new predicted values 620 for the full training set 604 using the DOBR selected data records, for example, according to Equation 21 below:

уравнение 21 .equation 21 .

[0138] Затем, согласно иллюстративному варианту осуществления, функция 618 полных ошибок вычисляет полную ошибку модели, например, согласно нижеприведенному уравнению 22:[0138] Next, according to an illustrative embodiment, the total error function 618 calculates the total error of the model, for example, according to equation 22 below:

уравнение 22 ,equation 22 ,

[0139] Затем, согласно иллюстративному варианту осуществления, тест 624 сходимости тестирует сходимость модели, например, согласно нижеприведенному уравнению 23:[0139] Next, according to an illustrative embodiment, convergence test 624 tests the convergence of the model, for example, according to equation 23 below:

уравнение 23 ,equation 23 ,

[0140] - где β является критериями 622 сходимости, такими как, например, 0,5%.[0140] - where β is convergence criteria 622, such as, for example, 0.5%.

[0141] В некоторых вариантах осуществления, тест 624 сходимости может завершать итеративный процесс, если, например, процентная ошибка меньше, например, 0,5%. В противном случае, процесс может возвращаться к набору 604 обучающих данных.[0141] In some embodiments, convergence test 624 may terminate the iterative process if, for example, the percentage error is less than, for example, 0.5%. Otherwise, the process may return to the training data set 604.

[0142] В некоторых вариантах осуществления, итеративная процедура DOBR измеряет то, насколько хорошо модель может прогнозировать себя, вместо измерения ее точности относительно набора тестовых данных. Цель здесь состоит в том, чтобы тестировать возможности модели прогнозировать целевую переменную, и записи с большими отклонениями систематически удаляются, чтобы повышать способность модели фокусироваться на подавляющем большинстве данных, в которых прогнозирования данных являются относительно хорошими. Этот процесс должен осуществляться с идентичным набором данных. Нецелесообразно удалять записи из обучающего набора, если выбросовые значения идентифицируются в тестовом наборе. Этот процесс является фундаментальным для способа DOBR в том, что записи, которые удаляются на предыдущей итерации, повторно вводятся после того, как новая модель (параметры новой модели) вычислена. Этот процесс требует того, что должен использоваться идентичный набор данных.[0142] In some embodiments, the iterative DOBR procedure measures how well the model can predict itself, rather than measuring its accuracy relative to a set of test data. The goal here is to test the model's ability to predict a target variable, and records with large outliers are systematically removed to improve the model's ability to focus on the vast majority of data in which the data's predictions are relatively good. This process must be carried out with an identical set of data. It is not practical to remove records from the training set if outliers are identified in the test set. This process is fundamental to the DOBR method in that records that are removed in the previous iteration are reintroduced after the new model (the parameters of the new model) is computed. This process requires that an identical data set be used.

[0143] В варианте осуществления, эта итеративная процедура выполняется после того, как обучающая модель задается. На основе проблемы, которая должна разрешаться в варианте осуществления, пользователь выбирает алгоритм машинного обучения и затем определяет конкретные гиперпараметры, которые «настраивают» или конфигурируют модель. Эти параметры могут выбираться с использованием стандартных технологий, таких как перекрестная проверка достоверности либо просто посредством иллюстрации на графике ошибки тестирования в качестве функции от конкретных обеспечиваемых пользователем диапазонов параметров. Используемые конкретные значения могут оптимизировать точность прогнозирования в зависимости от времени вычислений при обеспечении того, что модель не подгоняется ни недостаточно, ни избыточно. Предусмотрено несколько надежных инструментальных средств, чтобы помогать в этом процессе, но опыт и интуиция пользователей также представляют собой ценные преимущества в выборе наилучших гиперпараметров модели. Конкретные модели и ассоциированные гиперпараметры используются в примерах, поясненных ниже.[0143] In an embodiment, this iterative procedure is performed after the training model is specified. Based on the problem to be solved by the embodiment, the user selects a machine learning algorithm and then defines specific hyperparameters that “tune” or configure the model. These parameters may be selected using standard techniques such as cross-validation or simply by plotting test error as a function of specific user-provided parameter ranges. The specific values used can optimize prediction accuracy as a function of computation time while ensuring that the model is neither under- nor over-fitted. Several robust tools are available to assist in this process, but user experience and intuition are also valuable assets in selecting the best model hyperparameters. Specific models and associated hyperparameters are used in the examples explained below.

[0144] График зависимости приемлемости ошибки от ошибки модели вычисляется из этого этапа посредством применения последовательности значений приемлемости ошибки и сведения в таблицу или иллюстрации на графике результатов. Эти графики идентифицируют долю набора данных, которые представляют собой выбросовые значения, в том смысле, что их доля ошибки незначительно больше доли ошибки записей данных, которые подгоняются под модель. Также на практике, эти графики могут показывать более одного типа варьирования, не поясненных посредством модели. Уклон может варьироваться по мере того, как он сходится к уклону модели. Эти варьирования могут помогать в исследовании природы кодированного из дополнительных данных поведения, которое не объясняется посредством модели. Записи, которые занимают различные наклонные интервалы, могут идентифицироваться, и их дополнительное исследование может обеспечивать понимание, которое может помогать в конструировании еще более надежной модели.[0144] A plot of error acceptability versus model error is calculated from this step by applying a sequence of error acceptability values and tabulating or plotting the results. These plots identify the proportion of a data set that are outliers, in the sense that their proportion of error is not significantly greater than the proportion of error in data records that fit the model. Also in practice, these plots may show more than one type of variation not explained by the model. The slope can vary as it converges to the slope of the model. These variations can help to investigate the nature of behavior coded from additional data that is not explained by the model. Records that occupy different slope intervals can be identified, and further examination of them can provide insights that can help in constructing an even more robust model.

[0145] В варианте осуществления, после обучения, как описано выше, вычисляются две модели:[0145] In an embodiment, after training as described above, two models are computed:

Модель 1Model 1

, ,

[0146] - где является опорной моделью, которая используется в качестве основы для измерения повышения точности; и[0146] - where is a reference model that is used as a basis for measuring accuracy improvements; And

Модель 2Model 2

, ,

[0147] - где является базовой моделью DOBR, компонуемой из сходящихся выбросовых цензурированных записей и обученной на невыбросовых данных .[0147] - where is a basic DOBR model constructed from convergent outlier censored records and trained on non-outlier data .

[0148] В вариантах осуществления, ошибки, ассоциированные с моделью 1 и моделью 2, например, представляют собой и , соответственно.[0148] In embodiments, the errors associated with model 1 and model 2, for example, are And , respectively.

[0149] Таким образом, в вариантах осуществления, базовая модель предлагает то, что она может представлять собой лучший предиктор для невыбросовых записей. Тем не менее, набор тестовых данных является нецензурированным, так что он содержит как невыбросовые значения, так и выбросовые значения. Следовательно, непонятно, если применение невыбросовой индивидуально настраиваемой модели к нецензурированным тестовым данным должно формировать лучшую прогнозирующую модель по сравнению с . Тем не менее, во многих случаях, может наблюдаться как статистически равное или большее .[0149] Thus, in embodiments, the basic model suggests that it may represent a better predictor for non-outlier entries. However, the test data set is uncensored, so it contains both non-outlier values and outlier values. Therefore, it is not clear if applying a non-outlier individually tuned model to uncensored test data should produce a better predictive model compared to . However, in many cases, may be observed to be statistically equal to or greater .

[0150] В вариантах применения не на основе машинного обучения, в которых цель состоит в том, чтобы вычислять наилучшую прогнозирующую модель для данного набора данных, модель DOBR, вычисленная из выбранных (невыбросовых) записей, всегда формирует более низкую ошибку модели, поскольку опускаются идентифицированные выбросовые записи. В ограничивающем случае отсутствия выбросовых значений, ошибка модели DOBR равна полной ошибке модели, поскольку наборы данных являются идентичными.[0150] In non-machine learning applications in which the goal is to compute the best predictive model for a given data set, a DOBR model computed from selected (non-outlier) records always produces a lower model error because identified ones are omitted outlier records. In the limiting case of no outliers, the DOBR model error is equal to the total model error since the data sets are identical.

[0151] Тем не менее, в приложениях на основе машинного обучения, цель может состоять в том, чтобы разрабатывать модель с использованием поднабора доступных данных (обучение) и затем измерять ее точность прогнозирования на другом поднаборе (тестирование). Но, в некоторых вариантах осуществления, технология DOBR удаляет выбросовые значения модели на каждой итерации перед вычислением параметров модели. При разработке моделей машинного обучения, это может осуществляться в фазе обучения, но по определению, целевые значения в тестировании могут использоваться только для измерения точности прогнозирования модели без расширенных знаний выбросовых значений. Это наблюдение означает, что стандартная технология DOBR может обобщаться с использованием большего объема информации модели DOBR, вычисленной в фазе обучения.[0151] However, in machine learning applications, the goal may be to develop a model using a subset of available data (training) and then measure its predictive accuracy on another subset (testing). But, in some embodiments, DOBR technology removes model outliers at each iteration before calculating model parameters. When developing machine learning models, this may be done during the training phase, but by definition, target values in testing can only be used to measure the model's predictive accuracy without advanced knowledge of outlier values. This observation means that standard DOBR technology can be generalized using more DOBR model information computed in the training phase.

[0152] Фиг. 11 является блок-схемой другой примерной компьютерной системы для машинного обучения с уменьшенным отклонением в соответствии с одним или более вариантов осуществления настоящего изобретения.[0152] FIG. 11 is a block diagram of another exemplary computer system for reduced variance machine learning in accordance with one or more embodiments of the present invention.

[0153] В вариантах осуществления, после обучения, как описано выше, формируется следующая информация: выбранные DOBR значения набора обучающих данных для невыбросовых значений, вектор выбора обучающих данных DOBR для невыбросовых значений, выбранные DOBR значения набора обучающих данных для выбросовых значений и вектор выбора обучающих данных DOBR для выбросовых значений.[0153] In embodiments, after training as described above, the following information is generated: selected DOBR values training data set for non-outlier values, vector selection of DOBR training data for non-outlier values, selected DOBR values training data set for outlier values and vector selecting DOBR training data for outlier values.

[0154] В вариантах осуществления, DOBR классифицирует обучающие данные на два взаимоисключающих поднабора. Помимо этого, также имеются соответствующие векторы выбора, которые обеспечивают двоичный результат: (невыбросовое или выбросовое) классификационное значение для каждой записи в наборе обучающих данных, например, согласно нижеприведенному уравнению 24:[0154] In embodiments, DOBR classifies the training data into two mutually exclusive subsets. In addition, there are also corresponding selection vectors that provide a binary result: a (non-outlier or outlier) classification value for each entry in the training data set, for example according to Equation 24 below:

уравнение 24 .equation 24 .

[0155] В вариантах осуществления, полный набор атрибутов обучающих данных, , и сформированных DOBR классификаций, , используется для построения/обучения классификационной модели машинного обучения, C, например, сохраненную в библиотеке 303 моделей. Эта модель применяется к набору тестовых данных, xtest, для классификации записей тестовых данных в качестве выбросовых значений или невыбросовых значений на основе устанавливаемого DOBR знания набора обучающих данных. Например, классификационная модель машинного обучения C реализуется согласно нижеприведенному уравнению 25:[0155] In embodiments, the complete set of training data attributes, , and generated DOBR classifications, , is used to build/train a machine learning classification model, C, for example, stored in a model library 303. This model is applied to the test data set, x test , to classify test data records as outliers or non-outliers based on DOBR's established knowledge of the training data set. For example, machine learning classification model C is implemented according to Equation 25 below:

уравнение 25 .equation 25 .

[0156] Таким образом, в варианте осуществления, формирует два тестовых набора данных прогнозирования; и , где , соответственно. Вышеприведенная информация создает несколько возможных прогнозирующих моделей «полных наборов данных» для анализа набора тестовых данных. В некоторых вариантах осуществления, три модели, которые показывают наибольшие улучшения прогнозирования для всего набора данных, представляют собой:[0156] Thus, in an embodiment, generates two test forecast data sets; And , Where , respectively. The above information creates several possible "full data set" predictive models for analyzing the test data set. In some embodiments, the three models that show the greatest improvements in prediction for the entire data set are:

Модель 3Model 3

, ,

Модель 4Model 4

, ,

Модель 5Model 5

. .

[0157] В некоторых вариантах осуществления, для , модель L 608 машинного обучения задается посредством невыбросовых данных, , и применяется к тестовым классифицированным DOBR данным для прогнозирования невыбросовых тестовых значений. Идентичная процедура осуществляется для выбросовых данных. В вариантах осуществления, цель данного сочетания состоит в использовании самой точной прогнозирующей модели с соответствующим набором данных. Другими словами, эта модель тестирует полную точность прогнозирования невыбросовых и выбросовых моделей, применяемых по отдельности к соответствующим наборам данных, которые заданы с помощью классификации DOBR.[0157] In some embodiments, for ,L 608 machine learning model is specified by non-outlier data, , and is applied to test DOBR classified data to predict non-outlier test values. An identical procedure is followed for outlier data. In embodiments, the goal of this combination is to use the most accurate predictive model with the appropriate data set. In other words, this model tests the overall predictive accuracy of non-outlier and outlier models applied separately to their respective datasets, which are specified using the DOBR classification.

[0158] В некоторых вариантах осуществления, для , модель L 608 машинного обучения задается посредством обучающих данных, , и также применяется к тестовым классифицированным DOBR данным . Эта модель использует широкие знания для прогнозирования целевых значений задаваемых DOBR выбросовых и невыбросовых значений x. Назначение этой модели заключается в тестировании точности прогнозирования полной модели обучения, применяемой по отдельности к классифицированным DOBR невыбросовым и выбросовым наборам данных.[0158] In some embodiments, for ,the machine learning model L 608 is specified by the training data, , and also applies to test DOBR classified data . This model uses broad knowledge to predict target values of outlier and non-outlier x values specified by DOBR. The purpose of this model is to test the predictive accuracy of the full learning model applied separately to DOBR classified non-outlier and outlier datasets.

[0159] В некоторых вариантах осуществления, третья модель представляет собой гибридную схему, которая объединяет характеристики прогнозирования предыдущих двух подходов. Эта модель тестирует преимущество в прогнозировании, если имеется, объединения , модели 608, обученной на полном обучении, с , конкретной моделью, обученной на классифицированных DOBR выбросовых значениях в обучающем наборе, применяемом к соответствующим классифицированным наборам данных. Возникают дополнительные гибридные модели, которые могут изучаться в дальнейшем исследовании.[0159] In some embodiments, the third model is a hybrid scheme that combines the forecasting characteristics of the previous two approaches. This model tests the predictive advantage, if any, of aggregation , Model 608, fully trained, with , a specific model trained on the DOBR classified outlier values in the training set, applied to the corresponding classified datasets. Additional hybrid models are emerging that may be explored in further research.

[0160] В каждой из этих трех моделей и других вариантов осуществления, полный набор тестовых данных прогнозируется с использованием классифицированных DOBR невыбросовых и выбросовых записей. Способность способа DOBR повышать полную точность прогнозирования модели машинного обучения тестируется с помощью этих моделей. Но основное преимущество DOBR состоит в идентификации выбросовых значений модели, удалять их и вычислять наилучший предиктор модели из оставшихся невыбросовых значений. Кроме того, по определению, задаваемые DOBR выбросовые значения представляют собой записи, которые содержат варьирование, не описанное надлежащим образом в текущих переменных (или признаках), с учетом используемой модели машинного обучения.[0160] In each of these three models and other embodiments, the complete test data set is predicted using DOBR classified non-outlier and outlier records. The ability of the DOBR method to improve the overall prediction accuracy of a machine learning model is tested using these models. But the main benefit of DOBR is to identify outlier values from a model, remove them, and compute the best model predictor from the remaining non-outlier values. Additionally, by definition, DOBR-defined outliers are records that contain variation that is not adequately described in the current variables (or traits) given the machine learning model being used.

[0161] В некоторых вариантах осуществления, при вычисленных наборах выбросовых и невыбросовых данных, аналитик имеет три варианта. В варианте осуществления, первый вариант заключается в том, чтобы применять базовую модель, , и не применять DOBR. Означенное представляет собой управляемую данными стратегию, когда кривая зависимости приемлемости риска от ошибки модели находится близко к линейной взаимосвязи. В варианте осуществления, второй вариант заключается в том, чтобы применять одну или более моделей: , или , и комбинировать, например, усреднять результаты. В варианте осуществления, третий вариант заключается в том, чтобы разрабатывать прогнозирования только для невыбросовых записей и дополнительно исследовать выбросовые данные для разработки стратегии моделирования для этого специализированного нового набора данных, например, изменения модели машинного обучения или добавлять переменные, чтобы учитывать необъясненное варьирование, и т.д.[0161] In some embodiments, given the computed outlier and non-outlier data sets, the analyst has three options. In an embodiment, the first option is to apply the basic model, , and do not use DOBR. This represents a data-driven strategy when the curve of risk acceptability versus model error is close to a linear relationship. In an embodiment, the second option is to apply one or more models: , or , and combine, for example, averaging the results. In an embodiment, the third option is to develop predictions only for the non-outlier records and further explore the outlier data to develop a modeling strategy for this specialized new data set, such as changing the machine learning model or adding variables to account for unexplained variation, etc. .d.

[0162] Относительно варианта 3, предусмотрено несколько способов вычислять набор невыбросовых данных, и здесь упоминаются два возможных варианта выбора. Одна причина относительно большого числа возможностей может быть обусловлена нелинейностью многих применяемых моделей машинного обучения. В общем, . Это неравенство может быть обусловлено сложностью многих моделей машинного обучения. Равенство является применимым для линейной регрессии, например, но не в качестве общего правила для моделей машинного обучения.[0162] With respect to option 3, there are several ways to calculate the non-outlier data set, and two possible choices are mentioned here. One reason for the relatively large number of possibilities may be due to the non-linearity of many of the applied machine learning models. All in all, . This disparity may be due to the complexity of many machine learning models. Equality is applicable for linear regression, for example, but not as a general rule for machine learning models.

[0163] В вариантах осуществления, относительно невыбросовых прогнозирований, способ DOBR первоначально не проектируется с возможностью улучшения прогнозирования полного набора данных. Согласно расчетам, способ сходится к наилучшему набору выбросовых значений на основе обеспеченной модели и набора данных. Оставшиеся данные и вычисления с использованием модели обеспечивают повышенную точность, но отсутствуют методологические принципы в отношении того, как выполнять прогнозирования для выбросовых значений. Неявное решение состоит в том, чтобы применять различную модель к выбросовому набору данных, которая отражает уникальные варьирования данных, которые не присутствуют в невыбросовой модели.[0163] In embodiments regarding non-outlier predictions, the DOBR method is not initially designed to improve prediction of a complete data set. The method is calculated to converge to the best set of outlier values based on the provided model and data set. The remaining data and calculations using the model provide improved accuracy, but there is a lack of methodological guidance on how to make predictions for outlier values. The implicit solution is to apply a different model to the outlier data set that captures the unique variations in the data that are not present in the non-outlier model.

[0164] В вариантах осуществления, задаются две модели для проверки невыбросовой точности прогнозирования с удалением выбросовых значений из анализа. Первый вариант для выбора набора невыбросовых данных применяет классификационный вектор DOBR, , к опорной модели, , например, согласно нижеприведенной модели 6:[0164] In embodiments, two models are specified to test non-outlier prediction accuracy while removing outlier values from the analysis. The first option for selecting a non-outlier data set uses the DOBR classification vector, , to the reference model, , for example, according to model 6 below:

Модель 6Model 6

. .

[0165] В вариантах осуществления, опорная модель использует полную заданную на основе обучающих данных модель, чтобы выполнять прогнозирования из набора данных, xtest. Классификационный вектор затем применяется, чтобы удалять прогнозируемые выбросовые значения на основе знаний способа DOBR, полученных из набора обучающих данных. Эта модель применяет DOBR к модели самой общей или широкой предметной области.[0165] In embodiments, the reference model uses the full model specified from the training data to make predictions from the data set, x test . The classification vector is then used to remove predicted outliers based on the DOBR knowledge obtained from the training data set. This model applies DOBR to the most general or broad domain model.

[0166] В вариантах осуществления, вторая модель применяет DOBR самым узким или «точным» способом посредством использования модели DOBR, созданной из стадии обучения, из невыбросовых обучающих данных, только к записям, выбранным посредством модели классификации, , например, согласно нижеприведенной модели 7:[0166] In embodiments, the second model applies DOBR in the most narrow or "precise" manner by using the DOBR model generated from the training stage, from non-outlier training data, only to records selected by the classification model, , for example, according to model 7 below:

Модель 7Model 7

. .

[0167] Предусмотрены другие модели, которые могут формироваться из аналитических формулирований, разработанных в этом исследовании, и в зависимости от проблемы, они могут иметь значительный потенциал улучшения прогнозируемости. Тем не менее, модели, используемые здесь, и , ограничивают случаи, представляющие самые широкие и самые узкие версии, с точки зрения эффективности использования обучающей предметной области и определения моделей.[0167] Other models are envisioned that can be formed from the analytical formulations developed in this study, and depending on the problem, they may have significant potential for improving predictability. However, the models used here are And ,constrain the cases representing the broadest and narrowest ,versions in terms of the effectiveness of using the training ,domain and defining models.

[0168] В вариантах осуществления, чтобы тестировать точность прогнозирования разработанных DOBR моделей, заданных выше, таких как, например, модели 3-7, используется в качестве основы сравнения для моделей , и (моделей 3, 4 и 5, соответственно). Для и (моделей 6 и 7, соответственно), прогнозирования на основе модели для набора невыбросовых данных, основа сравнения представляет собой . Таким образом, в вариантах осуществления, ошибка может определяться, например, согласно нижеприведенным уравнениям 26, 27 и 28:[0168] In embodiments, to test the prediction accuracy of the developed DOBR models defined above, such as, for example, models 3-7, as a basis of comparison for models , And (models 3, 4 and 5, respectively). For And (Models 6 and 7, respectively), model-based prediction for a non-outlier data set, the basis of comparison is . Thus, in embodiments, the error may be determined, for example, according to the following equations 26, 27 and 28:

[0169] В нижеприведенных примерах иллюстративных вариантов осуществления, показатель точности прогнозирования DOBR измеряется за счет того, насколько (если вообще) , и/или меньше . Для ошибок набора невыбросовых данных, и , показатель улучшения представляет собой снижение ошибки относительно выбросовой отрегулированной базовой ошибки . Регулирование описывается ниже относительно примерных результатов.[0169] In the following example embodiments, the DOBR prediction accuracy rate is measured by how much (if at all) , and/or less . For non-outlier data set errors, And , the improvement rate represents the reduction in error relative to the outlier adjusted base error . The adjustment is described below with respect to exemplary results.

[0170] В некоторых вариантах осуществления для примеров машинного обучения примерных улучшений DOBR согласно изобретению, точность ранее заданных пяти моделей может тестироваться с помощью семи регрессионных моделей машинного обучения: линейная регрессия, k ближайших соседних узлов, LASSO-регрессия, метод опорных векторов, дерево решений, улучшение агрегации и случайный лес. Эти регрессионные модели машинного обучения представляют собой примеры широкого спектра модельных конструкций. Также предполагаются дополнительные или альтернативные модели, такие как нейронные сети, кластеризация, модели из ансамбля, в числе других, и их сочетание.[0170] In some embodiments, for machine learning examples of exemplary DOBR improvements according to the invention, the accuracy of the previously specified five models can be tested using seven machine learning regression models: linear regression, k nearest neighbors, LASSO regression, support vector machine, decision tree ,improving aggregation and random forest. These machine learning regression models are examples of a wide range of model constructs. Additional or alternative models are also contemplated, such as neural networks, clustering, ensemble models, among others, and combinations thereof.

[0171] Линейная регрессия представляет собой способ, который дает понимание аналитикам относительно процесса, в котором коэффициенты (или параметры модели) могут иметь связанное с техническим процессом смысловое значение. Модель процесса, представленная посредством уравнения, должна обеспечиваться аналитиком, и коэффициенты определяются посредством минимизации ошибки между прогнозируемыми целевыми значениями и целевыми значениями на основе обеспечиваемых данных.[0171] Linear regression is a technique that provides analysts with insight into a process in which coefficients (or model parameters) may have meaning associated with a technical process. The process model represented by the equation must be provided by the analyst, and the coefficients are determined by minimizing the error between the predicted target values and the target values based on the data provided.

[0172] LASSO-регрессия, сокращение для «оператора сжатия и выбора коэффициентов по наименьшим абсолютным отклонениям», представляет собой связанную с регрессией технологию, в которой дополнительный член добавляется в целевую функцию. Этот член представляет собой сумму абсолютных значений коэффициентов регрессии, и он минимизируется согласно обеспечиваемому пользователем параметру. Цель этого дополнительного члена состоит в добавлении штрафа за увеличение значения коэффициентов переменных (или признаков). Минимизация только сохраняет доминирующие коэффициенты и может помогать в уменьшении сложных в интерпретации эффектов ковариации или коллинеарности переменных (или признаков).[0172] LASSO regression, short for “least absolute deviation compression and coefficient selection operator,” is a related technique to regression in which an additional term is added to the objective function. This term is the sum of the absolute values of the regression coefficients and is minimized according to a user-provided parameter. The purpose of this additional term is to add a penalty for increasing the value of the coefficients of the variables (or features). Minimization only preserves the dominant coefficients and can help reduce the difficult-to-interpret effects of covariance or collinearity of variables (or traits).

[0173] Регрессия на основе дерева решений может имитировать человеческое мышление и является интуитивной и простой в интерпретации. Модель выбирает конструкцию дерева решений, которая логически показывает то, как значения x формируют целевую переменную. Конкретные параметры, такие как максимальная глубина и минимальное число выборок в расчете на лист, задаются аналитиком в обучающем/тестовом упражнении на основе машинного обучения.[0173] Decision tree regression can mimic human thinking and is intuitive and easy to interpret. The model selects a decision tree design that logically shows how the values of x form the target variable. Specific parameters, such as maximum depth and minimum number of samples per sheet, are specified by the analyst in a machine learning-based training/test exercise.

[0174] Регрессия на основе случайного леса основывается на способе на основе дерева решений. Точно так же, как леса создаются с помощью деревьев, регрессионная модель на основе случайного леса создается с помощью групп деревьев решений. Аналитик задает лесную структуру посредством обеспечения модулей оценки (числа деревьев в лесу), некоторых параметров, аналогичных максимальной глубине деревьев решений деревьев, характеристик листьев и технических параметров, связанных с тем, как ошибка модели вычисляется и применяется.[0174] Random forest regression is based on a decision tree method. Just as forests are created using trees, a random forest regression model is created using groups of decision trees. The analyst defines the forest structure by providing estimation modules (the number of trees in the forest), some parameters similar to the maximum depth of decision trees, leaf characteristics, and technical parameters related to how the model error is calculated and applied.

[0175] k-NN означает способы на основе принципа k ближайших соседних узлов, в которых прогнозируемое значение вычисляется из k ближайших соседних узлов в области x (или признаков). Выбор показателя для измерения расстояния и конкретное число ближайших соседних узлов, которые следует использовать, представляет собой главные параметры, задаваемые аналитиком в настройке модели для прогнозирований относительно данного набора данных. Именно простой способ может хорошо работать для регрессионных и классификационных прогнозирований.[0175] k-NN refers to k-nearest-neighbor methods in which a predicted value is calculated from the k-nearest neighbor nodes in a region x (or features). The choice of metric to measure distance and the specific number of nearest neighbors to use are the main parameters the analyst sets in setting up the model to make predictions about a given data set. It is a simple method that can work well for regression and classification predictions.

[0176] Регрессия на основе метода опорных векторов представляет собой универсальный способ на основе машинного обучения, который имеет несколько варьирований. Регрессия означает подгонку модели под данные, и оптимизация обычно представляет собой минимизацию ошибки между прогнозируемыми и целевыми переменными. При использовании регрессии на основе метода опорных векторов, критерий ошибки обобщается, чтобы указывать то, что если ошибка меньше некоторого значения "ε", то указывается то, что они «являются достаточно хорошими», и только ошибки, большие "ε", измеряются и оптимизируются. В дополнение к этому атрибуту, способ обеспечивает возможность преобразования данных в нелинейные области с помощью стандартных или, в некоторых случаях, определяемых пользователем функций или ядер преобразования. Используется многомерная структура данных, в которой цель состоит в том, чтобы вычислять надежные прогнозирования, а не в том, чтобы не моделировать данные согласно традиционной сущности регрессии.[0176] Support vector machine regression is a generic machine learning technique that has several variations. Regression means fitting a model to the data, and optimization usually involves minimizing the error between predicted and target variables. When using support vector machine regression, the error criterion is generalized to indicate that if the error is less than some value "ε" then they are indicated as "good enough" and only errors greater than "ε" are measured and are being optimized. In addition to this attribute, the method provides the ability to transform data into nonlinear domains using standard or, in some cases, user-defined functions or transformation kernels. A multivariate data structure is used where the goal is to compute reliable predictions rather than not model the data according to the traditional essence of regression.

[0177] Регрессия на основе принципа улучшения агрегации вычисляет прогнозные оценки из взятия случайных поднаборов с заменой. Каждая случайная выборка вычисляет прогнозирование на основе дерева решений (по умолчанию) целевой переменной. Конечное прогнозное значение ансамбля может вычисляться несколькими способами: среднее значение представляет собой один пример. Первичные переменные машинного обучения представляют собой число модулей оценки в каждом ансамбле, число переменных (или признаков) и выборок для взятия, чтобы обучать каждый модуль оценки, и инструкции по выбору/замене. Способ может уменьшать дисперсию по сравнению с другими способами, такими как регрессия на основе дерева решений.[0177] Aggregation improvement regression computes predictive scores from taking random subsets with replacement. Each random sample computes a prediction based on the (default) decision tree of the target variable. The final forecast value of the ensemble can be calculated in several ways: the average represents one example. The primary machine learning variables are the number of estimators in each ensemble, the number of variables (or features) and samples to draw to train each estimator, and selection/replacement instructions. The method can reduce variance compared to other methods such as decision tree regression.

[0178] Классификационная модель, , представляет собой иллюстративный пример, поскольку она применяется к классификациям DOBR невыбросовых значений/выбросовых значений и значений x обучающего набора, чтобы задавать невыбросовое значение и выбросовые значения в наборе тестовых данных. Она представляет собой критический этап в варианте применения на основе машинного обучения DOBR, поскольку она передает знания выбросовых значений из обучающего набора в набор тестовых или производственных данных. Если возникают неподходящие классификации, полезность технологии DOBR для повышения точности прогнозирований машинного обучения, не реализуется.[0178] Classification model, , is an illustrative example as it is applied to the DOBR classifications of non-outlier values/outlier values and x-values of the training set to define the non-outlier value and outlier values in the test data set. It represents a critical step in the DOBR machine learning application because it transfers knowledge of outlier values from the training set to the test or production data set. If inappropriate classifications occur, the usefulness of DOBR technology in improving the accuracy of machine learning predictions is not realized.

[0179] Классификационные модели на основе дерева решений, на основе принципа k-NN, на основе случайного леса и на основе принципа улучшения агрегации тестируются на предмет своей точности классификации. Модели на основе принципа улучшения агрегации и на основе случайного леса выбирается, и обе модели настраиваются с возможностью формирования корректной доли приемлемости ошибки для невыбросовых значений. Более подробный классификационный анализ может предлагать другие модели. Обширный классификационный анализ, даже если точность классификации является главной, находится за рамками объема этого начального пояснения.[0179] Decision tree, k-NN, random forest, and aggregation enhancement classification models are tested for their classification accuracy. The aggregation enhancement and random forest models are selected, and both models are adjusted to generate the correct error tolerance fraction for non-outlier values. Other models may offer more detailed classification analysis. Extensive classification analysis, even if classification accuracy is paramount, is beyond the scope of this initial explanation.

[0180] Фиг. 12 является графиком, иллюстрирующим пример взаимосвязи между ошибкой модели и критерием приемлемости ошибки некоторых примерных компьютерных моделей машинного обучения с уменьшенным отклонением для прогнозирования прочности бетона в соответствии с одним или более вариантов осуществления настоящего изобретения.[0180] FIG. 12 is a graph illustrating an example of the relationship between model error and error acceptance criterion of some exemplary bias-reduced machine learning computer models for predicting concrete strength in accordance with one or more embodiments of the present invention.

[0181] Первый пример использует идентичный набор данных с тем, что описано выше в отношении прочности на сжатие бетона, причем DOBR применяется к полному набору данных. В качестве краткого обзора, этот набор данных содержит прочность на сжатие бетона в качестве функции от его состава и воздействия на него, заданной посредством 8 количественных входных переменных. Набор данных имеет 1030 записей или экземпляров и содержится в архиве репозитория данных машинного обучения Калифорнийского университета в Ирвайне.[0181] The first example uses an identical data set to that described above for concrete compressive strength, with DOBR applied to the complete data set. As a quick overview, this dataset contains the compressive strength of concrete as a function of its composition and exposure, defined by 8 quantitative input variables. The dataset has 1030 records or instances and is archived in the Machine Learning Data Repository at the University of California, Irvine.

[0182] Учебное упражнение на основе машинного обучения разделяет этот набор данных согласно разбиению 70%:30% с настройкой модели, выполняемой для набора обучающих данных (70%), и результатами прогнозирования, измеренными с тестовым (30%-м) набором данных.[0182] The machine learning training exercise splits this dataset according to a 70%:30% split with model tuning performed on the training dataset (70%) and prediction results measured on the test (30%) dataset.

[0183] Результаты настройки модели для семи моделей машинного обучения при прогнозировании прочности на сжатие бетона приводятся в нижеуказанной таблице 1.[0183] The model tuning results for seven machine learning models in predicting concrete compressive strength are shown in Table 1 below.

Табл. 1Table 1 Линейная регрессияLinear regression fit_intercept=False, normalize=Falsefit_intercept=False, normalize=False LASSO-регрессорLASSO regressor alpha=4, fit_intercept=Falsealpha=4, fit_intercept=False Регрессор на основе дерева решенийDecision Tree Regressor max_depth=6, min_samples_split=2max_depth=6, min_samples_split=2 Регрессор на основе случайного лесаRandom forest based regressor n_estimators=3, min_samples_leaf=30n_estimators=3, min_samples_leaf=30 Регрессор на основе принципа k соседних узловRegressor based on the k-neighbor principle n_neighbors=3n_neighbors=3 SVRSVR C=10, gamma=0,0005, kernel="rbf"C=10, gamma=0.0005, kernel="rbf" Регрессор на основе принципа улучшения агрегацииRegressor based on the principle of improving aggregation n_estimators=25, max_samples=35n_estimators=25, max_samples=35

[0184] Параметры модели по умолчанию (например, для Python 3,6) не показаны, поскольку они не добавляют информацию в результаты. В вариантах осуществления, процесс настройки представляет собой упражнение в выборе параметров, которые минимизируют ошибки в наборе обучающих и тестовых данных с использованием среднеквадратической ошибки в качестве индикатора. Более сложные алгоритмы могут применяться, но простой подход использован лишь для обеспечения того, что результаты ни недостаточно, ни избыточно не подгоняются под ошибку в наборе данных.[0184] The default model parameters (e.g. for Python 3.6) are not shown because they do not add information to the results. In embodiments, the tuning process is an exercise in selecting parameters that minimize errors in a set of training and test data using the root mean squared error as an indicator. More complex algorithms can be used, but the simple approach is used only to ensure that the results are neither under nor overfitted to the error in the data set.

[0185] В варианте осуществления, чтобы применять DOBR, выполняется определение процентной доли от данных, если таковые имеются, в которых ошибка является чрезмерно большой. В вариантах осуществления, модели машинного обучения, которые применяются для последовательности долей приемлемости ошибки, записывают соответствующие ошибки модели. Это осуществляется только для набора обучающих данных, поскольку набор тестовых данных используется только для измерения точности прогнозирования модели машинного обучения. Процентная доля данных, включенных в модель, «приемлемость ошибки», означает величину полной ошибки модели, которую пользователь имеет намерение считать приемлемой, а также указывает долю данных, которые адекватно описывает модель.[0185] In an embodiment, to apply DOBR, a determination is made of the percentage of data, if any, in which the error is excessively large. In embodiments, machine learning models that are applied to a sequence of error acceptance rates record the corresponding model errors. This is only done on the training data set since the test data set is only used to measure the prediction accuracy of the machine learning model. The percentage of data included in the model, “error acceptability,” refers to the amount of total model error that the user intends to consider acceptable, and also indicates the proportion of the data that the model adequately describes.

[0186] В вариантах осуществления, последовательность процентных долей приемлемости ошибки колеблется от 100% до 60% с приращениями в 2.[0186] In embodiments, the sequence of error acceptability percentages ranges from 100% to 60% in increments of 2.

[0187] Фиг. 13 является графиком, иллюстрирующим пример взаимосвязи между ошибкой модели и критерием приемлемости ошибки некоторых примерных компьютерных моделей машинного обучения с уменьшенным отклонением для прогнозирования использования энергии в соответствии с одним или более вариантов осуществления настоящего изобретения.[0187] FIG. 13 is a graph illustrating an example of the relationship between model error and error acceptance criterion of some exemplary bias-reduced machine learning computer models for predicting energy use in accordance with one or more embodiments of the present invention.

[0188] Второй пример содержит данные использования энергии приборов вместе с бытовыми окружающими условиями и условиями освещения с дискретизацией каждые 10 минут в течение 4½ месяцев. Они состоят из 29 атрибутов: 28 входных переменных и 1 выходной (целевой переменной) и 19735 записей. Набор данных и документация содержатся в архиве репозитория данных машинного обучения Калифорнийского университета в Ирвайне.[0188] The second example contains appliance energy use data along with household environmental and lighting conditions sampled every 10 minutes for 4½ months. They consist of 29 attributes: 28 input variables and 1 output (target variable) and 19735 entries. The dataset and documentation are archived in the Machine Learning Data Repository at the University of California, Irvine.

[0189] Аналогично вышеуказанному, в вариантах осуществления, результаты настройки модели для семи моделей машинного обучения при прогнозировании использования энергии приборов приводятся в нижеприведенной таблице 2.[0189] Similar to the above, in embodiments, the model tuning results for seven machine learning models in predicting appliance energy use are shown in Table 2 below.

Табл. 2Table 2 Линейная регрессияLinear regression fit_intercept=False, normalize=Falsefit_intercept=False, normalize=False LASSO-регрессорLASSO regressor alpha=4, fit_intercept=False, max_iter=100000, tol=0,01alpha=4, fit_intercept=False, max_iter=100000, tol=0.01 Регрессор на основе дерева решенийDecision Tree Regressor max_depth=22, min_samples_leaf=2max_depth=22, min_samples_leaf=2 Регрессор на основе случайного лесаRandom forest based regressor n_estimators=6n_estimators=6 Регрессор на основе принципа k соседних узловRegressor based on the k-neighbor principle n_neighbors=9n_neighbors=9 SVRSVR C=1000, gamma=0,001, kernel="rbf"C=1000, gamma=0.001, kernel="rbf" Регрессор на основе принципа улучшения агрегацииRegressor based on the principle of improving aggregation n_estimators=20, max_samples=15n_estimators=20, max_samples=15

[0190] В вариантах осуществления, параметры модели по умолчанию (например, для Python 3,6) не показаны, поскольку они не добавляют информацию в результаты. Процесс настройки представляет собой упражнение в выборе параметров, которые минимизируют ошибки в наборе обучающих и тестовых данных с использованием среднеквадратической ошибки в качестве индикатора. Более сложные алгоритмы могут применяться, но простой подход использован лишь для обеспечения того, что результаты ни недостаточно, ни избыточно не подгоняются под ошибку в наборе данных.[0190] In embodiments, default model parameters (eg, for Python 3.6) are not shown because they do not add information to the results. The tuning process is an exercise in selecting parameters that minimize errors in the training and test data sets, using the mean squared error as an indicator. More complex algorithms can be used, but the simple approach is used only to ensure that the results are neither under nor overfitted to the error in the data set.

[0191] В варианте осуществления, чтобы применять DOBR, выполняется определение процентной доли от данных, если таковые имеются, в которых ошибка является чрезмерно большой. В вариантах осуществления, модели машинного обучения, которые применяются для последовательности долей приемлемости ошибки, записывают соответствующие ошибки модели. Это осуществляется только для набора обучающих данных, поскольку набор тестовых данных используется только для измерения точности прогнозирования модели машинного обучения. Процентная доля данных, включенных в модель, «приемлемость ошибки», означает величину полной ошибки модели, которую пользователь имеет намерение считать приемлемой, а также указывает долю данных, которые адекватно описывает модель.[0191] In an embodiment, to apply DOBR, a determination is made of the percentage of the data, if any, in which the error is excessively large. In embodiments, machine learning models that are applied to a sequence of error acceptance rates record the corresponding model errors. This is only done on the training data set since the test data set is only used to measure the prediction accuracy of the machine learning model. The percentage of data included in the model, “error acceptability,” refers to the amount of total model error that the user intends to consider acceptable, and also indicates the proportion of the data that the model adequately describes.

[0192] В вариантах осуществления, последовательность процентных долей приемлемости ошибки колеблется от 100% до 60% с приращениями в 2.[0192] In embodiments, the sequence of error acceptability percentages ranges from 100% to 60% in increments of 2.

[0193] Фиг. 12 и фиг. 13 показывают, частично, возможности моделей машинного обучения адаптироваться к сильноварьирующимся данным. Чем ближе линии к линейным (чем в большей степени являются прямыми), тем больше способность модели адекватно описывать данные, которые транслируются в меньше число, если такие имеются, выбросовых значений. Линейное поведение для нескольких моделей, применяемых к данным по бетону, показывает то, они могут почти полностью адекватно описывать весь набор обучающих данных. Нелинейность результатов для набора данных по энергопотреблению предлагает то, что имеется значительная процентная доля от записей данных, в которых модели формируют неточные прогнозирования или выбросовые значения.[0193] FIG. 12 and fig. 13 show, in part, the ability of machine learning models to adapt to highly variable data. The closer the lines are to linear (the more straight they are), the greater the model's ability to adequately describe the data, which translates into fewer, if any, outlier values. The linear behavior of several models applied to the concrete data shows that they can almost completely adequately describe the entire training data set. The nonlinearity of the results for the energy data set suggests that there is a significant percentage of the data records in which the models produce inaccurate predictions or outlier values.

[0194] Для каждой кривой на вышеуказанном графике данных по бетону, включающем в себя, например, линейную регрессию 530, LASSO-регрессию 540, регрессию 522 на основе дерева решений, регрессию 528 на основе случайного леса, регрессию 524 на основе принципа k соседних узлов, регрессию 520 на основе метода опорных векторов (SVR) и регрессию 526 на основе принципа улучшения агрегации, и на вышеуказанном графике данных использования энергии, включающем в себя, например, линейную регрессию 730, LASSO-регрессию 740, регрессию 722 на основе дерева решений, регрессию 728 на основе случайного леса, регрессию 724 на основе принципа k соседних узлов, регрессию 720 на основе метода опорных векторов (SVR) и регрессию 726 на основе принципа улучшения агрегации, прямая линия, заданная посредством низких процентных долей приемлемости ошибки, может экстраполироваться, чтобы определять значение приемлемости ошибки, при котором доля выбросовых значений начинается, согласно варианту осуществления настоящего изобретения. Этот процесс может быть автоматизирован, но на практике, он может выполняться вручную, чтобы обеспечивать то, что выбранное значение приемлемости ошибки отражает суждение аналитика.[0194] For each curve in the above concrete data plot including, for example, linear regression 530, LASSO regression 540, decision tree regression 522, random forest regression 528, k-neighbor regression 524 , a support vector machine (SVR) regression 520 and a regression 526 based on the aggregation enhancement principle, and on the above energy use data graph including, for example, linear regression 730, LASSO regression 740, decision tree regression 722, random forest regression 728, k-neighbor regression 724, support vector machine (SVR) regression 720, and aggregation enhancement regression 726, a straight line defined by low error acceptance percentages can be extrapolated to determine the error acceptance value at which the proportion of outlier values begins, according to an embodiment of the present invention. This process can be automated, but in practice, it may be performed manually to ensure that the selected error acceptability value reflects the analyst's judgment.

[0195] Упражнение на основе экстраполяции и выбор процентных долей приемлемости ошибки представляют собой относительно простой процесс, но он имеет очень важные последствия. Он указывает то, насколько хорошо предложенная модель подгоняется под данные. Дополнение значения приемлемости ошибки представляет собой процентную долю набора данных, которые представляют собой выбросовые значения, т.е. процентную долю от записей, в которых модель не может осуществлять относительно точные прогнозирования. Оно представляет собой важную информацию в выборе машинного обучения (или любой модели) для данного набора данных и практического варианта применения. Таблица 3 представляет значения приемлемости ошибки, выбранные для каждого режима для двух примерных наборов данных.[0195] The exercise of extrapolation and selection of error acceptability percentages is a relatively simple process, but it has very important consequences. It indicates how well the proposed model fits the data. The complement of the error acceptability value represents the percentage of the data set that are outlier values, i.e. the percentage of records in which the model cannot make relatively accurate predictions. It represents important information in choosing a machine learning (or any model) for a given data set and practical use case. Table 3 presents the error acceptance values selected for each mode for two example data sets.

Табл. 3Table 3 Сжатие бетонаCompression of concrete Использование энергии приборовAppliance energy use Линейная регрессияLinear regression 80%80% 84%84% LASSO-регрессияLASSO regression 80%80% 84%84% Дерево решенийDecision tree 94%94% 90%90% Случайный лесRandom Forest 90%90% 90%90% k ближайших соседних узловk nearest neighbor nodes 88%88% 84%84% Метод опорных векторовSupport Vector Machine 94%94% 84%84% Улучшение агрегацииImproved aggregation 92%92% 84%84%

[0196] В вариантах осуществления, точность прогнозирования просто выбранных DOBR значений сравнивается с опорной моделью. Это представляет собой базовую полезность DOBR, поскольку способ отдельно не обеспечивает конкретной информации относительно повышения точности прогнозирования для полного набора данных. Следовательно, анализ DOBR представляет аналитику потенциальный компромисс: иметь лучшую силу прогнозирования для части набора данных, но без информации, обеспечиваемой для выбросовых записей. Вопрос, рассматриваемый в этом разделе, заключается в том, насколько, если вообще, выбранные DOBR результаты являются более точными по сравнению с соответствующими прогнозированиями на основе тестовых данных опорной модели.[0196] In embodiments, the prediction accuracy of simply selected DOBR values is compared to a reference model. This represents the basic usefulness of DOBR, since the method alone does not provide specific information regarding improvements in prediction accuracy for the full data set. Therefore, DOBR analysis presents the analyst with a potential trade-off: having better predictive power for a subset of the data set, but without the information provided for outlier records. The question addressed in this section is how much, if at all, the DOBR-selected results are more accurate than the corresponding predictions from the reference model test data.

[0197] Опорная ошибка вычисляется для полного набора данных. Значения отрегулированной опорной ошибки для сравнения с наборами невыбросовых данных вычисляются посредством умножения полной опорной ошибки на значение приемлемости ошибки. Например, если опорная ошибка составляет 10,0, и значение приемлемости ошибки составляет 80%, то отрегулированная опорная ошибка составляет 10×80%, или 8,0. Интерпретация использует определение «приемлемости ошибки». Если невыбросовые данные вычисляются для 80% данных, например, то 80% от полной ошибки должны по-прежнему оставаться в невыбросовых данных. Означенное представляет собой определение приемлемости ошибки.[0197] The reference error is calculated for the complete data set. Adjusted reference error values for comparison with non-outlier data sets are calculated by multiplying the total reference error by the error acceptability value. For example, if the reference error is 10.0 and the error acceptance value is 80%, then the adjusted reference error is 10×80%, or 8.0. The interpretation uses the definition of "acceptability of error." If the non-outlier data is calculated on 80% of the data, for example, then 80% of the total error should still remain in the non-outlier data. This represents the determination of the acceptability of an error.

[0198] Результаты, измеряющие производительность в виде точности прогнозирования выбранных DOBR невыбросовых значений, представляются в нижеприведенных таблице 4 и таблице 5, соответствующих, например, набору данных прочности бетона и набору данных по энергопотреблению, соответственно. Опорная ошибка вычисляется посредством умножения фактических процентных долей приемлемости ошибки на точечные оценки . Классификатор на основе случайного леса не применяется к набору данных по бетону, поскольку он определен как не подлежащий изменению заключения относительно повышения точности прогнозирования DOBR.[0198] Results measuring performance in terms of prediction accuracy of selected DOBR non-outlier values are presented in Table 4 and Table 5 below, corresponding to, for example, a concrete strength dataset and an energy consumption dataset, respectively. The reference error is calculated by multiplying the actual error acceptability percentages by the point estimates . The random forest classifier is not applied to the concrete dataset because it is determined to not be subject to change in conclusion regarding improving DOBR prediction accuracy.

[0199] Для всех последующих статистических данных, результаты показывают средний ±95%-й доверительный интервал из 100 вариантов выбора случайного испытания поднаборов обучающих и тестовых данных. В некоторых примерах в следующих таблицах, результаты выполнения метода опорных векторов вычислены из меньшего числа итераций (5 или 10) для управления проблемами, связанными с временем вычисления.[0199] For all subsequent statistics, the results show the average ±95% confidence interval of the 100 random test choices of the training and test data subsets. In some of the examples in the following tables, the results of support vector machines are computed from a smaller number of iterations (5 or 10) to control problems associated with computation time.

[0200] Таблица 4 показывает то, что практически не возникает улучшение прогнозирования с использованием выбранных DOBR записей. Этот результат не является неожиданным и фактически ожидается на основе формы кривой зависимости приемлемости ошибки от ошибки модели, показанной на фиг. 12.[0200] Table 4 shows that there is virtually no improvement in prediction using the selected DOBR records. This result is not unexpected and is in fact expected based on the shape of the error acceptability versus model error curve shown in FIG. 12.

[0201] Кроме того, как и следовало ожидать, на основе фиг. 13, таблица 5 указывает то, что возникает значительное улучшение выбранных DOBR прогнозирований из значений опорной модели для классификаторов на основе принципа улучшения агрегации и на основе случайного леса, см., соответственно, нижеприведенные фиг. 14A и для фиг. 14B. Модель DOBR показывает, что наибольшее улучшение, обеспечивающее удаление выбросовых значений до обучения на основе моделей, вместе с классификацией DOBR, обеспечивает лучшие результаты, чем при использовании только классификации DOBR для полной (не DOBR) модели. Различие в результатах улучшения между моделями показывает то, что выбор модели является важным. Даже если это решение принимается аналитиком, интересно сравнивать точность прогнозирования посредством модели. Время работы модели и несколько других факторов также являются важными, и это исследование не проектируется с возможностью обеспечения жизнеспособности одной модели по сравнению с другой или не предназначено для этого.[0201] Additionally, as would be expected based on FIG. 13, Table 5 indicates that there is a significant improvement in the DOBR selected predictions from the reference model values for the aggregation improvement and random forest based classifiers, see respectively the following FIGS. 14A and for FIG. 14B. Model DOBR shows that the greatest improvement, providing outlier removal prior to model-based training, together with DOBR classification, provides better results than using DOBR classification alone for the full (non-DOBR) model. The difference in improvement results between models shows that model choice is important. Even if this decision is made by the analyst, it is interesting to compare the forecasting accuracy of the model. Model runtime and several other factors are also important, and this study is not designed or intended to ensure the viability of one model over another.

[0202] Заключение из таблицы 5 является ясным и статистически значимым. С учетом потенциала для отклонения выбросовых значений, как указано на графике, аналогичном фиг. 13, модель машинного обучения с технологией DOBR может обеспечивать лучшую точность прогнозирования для невыбросовых записей, чем посредством использования модели машинного обучения без DOBR. Таким образом, примерная вычислительная система согласно изобретению, включающая в себя модель машинного обучения с помощью DOBR, имеет повышенную точность и сниженную ошибку при выполнении прогнозирований, за счет этого повышая производительность и эффективность реализации модели. Но улучшение может достигаться за счет следующего: не предусмотрено значений прогнозирования или учета идентифицированных выбросовых значений. В вариантах осуществления, то, каким образом моделируются выбросовые записи, может варьироваться на основе варианта применения.[0202] The conclusion from Table 5 is clear and statistically significant. Considering the potential for deviation in outlier values, as indicated in a graph similar to FIG. 13, the machine learning model with DOBR technology can achieve better prediction accuracy for non-outlier records than by using the machine learning model without DOBR. Thus, an exemplary computing system of the invention including a machine learning model using DOBR has increased accuracy and reduced error in making predictions, thereby increasing the performance and efficiency of model implementation. But the improvement can be achieved due to the following: there is no provision for prediction values or accounting for identified outlier values. In embodiments, the way in which outlier records are modeled may vary based on the application.

[0203] Таблица 6 показывает результаты точности прогнозирования для обучающих/тестовых дискретизаций набора данных прочности на сжатие бетона с классификатором на основе принципа улучшения агрегации. Классификатор на основе случайного леса не применяется к этому набору данных. Таблица показывает среднеквадратическую ошибку (см., уравнение 15) при 95%-м доверительном уровне между тестовыми данными и каждой из моделей для 100 случайных вариантов выбора наборов обучающих и тестовых данных.[0203] Table 6 shows the prediction accuracy results for the training/test discretizations of the concrete compressive strength data set with the classifier based on the aggregation improvement principle. The random forest classifier is not applied to this dataset. The table shows the root mean square error (see Equation 15) at the 95% confidence level between the test data and each of the models for 100 random selections of the training and test data sets.

[0204] Линейная регрессия и LASSO-регрессия формируют наибольшие ошибки базовой или опорной модели. Тем не менее, моделей дают в результате точности прогнозирования, статистически идентичные точностям прогнозирования всех других моделей, за исключением дерева решений. В этом случае, модель в виде дерева решений формирует наилучшую точность прогнозирования, и все модели, за исключением линейной регрессии и LASSO-регрессии, очевидно, не улучшаются с добавлением DOBR.[0204] Linear regression and LASSO regression produce the largest errors in the base or reference model. Nevertheless, models result in forecast accuracies that are statistically identical to the forecast accuracies of all other models, with the exception of the decision tree. In this case, the decision tree model produces the best prediction accuracy, and all models except linear regression and LASSO regression obviously do not improve with the addition of DOBR.

[0205] Таблица 7 показывает увеличение (+) или снижение (-) точности прогнозирования моделей DOBR относительно опорной модели в каждом случае, например, для производительности точности прогнозирования прочности на сжатие бетона моделей DOBR: классификатор на основе принципа улучшения агрегации.[0205] Table 7 shows the increase (+) or decrease (-) in the prediction accuracy of the DOBR models relative to the reference model in each case, for example, for the concrete compressive strength prediction accuracy performance of the DOBR models: classifier based on the aggregation improvement principle.

Табл. 7Table 7 Улучшение в {y1} %{y1}% improvement Улучшение в {y2} %{y2}% improvement Улучшение в {y3} %{y3}% improvement Линейная регрессияLinear regression 12,39% ± 0,55%12.39% ± 0.55% 3,44% ± 0,51%3.44% ± 0.51% 8,63% ± 0,47%8.63% ± 0.47% LASSO-регрессияLASSO regression 11,98% ± 0,60%11.98% ± 0.60% 2,44% ± 0,53%2.44% ± 0.53% 9,29% ± 0,42%9.29% ± 0.42% Дерево решенийDecision tree -0,44% ± 1,07%-0.44% ± 1.07% -2,54% ± 1,29%-2.54% ± 1.29% -1,28% ± 0,77%-1.28% ± 0.77% Случайный лесRandom Forest -6,73% ± 1,46%-6.73% ± 1.46% -3,68% ± 0,41%-3.68% ± 0.41% -6,17% ± 0,67%-6.17% ± 0.67% k ближайших соседних узловk nearest neighbor nodes -4,17% ± 0,99%-4.17% ± 0.99% 2,11% ± 0,66%2.11% ± 0.66% 0,23% ± 0,19%0.23% ± 0.19% Метод опорных векторовSupport Vector Machine -7,38% ± 1,37%-7.38% ± 1.37% -2,61% ± 1,38%-2.61% ± 1.38% -4,88% ± 0,29%-4.88% ± 0.29% Улучшение агрегацииImproved aggregation -2,71% ± 1,17%-2.71% ± 1.17% 2,11% ± 1,20%2.11% ± 1.20% 4,77% ± 0,98%4.77% ± 0.98%

[0206] Эти результаты не являются неожиданными, поскольку кривые зависимости ошибки модели от приемлемости ошибки для линейной регрессии и LASSO-регрессии представляют собой графики с наибольшей нелинейностью, а другие представляют собой почти прямые линии, что предположительно показывает то, что модели адекватно прогнозируют целевую переменную, и анализ выбросовых значений не требуется. Кроме того, означенное представляет собой сообщение, передаваемое в таблице 7. Выводы модели относительно прогнозируемой прочности на сжатие бетона представляются в Приложении A, прилагаемом к данному документу.[0206] These results are not unexpected because the model error versus error acceptability curves for linear regression and LASSO regression are those with the greatest nonlinearity and others are nearly straight lines, presumably indicating that the models are adequately predicting the target variable , and no outlier analysis is required. In addition, the above is a message conveyed in Table 7. The model's output regarding the predicted compressive strength of concrete is presented in Appendix A attached to this document.

[0207] Далее, если рассматривать результаты по ошибкам прогнозирования энергопотребления в таблице 8, существует другая ситуация, предусматривающая, например, ошибки прогнозирования энергопотребления приборов для классификаторов на основе принципа улучшения агрегации и на основе случайного леса. Модели на основе принципа улучшения агрегации, линейные регрессионные модели и LASSO-модели имеют наибольшие опорные ошибки прогнозирования, и модель на основе случайного леса имеет наименьшие опорные ошибки прогнозирования. Ошибки модели DOBR в трех правых столбцах показывают то, что во многих случаях, модели DOBR дают в результате более высокую точность прогнозирования, чем опорные модели.[0207] Further, if we consider the results of energy consumption prediction errors in Table 8, there is another situation involving, for example, energy consumption prediction errors of devices for classifiers based on the aggregation improvement principle and based on random forest. Aggregation enhancement, linear regression, and LASSO models have the largest reference prediction errors, and the random forest model has the smallest reference prediction errors. The DOBR model errors in the three right columns show that in many cases, DOBR models result in higher prediction accuracy than the reference models.

[0208] Интересно отметить, что опорная модель на основе принципа улучшения агрегации имеет наибольшие опорные значения ошибки, но ее результаты дополненной DOBR модели, в общем, находятся в идентичных статистических диапазонах с другими моделями. Также, по практическим причинам, модель на основе метода опорных векторов выполнена только для 10 итераций. Это поясняет увеличение неопределенности для результатов расчетов по модели.[0208] It is interesting to note that the reference model based on the aggregation enhancement principle has the largest reference error values, but its DOBR-augmented model results are generally within identical statistical ranges to the other models. Also, for practical reasons, the support vector machine model is run for only 10 iterations. This explains the increase in uncertainty for the model calculation results.

[0209] Подробные результаты улучшения показаны в таблице 9, связанные, например, с производительностью в виде точности прогнозирования энергопотребления приборов моделей DOBR. Следует отметить, что по меньшей мере одна из моделей DOBR создает некоторое повышение точности прогнозирования для большинства моделей машинного обучения. Тем не менее, также возникают относительно большие различия, так что отсутствуют окончательные результаты относительно сформированного DOBR улучшения прогнозируемости. Из кривых зависимости ошибки модели от приемлемости ошибки для данных по энергопотреблению, все графики показывают нелинейное поведение, с моделями на основе случайного леса и в виде дерева решений, имеющими наименьшую величину искривления. Кроме того, очевидно, что модели, в частности, случайный лес, могут адекватно моделировать это варьирование на основе результатов, показанных здесь. Выводы модели относительно прогнозируемого использования энергии представляются в Приложении B, прилагаемом к данному документу.[0209] Detailed improvement results are shown in Table 9, related, for example, to performance in the form of accuracy in predicting the energy consumption of DOBR model appliances. It should be noted that at least one of the DOBR models produces some improvement in prediction accuracy for most machine learning models. However, relatively large differences also occur, so that there are no definitive results regarding the DOBR-generated improvement in predictability. From the model error versus error acceptability curves for energy consumption data, all graphs show nonlinear behavior, with the random forest and decision tree models having the least amount of curvature. Additionally, it is clear that models, particularly random forest, can adequately model this variation based on the results shown here. The model's findings regarding predicted energy use are presented in Appendix B attached to this document.

Случайный лесRandom forest Улучшение в {y1} %{y1}% improvement Улучшение в {y2} %{y2}% improvement Улучшение в {y3} %{y3}% improvement Линейная регрессияLinear regression 12,80% ± 0,27%12.80% ± 0.27% 10,14% ± 0,23%10.14% ± 0.23% 2,38% ± 0,12%2.38% ± 0.12% LASSO-регрессияLASSO regression 13,20% ± 0,24%13.20% ± 0.24% 11,71% ± 0,21%11.71% ± 0.21% 1,31% ± 0,12%1.31% ± 0.12% Дерево решенийDecision tree 5,35% ± 0,58%5.35% ± 0.58% -1,40% ± 0,44%-1.40% ± 0.44% 6,89% ± 0,41%6.89% ± 0.41% Случайный лесRandom forest -2,28% ± 0,44%-2.28% ± 0.44% -1,74% ± 0,39%-1.74% ± 0.39% -0,73% ± 0,36%-0.73% ± 0.36% k ближайших соседних узловk nearest neighbor nodes -0,16% ± 0,32%-0.16% ± 0.32% -1,34% ± 0,30%-1.34% ± 0.30% 1,20% ± 0,16%1.20% ± 0.16% Метод опорных векторовSupport Vector Machine 4,35% ± 0,98%4.35% ± 0.98% 6,73% ± 0,90%6.73% ± 0.90% -2,23% ± 0,27%-2.23% ± 0.27% Улучшение агрегацииImproved aggregation 17,31% ± 0,47%17.31% ± 0.47% 9,98% ± 0,77%9.98% ± 0.77% 5,94% ± 0,48%5.94% ± 0.48%

[0210] Фиг. 14A и фиг. 14B иллюстрируют графики распределений невыбросовых и выбросовых значений в классификационных моделях согласно примерному варианту осуществления примерной компьютерной системы согласно изобретению с классификатором DOBR в соответствии с одним или более вариантов осуществления настоящего изобретения.[0210] FIG. 14A and FIG. 14B illustrate graphs of distributions of non-outlier and outlier values in classification models according to an exemplary embodiment of an exemplary computer system of the invention with a DOBR classifier in accordance with one or more embodiments of the present invention.

[0211] Набор данных по бетону является относительно небольшим, так что графики данных могут обеспечивать визуальное понимание, но поскольку DOBR имеет небольшое значение, в этом случае, изображение этого набора данных в виде графика не улучшает понимание касательно того, как работает DOBR. Тем не менее, для прогнозирований набора данных по энергопотреблению, DOBR формирует некоторые значительные улучшения прогнозирования. Но относительно большой размер означенного (13814 обучающих записей, 5921 тестовых записей) приводит к затруднению интерпретации прямых визуализаций графика рассеяния. Графики рассеяния, такие как на фиг. 9 и фиг. 10, с большим числом точек могут стирать все подробности. Результаты улучшения по ошибкам, представленные в таблице 3, представляют собой суммирования по наборам невыбросовых данных, но остается вопрос в отношении того, как способ DOBR и модель классификации приводят к этим результатам.[0211] The concrete data set is relatively small, so graphs of the data can provide visual insight, but since DOBR has little meaning, in this case, plotting that data set does not improve the understanding of how DOBR works. However, for energy dataset predictions, DOBR generates some significant prediction improvements. But the relatively large size of the data (13814 training records, 5921 test records) makes it difficult to interpret direct visualizations of the scatter plot. Scatter plots such as those in FIG. 9 and fig. 10, with a large number of points can erase all details. The error improvement results presented in Table 3 are summations over non-outlier data sets, but questions remain as to how the DOBR method and classification model lead to these results.

[0212] В вариантах осуществления, чтобы рассматривать этот вопрос, могут анализироваться распределения ошибок для двух представлений модели: , классификатор на основе случайного леса (фиг. 14A), и , классификатор на основе принципа улучшения агрегации (фиг. 14B) наборов выбросовых и невыбросовых данных. В варианте осуществления, невыбросовые ошибки должны быть меньше выбросовых ошибок, согласно расчетам, но примерная модель DOBR согласно изобретению и процесс классификации конструируются исключительно из обучающих данных, так что набор тестовых данных может содержать информацию, ранее не наблюдаемую. Следовательно, модель и классификационные вычисления могут не быть точными, и степень ошибок классификации может визуализироваться на этих графиках. Эта работа выполняется для линейных регрессионных моделей и регрессионных моделей на основе принципа улучшения агрегации, поскольку этих два подхода имеют наибольшие и наименьшие преимущества в виде улучшения, соответственно, представленные в таблицах 5.[0212] In embodiments, to address this issue, error distributions for two model representations may be analyzed: , a random forest classifier (Fig. 14A), and ,classifier based on the principle of improving aggregation (Fig. 14B) of outlier and non-outlier data sets. In an embodiment, the non-outlier errors should be smaller than the outlier errors as calculated, but the exemplary DOBR model of the invention and classification process are constructed solely from the training data so that the test data set may contain information not previously observed. Consequently, the model and classification calculations may not be accurate, and the extent of classification errors may be visualized in these graphs. This work is performed for linear regression models and aggregation improvement regression models, as these two approaches have the largest and smallest improvement benefits, respectively, as presented in Tables 5.

[0213] Для пояснения, опорное значение ошибки выделяется на обоих графиках по фиг. 14A и фиг. 14B. Верхний набор стрелок показывает то, что 80% невыбросовых значений ошибки меньше 1000, что указывает то, что 20% значений ошибки > 1000. Этот нижний набор стрелок также показывает то, что для распределений выбросовых значений, приблизительно 20% выбросовых значений имеют ошибку < 1000, или 80% имеют ошибки > 1000, что должно представлять выбросовые ошибки. Без заблаговременного знания процентных значений приемлемости ошибки, невозможно точно вычислять точность процесса классификации, но вышеуказанные графики обеспечивают то, что даже если неправильная классификация возникает, большинство значений классифицируются надлежащим образом.[0213] For clarification, the reference error value is highlighted in both plots of FIG. 14A and FIG. 14B. The top set of arrows shows that 80% of the non-outlier error values are less than 1000, indicating that 20% of the error values are > 1000. This bottom set of arrows also shows that for outlier value distributions, approximately 20% of the outlier values have an error < 1000 , or 80% have errors > 1000, which should represent outlier errors. Without knowing the error acceptance percentages in advance, it is impossible to accurately calculate the accuracy of the classification process, but the above graphs ensure that even if misclassification occurs, most values are classified correctly.

[0214] Фиг. 15 иллюстрирует графики ошибки модели в качестве функции от значений приемлемости ошибки для примерного случая использования примерного варианта осуществления примерной компьютерной системы согласно изобретению с обученной DOBR моделью машинного обучения для прогнозирования времени простоя при бурении скважин в соответствии с одним или более вариантов осуществления настоящего изобретения.[0214] FIG. 15 illustrates plots of model error as a function of error acceptability values for an exemplary case of using an exemplary embodiment of an exemplary computer system according to the invention with a DOBR trained machine learning model for predicting downtime while drilling wells in accordance with one or more embodiments of the present invention.

[0215] Операции бурения прибрежных скважин содержат уникальные сложные задачи для нефтегазовых отраслей. В дополнение к наблюдаемым логистическим и экологическим рискам в силу погоды и океанских глубин, имеются скрытые риски забоя скважин в виде работы в окружениях с высокой температурой, давлением и вибрацией. Времена бурения придерживаются плотных графиков, и задержки вследствие отказов внутрискважинного оборудования (время простоя, или NPT) могут представлять значительные штрафы в виде снижения дохода.[0215] Offshore well drilling operations present unique challenges for the oil and gas industries. In addition to the observable logistical and environmental risks due to weather and ocean depths, there are hidden risks of well production in the form of operating in environments with high temperature, pressure and vibration. Drilling times adhere to tight schedules, and delays due to downhole equipment failures (downtime, or NPT) can represent significant penalties in the form of lost revenue.

[0216] Чтобы помогать при управлении NPT, модель машинного обучения конструируется с возможностью помощи в прогнозировании будущих событий времени простоя для целей включения этих оцененных задержек в положения контракта, которые задают цели по бурению. Основные статистические события включают в себя: пробуренное расстояние [футы], диаметр ствола скважины [дюймы], размер инструмента [дюймы], степень воздействия давления на площадке, максимальный излом ствола [градусы/100 футов], категория по степени воздействия вибрации, категория по искривлению и NPT (часы).[0216] To assist in managing NPT, a machine learning model is designed to assist in predicting future downtime events for the purpose of incorporating these estimated delays into contract provisions that set drilling targets. Key statistics include: Distance Drilled [ft], Hole Diameter [inches], Tool Size [inches], Site Pressure Impact Rate, Maximum Hole Bend [degrees/100 ft], Vibration Impact Severity Category, curvature and NPT (hours).

[0217] Линейные регрессионные модели, регрессионные XGBoost-модели, регрессионные модели на основе градиентного бустинга и регрессионные модели на основе случайного леса применяются к данным отказов внутрискважинного оборудования с обучающим/тестовым разбиением в 80/20, чтобы измерять точность прогнозирования модели. Гиперполоса частот использована для настройки моделей и применимых значений параметров, показанных в нижеприведенной таблице 10:[0217] Linear regression models, XGBoost regression models, gradient boosting regression models, and random forest regression models are applied to downhole equipment failure data with an 80/20 training/test split to measure the model's prediction accuracy. Hyperband is used to configure the models and applicable parameter values shown in Table 10 below:

Табл. 10Table 10 XGBoostXGBoost eta=0,76, max_depth=4, min_child_weight=0,43eta=0.76, max_depth=4, min_child_weight=0.43 Градиентный бустингGradient boosting learning_rate=0,34, min_samples_split=0,58, n_estimators=13learning_rate=0.34, min_samples_split=0.58, n_estimators=13 Случайный лесRandom Forest max_depth=4, min_samples_leaf=2, min_samples_split=9, n_estimators=6max_depth=4, min_samples_leaf=2, min_samples_split=9, n_estimators=6

[0218] Классификационная функция, которая передает информацию вычисленных DOBR выбросовых значений в набор тестовых данных, может выбираться в качестве модели на основе случайного леса с числом модулей оценки, равных, например, 5. Эта активность настройки также выполняется в обучающей части анализа. Показатель для выбора параметров заключается в том, чтобы вычислять процентную долю от корректно классифицированных элементов обучающего набора и сравнивать ее со значением приемлемости ошибки модели.[0218] The classification function that feeds DOBR-calculated outlier value information into the test data set may be selected as a random forest model with a number of estimators equal to, for example, 5. This tuning activity is also performed in the training portion of the analysis. The metric for parameter selection is to calculate the percentage of correctly classified elements of the training set and compare it with the model's error acceptability value.

[0219] Линейная регрессия включается в этот анализ, поскольку она представляет собой единственную модель, в которой коэффициенты могут обеспечивать техническое понимание, с тем чтобы помогать идентифицировать дополнительные детализации по принципу «наиболее успешной практики». Другие модели являются более надежными с точки зрения прогнозирования, но практически не обеспечивают понимание.[0219] Linear regression is included in this analysis because it is the only model in which the coefficients can provide technical insight to help identify additional "best practice" details. Other models are more predictive but provide little or no insight.

[0220] Как пояснено в этом подробном описании, предусмотрено несколько связанных с DOBR моделей, которые могут представлять собой сконструированный базовый процесс DOBR. В этом примере, представляются три модели: M представляет данную гипернастроенную модель.[0220] As explained in this detailed description, there are several DOBR-related models that can represent a designed basic DOBR process. In this example, three models are represented: M represents this hypertuned model.

[0221] С использованием выбранных DOBR безвыбросовых значений и выбросовых значений наборов обучающих и тестовых данных:[0221] Using the DOBR selected non-outlier values and outlier values of the training and test data sets:

Псевдокод 8Pseudocode 8









[0222] - где и являются вычисленными DOBR безвыбросовыми значениями из обучающего набора, и являются вычисленными DOBR выбросовыми значениями из обучающего набора, и являются безвыбросовыми и выбросовыми значениями набора тестовых данных, соответственно, вычисленными из классификационной модели DOBR, являются не вычисленными DOBR результатами расчетов по модели, классифицируемыми на безвыбросовые значения и выбросовые значения с использованием классификационной модели DOBR, и назначает значения для для задаваемых DOBR безвыбросовых значений и для для задаваемых DOBR выбросовых значений.[0222] - where And are the DOBR-computed outlier-free values from the training set, And are the DOBR calculated outlier values from the training set, And are the non-outlier and outlier values of the test data set, respectively, calculated from the DOBR classification model, are non-DOBR model calculation results classified into non-outlier values and outlier values using the DOBR classification model, and assigns values For for the non-outlier values specified by DOBR and for for specified DOBR outlier values.

[0223] Из этих поднаборов, три модели DOBR представляют собой:[0223] Of these subsets, the three DOBR models are:

a. a.

b. b.

c. c.

[0224] Прохождение по кривым зависимости процентной доли приемлемости ошибки от ошибки модели для вышеуказанных гипернастроенных моделей формирует кривые, как показано на фиг. 15. Важное свойство этих кривых представляет собой их искривление, а не непосредственно значения ошибки. В общем, чем более линейным является уклон данной кривой по области (0,100%), тем меньшим является влияние выбросовых значений. Для данных отказов прибрежного внутрискважинного оборудования, кривые выглядят линейными приблизительно вплоть до приемлемости ошибки 80%, и после этого возникают различные нелинейные уклоны. При анализе уклона в качестве функции от значений приемлемости ошибки, следующая таблица (таблица 11) показывает определенные пороговые значения приемлемости ошибки для анализа DOBR.[0224] Traversing the error acceptance percentage versus model error curves for the above hypertuned models produces curves as shown in FIG. 15. The important property of these curves is their curvature, and not the error values themselves. In general, the more linear the slope of a given curve is across an area (0.100%), the smaller the impact of outlier values. For nearshore downhole equipment failure data, the curves appear linear up to approximately 80% error tolerance, after which various nonlinear slopes arise. When analyzing slope as a function of error acceptance values, the following table (Table 11) shows specific error acceptance thresholds for DOBR analysis.

Табл. 11Table eleven Регрессионная модельRegression model Применяемый % приемлемости ошибкиApplicable error acceptance % ЛинейнаяLinear 85,085.0 XGBoostXGBoost 85,085.0 Градиентный бустингGradient boosting 85,085.0 Случайный лесRandom forest 85,085.0

[0225] Модели выполняются с вычисленными гиперпараметрами и назначенными значениями приемлемости ошибки. Выводы модели относительно прогнозируемого NPT представляются в Приложении C, прилагаемом к данному документу, и в результатах по ошибкам, приведенных в нижеприведенной таблице 12:[0225] Models are executed with computed hyperparameters and assigned error tolerance values. The model's output regarding predicted NPT is presented in Appendix C attached to this document and in the error results shown in Table 12 below:

Табл. 12Table 12 Регрессионная модельRegression model Базовая (без DOBR) ошибкаBasic (no DOBR) error Модель DOBR #1Model DOBR #1 Модель DOBR #2Model DOBR #2 Модель DOBR #3Model DOBR #3 ЛинейнаяLinear 16,416.4 14,014.0 14,914.9 15,615.6 XGBoostXGBoost 11,111.1 10,610.6 10,010.0 11,611.6 Градиентный бустингGradient boosting 16,916.9 10,510.5 17,817.8 9,69.6 Случайный лесRandom Forest 13,913.9 9,09.0 9,09.0 13,413.4

[0226] Теперь, когда имеется модель не DOBR вместе с тремя моделями DOBR, имеется возможность выбирать то, какую модель следует использовать при производстве для будущего прогнозирования. В целом, линейная модель предлагает наименьшую точность прогнозирования, и модели DOBR #1 или #2 предлагают наилучшую точность прогнозирования. В этот момент, аналитик может балансировать эти показатели точности с другими практическими соображениями, например, временем вычислений, чтобы выбирать модель, которую следует применять к будущему прогнозированию.[0226] Now that there is a non-DOBR model along with three DOBR models, it is possible to select which model should be used in production for future forecasting. In general, the linear model offers the lowest prediction accuracy, and DOBR #1 or #2 models offer the best prediction accuracy. At this point, the analyst can balance these accuracy metrics with other practical considerations, such as computation time, to select the model to apply to future forecasting.

[0227] Хотя результаты служат для использования DOBR для обучения и реализации моделей машинного обучения для применения при прогнозировании механического напряжения при сжатии бетона и при прогнозировании энергии, также предполагаются другие варианты применения.[0227] While the results support the use of DOBR for training and implementing machine learning models for applications in concrete compression stress prediction and energy prediction, other applications are also envisioned.

[0228] Например, рендеринг изображений и визуализация могут использовать модели машинного обучения для автоматического прогнозирования и реализации параметров рендеринга, например, на основе медицинских данных, как описано в патенте США № 10339695. DOBR может использоваться для обучения и реализации моделей машинного обучения для рендеринга на основе контента. Набор медицинских данных, представляющий трехмерную область пациента, может использоваться в качестве входных данных. С использованием DOBR, выбросовые значения из набора обучающих медицинских данных могут удаляться таким образом, что модель машинного обучения может обучаться на невыбросовых данных согласно технологиям DOBR, описанным выше. Машина обученная модель обучается с помощью глубокого обучения невыбросовых данных из набора обучающих медицинских данных для извлечения признаков из набора медицинских данных и выводить значения для двух или более параметров физического рендеринга на основе ввода набора медицинских данных. В некоторых вариантах осуществления, параметры физического рендеринга представляют собой средства управления для согласованной обработки данных, проектного решения по освещению, проектного решения по просмотру, обоснованности использования материалов или внутреннего свойства модуля рендеринга. Модуль физического рендеринга подготавливает посредством рендеринга фотореалистическое изображение трехмерной области пациента с использованием выходных значений, получающихся в результате применения.[0228] For example, image rendering and visualization can use machine learning models to automatically predict and implement rendering parameters, for example, based on medical data, as described in US Patent No. 10339695. DOBR can be used to train and implement machine learning models for rendering on based on content. A medical dataset representing the 3D region of the patient can be used as input. Using DOBR, outlier values from the training medical data set can be removed such that a machine learning model can be trained on non-outlier data according to the DOBR techniques described above. A machine trained model is trained using deep learning of non-outlier data from a medical training dataset to extract features from the medical dataset and output values for two or more physical rendering parameters based on the input of the medical dataset. In some embodiments, the physical rendering parameters are controls for consistent processing, a lighting design decision, a viewing design decision, material validity, or an internal property of the renderer. The physical rendering module prepares, by rendering, a photorealistic image of the patient's 3D region using the output values resulting from the application.

[0229] В другом примерном варианте применения DOBR для обучения и реализации моделей машинного обучения, модель машинного обучения может обучаться с помощью технологий DOBR, описанных выше, таким образом, чтобы формировать команду управления для машины, чтобы выводить команду управления, как описано в патенте США № 10317854. В таком примере, модуль моделирования может выполнять моделирование рабочей операции машины на основе команды управления. Модуль моделирования может формировать полный набор данных для обучения модели машинного обучения посредством моделирования физических действий машины на основе команды управления. Такой набор данных может обрабатываться с использованием итераций DOBR, чтобы обеспечивать то, что все выбросовые моделирования удаляются, когда параметры обучения модели, включающие в себя данные рабочих операций, данные команд управления и машинные данные, используются в качестве ввода для каждого моделирования.[0229] In another exemplary embodiment of using DOBR to train and implement machine learning models, the machine learning model can be trained using the DOBR technologies described above so as to generate a control command for the machine to output a control command, as described in the US patent No. 10317854. In such an example, the simulation module can perform simulation of the working operation of the machine based on the control command. The simulation module can generate a complete set of data for training a machine learning model by simulating the physical actions of a machine based on a control command. Such a data set can be processed using DOBR iterations to ensure that all outlier simulations are removed when model training parameters, including operation data, control command data, and machine data, are used as input for each simulation.

[0230] В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная модель DOBR машинного обучения может быть основана по меньшей мере частично на методе Монте-Карло вычислительных алгоритмов (например, алгоритмов Соловея-Штрассена, алгоритмов БПСВ, алгоритмов Миллера-Рабина и/или алгоритмов Шрайера-Симса), которые могут учитывать статистические данные по качеству для требуемых невыбросовых данных. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная модель DOBR машинного обучения может непрерывно обучаться, например, посредством, без ограничения, применения по меньшей мере одной технологии машинного обучения (такой как, но не только, деревья решений, бустинг, методы опорных векторов, нейронные сети, алгоритмы на основе принципа ближайших соседних узлов, наивный байесовский подход, улучшение агрегации, случайные леса и т.д.) к собранным и/или скомпилированным данным датчиков (например, к различному типу визуальных данных относительно окружающей среды и/или физического/внешнего вида груза). В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная нейронная сетевая технология может представлять собой одно из, без ограничения, нейронной сети с прямой связью, радиально-базисной функциональной сети, рекуррентной нейронной сети, сверточной сети (например, U-сети) или другой подходящей сети. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная реализация нейронной сети может выполняться следующим образом:[0230] In some embodiments, and optionally in combination with any of the embodiments described above or below, an exemplary DOBR machine learning model may be based at least in part on Monte Carlo computational algorithms (e.g., Solove-Strassen algorithms, BPSV algorithms, Miller-Rabin algorithms and/or Schreier-Sims algorithms) that can take into account quality statistics for the required non-outlier data. In some embodiments, and optionally in combination with any of the embodiments described above or below, an exemplary DOBR machine learning model may be continuously trained, for example, by, but not limited to, applying at least one machine learning technology (such as but not only, decision trees, boosting, support vector machines, neural networks, nearest neighbor algorithms, naive Bayes, aggregation enhancement, random forests, etc.) to collected and/or compiled sensor data (e.g., various type of visual data regarding the environment and/or physical/appearance of the cargo). In some embodiments, and optionally in combination with any of the embodiments described above or below, an exemplary neural network technology may be one of, without limitation, a feedforward neural network, a radial basis functional network, a recurrent neural network, a convolutional neural network network (eg U-network) or other suitable network. In some embodiments, and optionally in combination with any of the embodiments described above or below, an exemplary neural network implementation may be performed as follows:

i) задание нейронной сетевой архитектуры/модели,i) specifying the neural network architecture/model,

ii) передача входных данных в примерную нейронную сетевую модель,ii) passing the input data to an example neural network model,

iii) инкрементное обучение примерной модели,iii) incremental training of an example model,

iv) определение точности для конкретного числа временных шагов,iv) determining the accuracy for a specific number of time steps,

v) применение примерной обученной модели, чтобы обрабатывать новые принимаемые входные данные,v) applying an example trained model to process new input data received,

vi) при необходимости и параллельно, продолжение обучения примерной обученной модели с предварительно определенной периодичностью.vi) if necessary and in parallel, continue training the approximate trained model at a predetermined frequency.

[0231] В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная обученная нейронная сетевая модель может указывать нейронную сеть посредством по меньшей мере нейронной сетевой топологии, последовательности активирующих функций и соединительных весовых коэффициентов. Например, топология нейронной сети может включать в себя конфигурацию узлов нейронной сети и соединений между такими узлами. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная обученная нейронная сетевая модель также может указываться как включающая в себя другие параметры, в том числе, но не только, значения/функции отклонения и/или агрегирующие функции. Например, активирующая функция узла может представлять собой ступенчатую функцию, синусоидальную функцию, непрерывную или кусочно-линейную функцию, сигмоидальную функцию, гиперболическую функцию тангенса или другой тип математической функции, которая представляет пороговое значение, при котором активируется узел. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная агрегирующая функция может представлять собой математическую функцию, которая комбинирует (например, сумма, произведение и т.д.) входные сигналы в узел. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, вывод примерной агрегирующей функции может использоваться в качестве ввода в примерную активирующую функцию. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, отклонение может представлять собой постоянное значение или функцию, которая может использоваться посредством агрегирующей функции и/или активирующей функции для обеспечения большей или меньшей вероятности активации узла.[0231] In some embodiments, and optionally in combination with any of the embodiments described above or below, an exemplary trained neural network model may specify a neural network by at least a neural network topology, a sequence of enabling functions, and connection weights. For example, a neural network topology may include a configuration of neural network nodes and connections between such nodes. In some embodiments, and optionally in combination with any of the embodiments described above or below, the exemplary trained neural network model may also be specified as including other parameters, including, but not limited to, bias values/functions and/or aggregation functions. For example, the activation function of a node may be a step function, a sine function, a continuous or piecewise linear function, a sigmoid function, a hyperbolic tangent function, or another type of mathematical function that represents the threshold value at which the node is activated. In some embodiments, and optionally in combination with any of the embodiments described above or below, an example aggregation function may be a mathematical function that combines (eg, sum, product, etc.) input signals into a node. In some embodiments, and optionally in combination with any of the embodiments described above or below, the output of an example aggregation function may be used as input to an example activation function. In some embodiments, and optionally in combination with any of the embodiments described above or below, the deviation may be a constant value or function that can be used by an aggregation function and/or an activation function to provide a greater or lesser likelihood of a node being activated.

[0232] В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерные данные по соединению для каждого соединения в примерной нейронной сети могут включать в себя по меньшей мере одно из пары узлов или соединительного весового коэффициента. Например, если примерная нейронная сеть включает в себя соединение от узла N1 к узлу N2, то примерные данные по соединению для этого соединения могут включать в себя пару узлов <N1, N2>. В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, соединительный весовой коэффициент может быть численной величиной, которая оказывает влияние на то, модифицируется либо нет, и/или на то, как вывод N1 модифицируется до ввода в N2. В примере рекуррентной сети, узел может иметь соединение с собой (например, данные по соединению могут включать в себя пару узлов <N1, N1>).[0232] In some embodiments, and optionally in combination with any of the embodiments described above or below, the example connection data for each connection in the example neural network may include at least one of a pair of nodes or a connection weight. For example, if an example neural network includes a connection from node N1 to node N2, then the example connection data for that connection may include a pair of nodes <N1, N2>. In some embodiments, and optionally in combination with any of the embodiments described above or below, the connection weight may be a numerical value that affects whether or not the N1 pin is modified prior to input. in N2. In an example of a recurrent network, a node may have a connection to itself (for example, the connection data may include a pair of nodes <N1, N1>).

[0233] В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, примерная обученная нейронная сетевая модель также может включать в себя идентификатор вида и данные подгонки. Например, идентификатор каждого вида может указывать, в каком из множества видов (например, категорий потерь груза) классифицируется модель. Например, данные подгонки могут указывать то, насколько хорошо примерная обученная нейронная сетевая модель моделирует входной набор сенсорных данных. Например, данные подгонки могут включать в себя значение подгонки, которое определяется на основе оценки функции подгонки относительно модели. Например, примерная функция подгонки может представлять собой целевую функцию, которая основана на частоте и/или абсолютной величине ошибок, сформированных посредством тестирования примерной обученной нейронной сетевой модели на входном наборе сенсорных данных. В качестве простого примера, предположим, что входной набор сенсорных данных включает в себя десять строк, что входной набор сенсорных данных включает в себя два столбца, обозначаемые A и B, и что примерная обученная нейронная сетевая модель выводит прогнозируемое значение B, с учетом входного значения A. В этом примере, тестирование примерной обученной нейронной сетевой модели может включать в себя ввод каждого из десяти значений A из входного набора данных датчиков, сравнение прогнозируемых значений B с соответствующими фактическими значениями B из входного набора данных датчиков и определение того, отличаются или нет, и/или того, насколько отличаются два прогнозируемых и фактических значения B. В качестве иллюстрации, если конкретная нейронная сеть корректно прогнозирует значение B для девяти из десяти строк, то примерная функция подгонки может назначать для соответствующей модели значение подгонки в 9/10=0,9. Следует понимать, что предыдущий пример служит только для иллюстрации и не должен считаться ограничением. В некоторых вариантах осуществления, примерная функция подгонки может быть основана на факторах, не связанных с частотой повторения ошибок или частотой ошибок, таких как число входных узлов, узловых слоев, скрытых слоев, соединений, вычислительная сложность и т.д.[0233] In some embodiments, and optionally in combination with any of the embodiments described above or below, an exemplary trained neural network model may also include a view identifier and fit data. For example, each type identifier may indicate which of a variety of types (eg, cargo loss categories) the model is classified into. For example, the fit data may indicate how well an example trained neural network model models an input sensory data set. For example, the fit data may include a fit value that is determined based on an evaluation of the fit function relative to the model. For example, the example fitting function may be an objective function that is based on the frequency and/or absolute magnitude of errors generated by testing the example trained neural network model on the input sensory data set. As a simple example, suppose that the input sensory data set includes ten rows, that the input sensory data set includes two columns, denoted A and B, and that an example trained neural network model outputs a predicted value of B, given the input value A. In this example, testing an example trained neural network model might involve inputting each of ten values of A from the input sensor dataset, comparing the predicted values of B with the corresponding actual values of B from the input sensor dataset, and determining whether or not they are different. and/or how different the two predicted and actual values of B are. As an illustration, if a particular neural network correctly predicts the value of B for nine out of ten rows, then an example fitting function might assign a fit value of 9/10=0 to the corresponding model. 9. It should be understood that the previous example is for illustrative purposes only and should not be considered limiting. In some embodiments, the example fitting function may be based on factors unrelated to error rate or error rate, such as the number of input nodes, node layers, hidden layers, connections, computational complexity, etc.

[0234] В некоторых вариантах осуществления и, при необходимости, в сочетании любых вариантов осуществления, описанных выше или ниже, настоящее изобретение может использовать несколько аспектов по меньшей мере одного из следующего:[0234] In some embodiments, and optionally in combination with any of the embodiments described above or below, the present invention may utilize multiple aspects of at least one of the following:

Патент США № 8195484, озаглавленный "Insurance product, rating system and method";US Patent No. 8195484, entitled "Insurance product, rating system and method";

Патент США № 8548833, озаглавленный "Insurance product, rating system and method";US Patent No. 8548833, entitled "Insurance product, rating system and method";

Патент США № 8554588, озаглавленный "Insurance product, rating system and method";US Patent No. 8554588, entitled "Insurance product, rating system and method";

Патент США № 8554589, озаглавленный "Insurance product, rating system and method";US Patent No. 8554589, entitled "Insurance product, rating system and method";

Патент США № 8595036, озаглавленный "Insurance product, rating system and method";US Patent No. 8595036, entitled "Insurance product, rating system and method";

Патент США № 8676610, озаглавленный "Insurance product, rating system and method";US Patent No. 8676610, entitled "Insurance product, rating system and method";

Патент США № 8719059, озаглавленный "Insurance product, rating system and method";US Patent No. 8,719,059, entitled "Insurance product, rating system and method";

Патент США № 8812331, озаглавленный "Insurance product, rating and credit enhancement system and method for insuring project savings".US Patent No. 8812331, entitled "Insurance product, rating and credit enhancement system and method for insuring project savings."

[0235] Ниже описаны по меньшей мере некоторые аспекты настоящего изобретения с обращением к следующим пронумерованным пунктам:[0235] At least some aspects of the present invention are described below with reference to the following numbered paragraphs:

Пункт 1. Способ, содержащий:Clause 1. Method containing:

- прием посредством по меньшей мере одного процессора набора обучающих данных целевых переменных, представляющих по меньшей мере один связанный с активностью атрибут по меньшей мере для одной пользовательской активности;- receiving, by at least one processor, a set of training data of target variables representing at least one activity-related attribute for at least one user activity;

- прием посредством по меньшей мере одного процессора по меньшей мере одного критерия отклонения, используемого для определения одного или более выбросовых значений;- receiving, by at least one processor, at least one deviation criterion used to determine one or more outlier values;

- определение посредством по меньшей мере одного процессора набора параметров модели для модели машинного обучения, что содержит:- determining, by at least one processor, a set of model parameters for the machine learning model, which contains:

(1) применение посредством по меньшей мере одного процессора модели машинного обучения, имеющей набор начальных параметров модели, к набору обучающих данных для определения набора прогнозируемых значений модели;(1) applying, by at least one processor, a machine learning model having a set of initial model parameters to the training data set to determine a set of predicted model values;

(2) формирование посредством по меньшей мере одного процессора набора ошибок для ошибок в элементах данных посредством сравнения набора прогнозируемых значений модели с соответствующими фактическими значениями набора обучающих данных;(2) generating, by at least one processor, a set of errors for errors in the data elements by comparing the set of predicted values of the model with the corresponding actual values of the set of training data;

(3) формирование посредством по меньшей мере одного процессора вектора выбора данных для идентификации невыбросовых целевых переменных по меньшей мере частично на основе набора ошибок для ошибок в элементах данных и по меньшей мере одного критерия отклонения;(3) generating, by at least one processor, a data selection vector for identifying non-outlier target variables based at least in part on a set of errors for errors in the data elements and at least one rejection criterion;

(4) использование посредством по меньшей мере одного процессора вектора выбора данных для набора обучающих данных для формирования набора невыбросовых данных;(4) using, by the at least one processor, a data selection vector for the training data set to form a set of non-outlier data;

(5) определение посредством по меньшей мере одного процессора набора обновленных параметров модели для модели машинного обучения на основе набора невыбросовых данных; и(5) determining, by the at least one processor, a set of updated model parameters for the machine learning model based on the set of non-outlier data; And

(6) повторение посредством по меньшей мере одного процессора этапов (1)-(5) в качестве итерации до тех пор, пока не будет удовлетворён по меньшей мере один критерий завершения выполнения цензурирования, таким образом, чтобы получить набор параметров модели для модели машинного обучения в качестве обновленных параметров модели, за счет чего каждая итерация повторно формирует набор прогнозируемых значений, набор ошибок, вектор выбора данных и набор невыбросовых данных с использованием набора обновленных параметров модели в качестве набора начальных параметров модели;(6) repeating, by at least one processor, steps (1)-(5) iteratively until at least one censoring completion criterion is satisfied, so as to obtain a set of model parameters for the machine learning model as updated model parameters, whereby each iteration regenerates a set of predicted values, a set of errors, a data selection vector, and a set of non-outlier data using the set of updated model parameters as a set of initial model parameters;

- обучение посредством по меньшей мере одного процессора по меньшей мере частично на основе набора обучающих данных и вектора выбора данных, набора параметров классификационной модели для модели машинного обучения классификаторов выбросовых значений для получения обученной модели машинного обучения классификаторов выбросовых значений, которая выполнена с возможностью идентификации по меньшей мере одного выбросового элемента данных;- training by at least one processor based at least in part on a set of training data and a data selection vector, a set of classification model parameters for a machine learning model of outlier value classifiers to obtain a trained machine learning model of outlier value classifiers, which is configured to be identified by at least at least one outlier data element;

- применение посредством по меньшей мере одного процессора обученной модели машинного обучения классификаторов выбросовых значений к набору данных для связанных с активностью данных по меньшей мере для одной пользовательской активности, чтобы определять:- applying, by at least one processor, a trained machine learning model of outlier value classifiers to the data set for activity-related data for at least one user activity to determine:

i) набор выбросовых связанных с активностью данных в наборе данных для связанных с активностью данных, иi) a set of outlier activity-related data in the data set for activity-related data, and

ii) набор невыбросовых связанных с активностью данных в наборе данных для связанных с активностью данных; иii) a set of non-outlier activity-related data in a data set for activity-related data; And

- применение посредством по меньшей мере одного процессора модели машинного обучения к набору элементов невыбросовых связанных с активностью данных для прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью.- applying, by at least one processor, a machine learning model to the set of non-outlier activity-related data elements to predict the future of an activity-related attribute associated with the at least one user activity.

Пункт 2. Система, содержащая:Clause 2. System containing:

- по меньшей мере, один процессор, осуществляющий связь с постоянным машиночитаемым носителем данных, на котором сохранены программные инструкции, при этом программные инструкции при выполнении предписывают по меньшей мере одному процессору выполнять этапы для:- at least one processor in communication with a non-transitory computer-readable storage medium on which program instructions are stored, wherein the program instructions, when executed, cause the at least one processor to perform the steps of:

- приёма набора обучающих данных целевых переменных, представляющих по меньшей мере один связанный с активностью атрибут по меньшей мере для одной пользовательской активности;- receiving a set of training data of target variables representing at least one activity-related attribute for at least one user activity;

- приёма по меньшей мере одного критерия отклонения, используемого для определения одного или более выбросовых значений;- receiving at least one deviation criterion used to determine one or more outlier values;

- определения набора параметров модели для модели машинного обучения, что содержит:- defining a set of model parameters for a machine learning model, which contains:

(1) применение модели машинного обучения, имеющей набор начальных параметров модели, к набору обучающих данных для определения набора прогнозируемых значений модели;(1) applying a machine learning model having a set of initial model parameters to the training data set to determine a set of model predicted values;

(2) формирование набора ошибок для ошибок в элементах данных посредством сравнения набора прогнозируемых значений модели с соответствующими фактическими значениями набора обучающих данных;(2) generating an error set for errors in the data elements by comparing a set of model predicted values with the corresponding actual values of the training data set;

(3) формирование вектора выбора данных для идентификации невыбросовых целевых переменных по меньшей мере частично на основе набора ошибок для ошибок в элементах данных и по меньшей мере одного критерия отклонения;(3) generating a data selection vector for identifying non-outlier target variables based at least in part on a set of errors for errors in the data elements and at least one rejection criterion;

(4) использование вектора выбора данных для набора обучающих данных для формирования набора невыбросовых данных;(4) using the data selection vector for the training data set to form a non-outlier data set;

(5) определение набора обновленных параметров модели для модели машинного обучения на основе набора невыбросовых данных; и(5) determining a set of updated model parameters for the machine learning model based on the non-outlier data set; And

(6) повторение этапов (1)-(5) в качестве итерации до тех пор, пока не будет удовлетворён по меньшей мере один критерий завершения выполнения цензурирования, таким образом, чтобы получить набор параметров модели для модели машинного обучения в качестве обновленных параметров модели, за счет чего каждая итерация повторно формирует набор прогнозируемых значений, набор ошибок, вектор выбора данных и набор невыбросовых данных с использованием набора обновленных параметров модели в качестве набора начальных параметров модели;(6) repeating steps (1)-(5) iteratively until at least one censoring completion criterion is satisfied, so as to obtain a set of model parameters for the machine learning model as updated model parameters, whereby each iteration regenerates a set of predicted values, a set of errors, a data selection vector, and a set of non-outlier data using the set of updated model parameters as a set of initial model parameters;

- обучения по меньшей мере частично на основе набора обучающих данных и вектора выбора данных набора параметров классификационной модели для модели машинного обучения классификаторов выбросовых значений для получения обученной модели машинного обучения классификаторов выбросовых значений, которая выполнена с возможностью идентификации по меньшей мере одного выбросового элемента данных;- training at least in part based on a set of training data and a data selection vector of a set of classification model parameters for a machine learning model of outlier value classifiers to obtain a trained machine learning model of outlier value classifiers, which is configured to identify at least one outlier data element;

- применения обученной модели машинного обучения классификаторов выбросовых значений к набору данных для связанных с активностью данных по меньшей мере для одной пользовательской активности, для определения:- applying a trained machine learning model of outlier value classifiers to a dataset of activity-related data for at least one user activity to determine:

i) набора выбросовых связанных с активностью данных в наборе данных для связанных с активностью данных, иi) a set of outlier activity-related data in the data set for activity-related data, and

ii) набора невыбросовых связанных с активностью данных в наборе данных для связанных с активностью данных; иii) a set of non-outlier activity-related data in a data set for activity-related data; And

- применения модели машинного обучения к набору элементов невыбросовых связанных с активностью данных для прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью.- applying a machine learning model to a set of non-outlier activity-related data elements to predict the future of an activity-related attribute associated with at least one user activity.

Пункт 3. Системы и способы по пунктам 1 и/или 2, дополнительно содержащие:Clause 3. Systems and methods according to clauses 1 and/or 2, additionally containing:

- применение посредством по меньшей мере одного процессора вектора выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных;- applying, by at least one processor, a data selection vector to the training data set to determine the outlier training data set;

- обучение посредством по меньшей мере одного процессора с использованием набора выбросовых обучающих данных по меньшей мере одного параметра относящейся к выбросовым значениям модели для по меньшей мере одной относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных; и- training, by at least one processor using a set of outlier training data, at least one outlier model parameter for at least one outlier machine learning model to predict outlier data values; And

- использование посредством по меньшей мере одного процессора относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных.- using, by the at least one processor, an outlier machine learning model to predict outlier activity-related data values for a set of outlier activity-related data.

Пункт 4. Системы и способы по пунктам 1 и/или 2, дополнительно содержащие:Clause 4. Systems and methods according to clauses 1 and/or 2, additionally containing:

- обучение посредством по меньшей мере одного процессора с использованием набора обучающих данных, обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training by at least one processor using a set of training data, generalized model parameters for a generalized machine learning model to predict data values;

- использование посредством по меньшей мере одного процессора обобщенной модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и- using, by at least one processor, a generalized machine learning model to predict activity-related data outlier values for a set of activity-related outlier data; And

- использование посредством по меньшей мере одного процессора обобщенной модели машинного обучения для прогнозирования значений связанных с активностью данных.- using, by at least one processor, a generalized machine learning model to predict values of activity-related data.

Пункт 5. Системы и способы по пунктам 1 и/или 2, дополнительно содержащие:Clause 5. Systems and methods according to clauses 1 and/or 2, additionally containing:

- применение посредством по меньшей мере одного процессора вектора выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных;- applying, by at least one processor, a data selection vector to the training data set to determine the outlier training data set;

- обучение посредством по меньшей мере одного процессора с использованием набора выбросовых обучающих данных, параметров относящейся к выбросовым значениям модели для относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных;- training, by at least one processor, using a set of outlier training data, parameters of the outlier model for the outlier machine learning model to predict outlier data values;

- обучение посредством по меньшей мере одного процессора с использованием набора обучающих данных, обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training by at least one processor using a set of training data, generalized model parameters for a generalized machine learning model to predict data values;

- использование посредством по меньшей мере одного процессора относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и- using, by the at least one processor, an outlier machine learning model to predict outlier activity-related data values for a set of outlier activity-related data; And

- использование посредством по меньшей мере одного процессора относящейся к выбросовым значениям модели машинного обучения для прогнозирования значений связанных с активностью данных.- using, by the at least one processor, a machine learning model related to the outlier values to predict the values of the activity-related data.

Пункт 6. Системы и способы по пунктам 1 и/или 2, дополнительно содержащие:Clause 6. Systems and methods according to clauses 1 and/or 2, additionally containing:

- обучение посредством по меньшей мере одного процессора с использованием набора обучающих данных, обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training by at least one processor using a set of training data, generalized model parameters for a generalized machine learning model to predict data values;

- использование посредством по меньшей мере одного процессора обобщенной модели машинного обучения для прогнозирования значений связанных с активностью данных для набора связанных с активностью данных;- using, by at least one processor, a generalized machine learning model to predict activity-related data values for a set of activity-related data;

- использование посредством по меньшей мере одного процессора модели машинного обучения классификаторов выбросовых значений для идентификации выбросовых значений связанных с активностью данных из значений связанных с активностью данных; и- using, by at least one machine learning model processor, outlier value classifiers to identify outlier activity-related data values from the activity-related data values; And

- удаление посредством по меньшей мере одного процессора выбросовых значений связанных с активностью данных.- removing, by the at least one processor, the outlier values of the activity-related data.

Пункт 7. Системы и способы по пунктам 1 и/или 2, в которых набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут прочности на сжатие бетона в качестве функции от состава бетона и отверждающего воздействия на бетон.Claim 7. The systems and methods of claims 1 and/or 2, wherein the training data set contains at least one activity-related attribute of concrete compressive strength as a function of concrete composition and curing effect on the concrete.

Пункт 8. Системы и способы по пунктам 1 и/или 2, в которых набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут данных использования энергии в качестве функции от бытовых окружающих условий и условий освещения.Claim 8. The systems and methods of claims 1 and/or 2, wherein the training data set comprises at least one activity-related energy use data attribute as a function of household environmental and lighting conditions.

Пункт 9. Системы и способы по пунктам 1 и/или 2 формулы изобретения, дополнительно содержащие:Clause 9. Systems and methods according to claims 1 and/or 2 of the claims, additionally containing:

- прием посредством по меньшей мере одного процессора запроса интерфейса прикладного программирования (API), чтобы формировать прогнозирование по меньшей мере с одним элементом данных; и- receiving, by the at least one processor, an application programming interface (API) request to generate a prediction with at least one data element; And

- создание посредством по меньшей мере одного процессора экземпляра по меньшей мере одного облачного вычислительного ресурса для планирования выполнения модели машинного обучения;- creating, by at least one processor, an instance of at least one cloud computing resource for scheduling execution of the machine learning model;

- использование посредством по меньшей мере одного процессора согласно планированию для выполнения модели машинного обучения для прогнозирования по меньшей мере одного значения элемента связанных с активностью данных по меньшей мере для одного элемента данных; и- using, by the at least one processor as scheduled, to execute a machine learning model to predict at least one activity-related data item value for the at least one data item; And

- возврат посредством по меньшей мере одного процессора по меньшей мере одного значения элемента связанных с активностью данных в вычислительное устройство, ассоциированное с запросом API.- returning, by the at least one processor, at least one activity-related data element value to a computing device associated with the API request.

Пункт 10. Системы и способы по пунктам 1 и/или 2 формулы изобретения, в которых набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут формирования трехмерных изображений пациентов набора медицинских данных; иClaim 10. Systems and methods according to claims 1 and/or 2, wherein the training data set contains at least one activity-related attribute of generating three-dimensional images of patients of the medical data set; And

- при этом модель машинного обучения выполнена с возможностью прогнозирования значений связанных с активностью данных, содержащих два или более параметров физического рендеринга на основе набора медицинских данных.- wherein the machine learning model is configured to predict values of activity-related data containing two or more physical rendering parameters based on the medical data set.

Пункт 11. Системы и способы по пунктам 1 и/или 2, в которых набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут результатов моделированного управления для электронных машинных команд; иClause 11. The systems and methods of claims 1 and/or 2, wherein the training data set contains at least one activity-related attribute of simulated control results for electronic machine commands; And

- при этом модель машинного обучения выполнена с возможностью прогнозирования значений связанных с активностью данных, содержащих команды управления для электронной машины.- wherein the machine learning model is configured to predict values of activity-related data containing control commands for the electronic machine.

Пункт 12. Системы и способы по пунктам 1 и/или 2, дополнительно содержащие:Clause 12. Systems and methods according to clauses 1 and/or 2, additionally containing:

- разбиение посредством по меньшей мере одного процессора набора связанных с активностью данных на множество поднаборов связанных с активностью данных;- dividing, by at least one processor, a set of activity-related data into a plurality of subsets of activity-related data;

- определение посредством по меньшей мере одного процессора модели из ансамбля для каждого поднабора связанных с активностью данных из множества поднаборов связанных с активностью данных;- determining, by at least one processor, a model from the ensemble for each subset of activity-related data from the plurality of subsets of activity-related data;

- при этом модель машинного обучения содержит ансамбль моделей;- in this case, the machine learning model contains an ensemble of models;

- при этом каждая модель из ансамбля содержит случайное сочетание моделей из ансамбля моделей;- in this case, each model from the ensemble contains a random combination of models from the ensemble of models;

- использование посредством по меньшей мере одного процессора каждой модели из ансамбля по отдельности для прогнозирования относящихся к ансамблю значений связанных с активностью данных;- using, by at least one processor, each model from the ensemble separately to predict ensemble-related activity-related data values;

- определение посредством по меньшей мере одного процессора ошибки для каждой модели из ансамбля на основе относящихся к ансамблю значений связанных с активностью данных и известных значений; и- determining, by the at least one processor, an error for each model in the ensemble based on ensemble-specific activity-related data values and known values; And

- выбор посредством по меньшей мере одного процессора модели из ансамбля с наилучшими функциональными параметрами на основе наименьшей ошибки.- selecting, by at least one processor, a model from the ensemble with the best functional parameters based on the smallest error.

[0236] Хотя описаны один или более вариантов осуществления настоящего изобретения, следует понимать, что эти варианты осуществления являются только иллюстративными, а не ограничивающими, и что специалистам в данной области техники может стать очевидным множество модификаций, в том числе то, что различные варианты осуществления технологий согласно изобретению, систем/платформ согласно изобретению и устройств согласно изобретению, описанных в данном документе, могут использоваться в любом сочетании друг с другом. Кроме того, различные этапы могут выполняться в любом необходимом порядке (и могут быть добавлены любые необходимые этапы, и/или могут быть исключены любые необходимые этапы).[0236] Although one or more embodiments of the present invention have been described, it should be understood that these embodiments are only illustrative and not limiting, and that many modifications may become apparent to those skilled in the art, including that various embodiments The technologies of the invention, the systems/platforms of the invention, and the devices of the invention described herein may be used in any combination with each other. In addition, the various steps may be performed in any desired order (and any necessary steps may be added and/or any necessary steps may be omitted).

Claims (107)

1. Способ управления электронным устройством посредством использования модели машинного обучения, обученной на невыбросовых данных, содержащий этапы, на которых:1. A method for controlling an electronic device using a machine learning model trained on non-outlier data, comprising the steps of: - принимают посредством по меньшей мере одного процессора набор обучающих данных целевых переменных, представляющих по меньшей мере один связанный с активностью атрибут по меньшей мере для одной пользовательской активности,- receiving, through at least one processor, a set of training data of target variables representing at least one activity-related attribute for at least one user activity, причём набор обучающих данных целевых переменных содержит множество переменных, связанных с использованием энергии, для упомянутого по меньшей мере одного устройства;wherein the target variable training data set contains a plurality of variables related to energy use for the at least one device; - принимают посредством по меньшей мере одного процессора по меньшей мере один критерий отклонения, используемый для определения одного или более выбросовых значений;- receiving, through at least one processor, at least one deviation criterion used to determine one or more outlier values; - определяют посредством по меньшей мере одного процессора набор параметров модели для упомянутой модели машинного обучения, что содержит этапы, на которых:- determining, by means of at least one processor, a set of model parameters for said machine learning model, which comprises the steps of: (1) применяют посредством по меньшей мере одного процессора модель машинного обучения, имеющую набор начальных параметров модели, к набору обучающих данных для определения набора прогнозируемых значений модели;(1) applying, by at least one processor, a machine learning model having a set of initial model parameters to the training data set to determine a set of predicted model values; (2) формируют посредством по меньшей мере одного процессора набор ошибок для ошибок в элементах данных посредством сравнения набора прогнозируемых значений модели с соответствующими фактическими значениями набора обучающих данных;(2) generating, by at least one processor, an error set for errors in the data elements by comparing the set of predicted model values with the corresponding actual values of the training data set; (3) формируют посредством по меньшей мере одного процессора, вектор выбора данных для идентификации невыбросовых целевых переменных по меньшей мере частично на основании набора ошибок для ошибок в элементах данных и по меньшей мере одного критерия отклонения;(3) generating, by at least one processor, a data selection vector for identifying non-outlier target variables based at least in part on a set of errors for errors in the data elements and at least one rejection criterion; (4) используют посредством по меньшей мере одного процессора вектор выбора данных для набора обучающих данных для формирования набора невыбросовых данных;(4) using, by at least one processor, a data selection vector for the training data set to form a set of non-outlier data; (5) определяют посредством по меньшей мере одного процессора набор обновленных параметров модели для модели машинного обучения на основании набора невыбросовых данных; и(5) determining, by at least one processor, a set of updated model parameters for the machine learning model based on the set of non-outlier data; And (6) повторяют посредством по меньшей мере одного процессора этапы (1)-(5) в качестве итерации до тех пор, пока не будет удовлетворен по меньшей мере один критерий завершения выполнения цензурирования, таким образом, чтобы получить набор параметров модели для модели машинного обучения в качестве обновленных параметров модели, за счет чего каждая итерация повторно формирует набор прогнозируемых значений, набор ошибок, вектор выбора данных и набор невыбросовых данных с использованием набора обновленных параметров модели в качестве набора начальных параметров модели;(6) repeating, by at least one processor, steps (1)-(5) iteratively until at least one censoring completion criterion is satisfied, so as to obtain a set of model parameters for the machine learning model as updated model parameters, whereby each iteration regenerates a set of predicted values, a set of errors, a data selection vector, and a set of non-outlier data using the set of updated model parameters as a set of initial model parameters; - обучают посредством по меньшей мере одного процессора по меньшей мере частично на основе набора обучающих данных и вектора выбора данных набор параметров классификационной модели для модели машинного обучения классификаторов выбросовых значений для получения обученной модели машинного обучения классификаторов выбросовых значений, которая выполнена с возможностью идентификации по меньшей мере одного выбросового элемента данных;- training by means of at least one processor, at least partially based on a set of training data and a data selection vector, a set of classification model parameters for a machine learning model of outlier value classifiers to obtain a trained machine learning model of outlier value classifiers, which is configured to identify at least one outlier data element; - применяют посредством по меньшей мере одного процессора обученную модель машинного обучения классификаторов выбросовых значений к набору данных для связанных с активностью данных по меньшей мере для одной пользовательской активности для определения:- applying, through at least one processor, a trained machine learning model of outlier value classifiers to a data set for activity-related data for at least one user activity to determine: i) набора выбросовых связанных с активностью данных в наборе данных для связанных с активностью данных иi) a set of outlier activity-related data in a data set for activity-related data; and ii) набора невыбросовых связанных с активностью данных в наборе данных для связанных с активностью данных;ii) a set of non-outlier activity-related data in a data set for activity-related data; - применяют посредством по меньшей мере одного процессора упомянутую модель машинного обучения к набору элементов невыбросовых связанных с активностью данных для прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью; и- applying, by at least one processor, said machine learning model to a set of non-outlier activity-related data elements to predict the future of an activity-related attribute associated with the at least one user activity; And - автоматически формируют посредством по меньшей мере одного процессора по меньшей мере одну машинную команду управления на основании применения модели машинного обучения и прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью.- automatically generating, by at least one processor, at least one machine control command based on the application of a machine learning model and prediction of the future of an activity-related attribute associated with the at least one user activity. 2. Способ по п. 1, дополнительно содержащий этапы, на которых:2. The method according to claim 1, additionally containing the steps of: - применяют посредством по меньшей мере одного процессора вектор выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных;- applying, by at least one processor, a data selection vector to the training data set to determine the outlier training data set; - обучают посредством по меньшей мере одного процессора с использованием набора выбросовых обучающих данных по меньшей мере один параметр относящейся к выбросовым значениям модели для по меньшей мере одной относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных; и- training, by at least one processor using a set of outlier training data, at least one parameter of an outlier model for at least one outlier machine learning model for predicting outlier data values; And - используют посредством по меньшей мере одного процессора относящуюся к выбросовым значениям модель машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных.- using, through at least one processor, an outlier machine learning model to predict outlier activity-related data values for a set of outlier activity-related data. 3. Способ по п. 1, дополнительно содержащий этапы, на которых:3. The method according to claim 1, additionally containing the steps of: - обучают посредством по меньшей мере одного процессора с использованием набора обучающих данных обобщенные параметры модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training, by means of at least one processor using a set of training data, generalized model parameters for a generalized machine learning model for predicting data values; - используют посредством по меньшей мере одного процессора обобщенную модель машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и- using, through at least one processor, a generalized machine learning model to predict outlier activity-related data values for a set of outlier activity-related data; And - используют посредством по меньшей мере одного процессора обобщенную модель машинного обучения для прогнозирования значений связанных с активностью данных.- using, through at least one processor, a generalized machine learning model to predict values of activity-related data. 4. Способ по п. 1, дополнительно содержащий этапы, на которых:4. The method according to claim 1, additionally containing the steps of: - применяют посредством по меньшей мере одного процессора вектор выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных;- applying, by at least one processor, a data selection vector to the training data set to determine the outlier training data set; - обучают посредством по меньшей мере одного процессора с использованием набора выбросовых обучающих данных параметры относящейся к выбросовым значениям модели для относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных;- training, by at least one processor using the set of outlier training data, the parameters of the outlier model for the outlier machine learning model for predicting the outlier data values; - обучают посредством по меньшей мере одного процессора с использованием набора обучающих данных обобщенные параметры модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training, by means of at least one processor using a set of training data, generalized model parameters for a generalized machine learning model for predicting data values; - используют посредством по меньшей мере одного процессора относящуюся к выбросовым значениям модель машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и- using, through at least one processor, an outlier machine learning model to predict outlier activity-related data values for a set of outlier activity-related data; And - используют посредством по меньшей мере одного процессора относящуюся к выбросовым значениям модель машинного обучения для прогнозирования значений связанных с активностью данных.- using, through at least one processor, a machine learning model related to the outlier values to predict the values of the activity-related data. 5. Способ по п. 1, дополнительно содержащий этапы, на которых:5. The method according to claim 1, additionally containing the steps of: - обучают посредством по меньшей мере одного процессора с использованием набора обучающих данных обобщенные параметры модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training, by means of at least one processor using a set of training data, generalized model parameters for a generalized machine learning model for predicting data values; - используют посредством по меньшей мере одного процессора обобщенную модель машинного обучения для прогнозирования значений связанных с активностью данных для набора связанных с активностью данных;- using, through at least one processor, a generalized machine learning model to predict activity-related data values for a set of activity-related data; - используют посредством по меньшей мере одного процессора модель машинного обучения классификаторов выбросовых значений для идентификации выбросовых значений связанных с активностью данных из значений связанных с активностью данных; и- using, through at least one processor, a machine learning model of outlier value classifiers to identify outlier activity-related data values from the activity-related data values; And - удаляют посредством по меньшей мере одного процессора выбросовые значения связанных с активностью данных.- removing, by at least one processor, outlier values of the activity-related data. 6. Способ по п. 1, в котором набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут прочности на сжатие бетона в качестве функции от состава бетона и отверждающего воздействия на бетон.6. The method of claim 1, wherein the training data set comprises at least one activity-related attribute of concrete compressive strength as a function of concrete composition and curing effect on the concrete. 7. Способ по п. 1, в котором набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут данных использования энергии в качестве функции от бытовых окружающих условий и условий освещения.7. The method of claim 1, wherein the training data set comprises at least one activity-related energy use data attribute as a function of household environmental and lighting conditions. 8. Способ по п. 1, дополнительно содержащий этапы, на которых:8. The method according to claim 1, further comprising the steps of: - принимают посредством по меньшей мере одного процессора запрос интерфейса прикладного программирования (API) для формирования прогнозирования по меньшей мере с одним элементом данных; и- receiving, through at least one processor, an application programming interface (API) request for generating a prediction with at least one data element; And - создают посредством по меньшей мере одного процессора экземпляр по меньшей мере одного облачного вычислительного ресурса для планирования выполнения модели машинного обучения;- creating, by means of at least one processor, an instance of at least one cloud computing resource for scheduling execution of the machine learning model; - используют посредством по меньшей мере одного процессора модель машинного обучения согласно планированию для выполнения для прогнозирования по меньшей мере одного значения элемента связанных с активностью данных по меньшей мере для одного элемента данных; и- using, by at least one processor, a machine learning model as scheduled to execute to predict at least one activity-related data element value for at least one data element; And - возвращают посредством по меньшей мере одного процессора по меньшей мере одно значение элемента связанных с активностью данных в вычислительное устройство, ассоциированное с запросом API.- returning, through the at least one processor, at least one activity-related data element value to a computing device associated with the API request. 9. Способ по п. 1, в котором набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут формирования трехмерных изображений пациентов для набора медицинских данных; и9. The method of claim 1, wherein the training data set comprises at least one activity-related attribute of generating 3D patient images for the medical data set; And при этом модель машинного обучения выполнена с возможностью прогнозирования значений связанных с активностью данных, содержащих два или более параметра физического рендеринга, на основе набора медицинских данных.wherein the machine learning model is configured to predict values of activity-related data comprising two or more physical rendering parameters based on the medical data set. 10. Способ по п. 1, в котором набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут результатов моделируемого управления для электронных машинных команд; и10. The method of claim 1, wherein the training data set comprises at least one activity-related attribute of simulated control results for electronic machine instructions; And при этом модель машинного обучения выполнена с возможностью прогнозирования значений связанных с активностью данных, содержащих команды управления для электронной машины.wherein the machine learning model is configured to predict values of activity-related data containing control commands for the electronic machine. 11. Способ по п. 1, дополнительно содержащий этапы, на которых:11. The method according to claim 1, further comprising the steps of: - разбивают посредством по меньшей мере одного процессора набор связанных с активностью данных на множество поднаборов связанных с активностью данных;- dividing, by at least one processor, the set of activity-related data into a plurality of subsets of activity-related data; - определяют посредством по меньшей мере одного процессора модель из ансамбля для каждого поднабора связанных с активностью данных из множества поднаборов связанных с активностью данных;- determining, by at least one processor, an ensemble model for each subset of activity-related data from the plurality of subsets of activity-related data; при этом модель машинного обучения содержит ансамбль моделей;wherein the machine learning model contains an ensemble of models; при этом каждая модель из ансамбля содержит случайное сочетание моделей из ансамбля моделей;Moreover, each model from the ensemble contains a random combination of models from the ensemble of models; - используют посредством по меньшей мере одного процессора каждую модель из ансамбля по отдельности для прогнозирования относящихся к ансамблю значений связанных с активностью данных;- using, through at least one processor, each model from the ensemble separately to predict ensemble-related activity-related data values; - определяют посредством по меньшей мере одного процессора ошибку для каждой модели из ансамбля на основе относящихся к ансамблю значений связанных с активностью данных и известных значений; и- determining, by at least one processor, an error for each model in the ensemble based on ensemble-specific activity-related data values and known values; And - выбирают посредством по меньшей мере одного процессора модель из ансамбля с наилучшими функциональными параметрами на основе наименьшей ошибки.- selecting, by means of at least one processor, a model from the ensemble with the best functional parameters based on the smallest error. 12. Система управления электронным устройством посредством использования модели машинного обучения, обученной на невыбросовых данных, содержащая12. Electronic device control system using a machine learning model trained on non-outlier data containing по меньшей мере один процессор, осуществляющий связь с постоянным машиночитаемым носителем данных, на котором сохранены программные инструкции, при этом программные инструкции при выполнении предписывают по меньшей мере одному процессору выполнять этапы для:at least one processor in communication with a non-transitory computer readable storage medium on which program instructions are stored, wherein the program instructions, when executed, cause the at least one processor to perform the steps of: - приёма набора обучающих данных целевых переменных, представляющих по меньшей мере один связанный с активностью атрибут по меньшей мере для одной пользовательской активности,- receiving a set of training data of target variables representing at least one activity-related attribute for at least one user activity, причём набор обучающих данных целевых переменных содержит множество переменных, связанных с использованием энергии, для упомянутого по меньшей мере одного устройства;wherein the target variable training data set contains a plurality of variables related to energy use for the at least one device; - приёма по меньшей мере одного критерия отклонения, используемого для определения одного или более выбросовых значений;- receiving at least one deviation criterion used to determine one or more outlier values; - определения набора параметров модели для упомянутой модели машинного обучения, что содержит:- defining a set of model parameters for said machine learning model, which contains: (1) применение модели машинного обучения, имеющей набор начальных параметров модели, к набору обучающих данных для определения набора прогнозируемых значений модели;(1) applying a machine learning model having a set of initial model parameters to the training data set to determine a set of model predicted values; (2) формирование набора ошибок для ошибок в элементах данных посредством сравнения набора прогнозируемых значений модели с соответствующими фактическими значениями набора обучающих данных;(2) generating an error set for errors in the data elements by comparing a set of model predicted values with the corresponding actual values of the training data set; (3) формирование вектора выбора данных для идентификации невыбросовых целевых переменных по меньшей мере частично на основе набора ошибок для ошибок в элементах данных и по меньшей мере одного критерия отклонения;(3) generating a data selection vector for identifying non-outlier target variables based at least in part on a set of errors for errors in the data elements and at least one rejection criterion; (4) использование вектора выбора данных для набора обучающих данных для формирования набора невыбросовых данных;(4) using the data selection vector for the training data set to form a non-outlier data set; (5) определение набора обновленных параметров модели для модели машинного обучения на основе набора невыбросовых данных; и(5) determining a set of updated model parameters for the machine learning model based on the non-outlier data set; And (6) повторение этапов (1)-(5) в качестве итерации до тех пор, пока не будет удовлетворён по меньшей мере один критерий завершения выполнения цензурирования, таким образом, чтобы получить набор параметров модели для модели машинного обучения в качестве обновленных параметров модели, за счет чего каждая итерация повторно формирует набор прогнозируемых значений, набор ошибок, вектор выбора данных и набор невыбросовых данных с использованием набора обновленных параметров модели в качестве набора начальных параметров модели;(6) repeating steps (1)-(5) iteratively until at least one censoring completion criterion is satisfied, so as to obtain a set of model parameters for the machine learning model as updated model parameters, whereby each iteration regenerates a set of predicted values, a set of errors, a data selection vector, and a set of non-outlier data using the set of updated model parameters as a set of initial model parameters; - обучения по меньшей мере частично на основе набора обучающих данных и вектора выбора данных набора параметров классификационной модели для модели машинного обучения классификаторов выбросовых значений для получения обученной модели машинного обучения классификаторов выбросовых значений, которая выполнена с возможностью идентификации по меньшей мере одного выбросового элемента данных;- training at least in part based on a set of training data and a data selection vector of a set of classification model parameters for a machine learning model of outlier value classifiers to obtain a trained machine learning model of outlier value classifiers, which is configured to identify at least one outlier data element; - применения обученной модели машинного обучения классификаторов выбросовых значений к набору данных для связанных с активностью данных по меньшей мере для одной пользовательской активности для определения:- applying a trained machine learning model of outlier value classifiers to a dataset of activity-related data for at least one user activity to determine: i) набора выбросовых связанных с активностью данных в наборе данных для связанных с активностью данных иi) a set of outlier activity-related data in a data set for activity-related data; and ii) набора невыбросовых связанных с активностью данных в наборе данных для связанных с активностью данных;ii) a set of non-outlier activity-related data in a data set for activity-related data; - применения модели машинного обучения к набору элементов невыбросовых связанных с активностью данных для прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью; и- applying a machine learning model to a set of non-outlier activity-related data elements to predict the future of an activity-related attribute associated with at least one user activity; And - автоматического формирования посредством упомянутого по меньшей мере одного электронного устройства по меньшей мере одной машинной команды управления на основании применения модели машинного обучения и прогнозирования будущего связанного с активностью атрибута, связанного по меньшей мере с одной пользовательской активностью.- automatically generating, through said at least one electronic device, at least one machine control command based on the application of a machine learning model and predicting the future of an activity-related attribute associated with the at least one user activity. 13. Система по п. 12, в которой программные инструкции при выполнении дополнительно предписывают по меньшей мере одному процессору выполнять этапы для:13. The system of claim 12, wherein the program instructions, when executed, further cause the at least one processor to perform the steps of: - применения вектора выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных;- applying the data selection vector to the training data set to determine the outlier training data set; - обучения с использованием набора выбросовых обучающих данных по меньшей мере одного параметра относящейся к выбросовым значениям модели по меньшей мере одной относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных; и- training, using a set of outlier training data, at least one parameter of an outlier model of at least one outlier machine learning model to predict outlier data values; And - использования относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных.- using an outlier machine learning model to predict outlier activity-related data values for a set of outlier activity-related data. 14. Система по п. 12, в которой программные инструкции при выполнении дополнительно предписывают по меньшей мере одному процессору выполнять этапы для:14. The system of claim 12, wherein the program instructions, when executed, further cause the at least one processor to perform the steps of: - обучения с использованием набора обучающих данных обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training using a set of training data of generalized model parameters for a generalized machine learning model to predict data values; - использования обобщенной модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и- using a generalized machine learning model to predict activity-related data outlier values for a set of activity-related outlier data; And - использования обобщенной модели машинного обучения для прогнозирования значений связанных с активностью данных.- using a generalized machine learning model to predict the values of activity-related data. 15. Система по п. 12, в которой программные инструкции при выполнении дополнительно предписывают по меньшей мере одному процессору выполнять этапы для:15. The system of claim 12, wherein the program instructions, when executed, further cause the at least one processor to perform the steps of: - применения вектора выбора данных к набору обучающих данных для определения набора выбросовых обучающих данных;- applying the data selection vector to the training data set to determine the outlier training data set; - обучения с использованием набора выбросовых обучающих данных параметров относящейся к выбросовым значениям модели для относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений данных;- training using a set of outlier training data parameters of the outlier model for the outlier machine learning model to predict outlier data values; - обучения с использованием набора обучающих данных обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training using a set of training data of generalized model parameters for a generalized machine learning model to predict data values; - использования относящейся к выбросовым значениям модели машинного обучения для прогнозирования выбросовых значений связанных с активностью данных для набора выбросовых связанных с активностью данных; и- using an outlier machine learning model to predict outlier activity-related data values for a set of outlier activity-related data; And - использования относящейся к выбросовым значениям модели машинного обучения для прогнозирования значений связанных с активностью данных.- using an outlier-related machine learning model to predict activity-related data values. 16. Система по п. 12, в которой программные инструкции при выполнении дополнительно предписывают по меньшей мере одному процессору выполнять этапы для:16. The system of claim 12, wherein the program instructions, when executed, further cause the at least one processor to perform the steps of: - обучения с использованием набора обучающих данных обобщенных параметров модели для обобщенной модели машинного обучения для прогнозирования значений данных;- training using a set of training data of generalized model parameters for a generalized machine learning model to predict data values; - использования обобщенной модели машинного обучения для прогнозирования значений связанных с активностью данных для набора связанных с активностью данных;- using a generalized machine learning model to predict activity-related data values for a set of activity-related data; - использования модели машинного обучения классификаторов выбросовых значений для идентификации выбросовых значений связанных с активностью данных из значений связанных с активностью данных; и- using a machine learning model of outlier value classifiers to identify outlier values of activity-related data from values of activity-related data; And - удаления выбросовых значений связанных с активностью данных.- removing outliers from activity-related data. 17. Система по п. 12, в которой набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут прочности на сжатие бетона в качестве функции от состава бетона и отверждающего воздействия на бетон.17. The system of claim 12, wherein the training data set comprises at least one activity-related attribute of concrete compressive strength as a function of concrete composition and curing effect on the concrete. 18. Система по п. 12, в которой набор обучающих данных содержит по меньшей мере один связанный с активностью атрибут данных использования энергии в качестве функции от бытовых окружающих условий и условий освещения.18. The system of claim 12, wherein the training data set comprises at least one activity-related energy use data attribute as a function of household environmental and lighting conditions. 19. Система по п. 12, в которой программные инструкции при выполнении дополнительно предписывают по меньшей мере одному процессору выполнять этапы для:19. The system of claim 12, wherein the program instructions, when executed, further cause the at least one processor to perform the steps of: - приёма запроса интерфейса прикладного программирования (API) для формирования прогнозирования по меньшей мере с одним элементом данных; и- receiving an application programming interface (API) request to generate a prediction with at least one data element; And - создания экземпляра по меньшей мере одного облачного вычислительного ресурса для планирования выполнения модели машинного обучения;- instantiating at least one cloud computing resource for scheduling execution of the machine learning model; - использования согласно планированию для выполнения модели машинного обучения для прогнозирования по меньшей мере одного значения элемента связанных с активностью данных по меньшей мере для одного элемента данных; и- using, as scheduled, to execute a machine learning model to predict at least one activity-related data element value for at least one data element; And - возвращения по меньшей мере одного значения элемента связанных с активностью данных в вычислительное устройство, ассоциированное с запросом API.- returning at least one activity-related data element value to a computing device associated with the API request. 20. Система по п. 12, в которой программные инструкции при выполнении дополнительно предписывают по меньшей мере одному процессору выполнять этапы для:20. The system of claim 12, wherein the program instructions, when executed, further cause the at least one processor to perform the steps of: - разбиения набора связанных с активностью данных на множество поднаборов связанных с активностью данных;- partitioning the set of activity-related data into a plurality of subsets of activity-related data; - определения модели из ансамбля для каждого поднабора связанных с активностью данных из множества поднаборов связанных с активностью данных;- defining an ensemble model for each subset of activity-related data from the plurality of subsets of activity-related data; при этом модель машинного обучения содержит ансамбль моделей;wherein the machine learning model contains an ensemble of models; при этом каждая модель из ансамбля содержит случайное сочетание моделей из ансамбля моделей;Moreover, each model from the ensemble contains a random combination of models from the ensemble of models; - использования каждой модели из ансамбля по отдельности для прогнозирования относящихся к ансамблю значений связанных с активностью данных;- using each ensemble model individually to predict ensemble-specific activity-related data values; - определения ошибки для каждой модели из ансамбля на основе относящихся к ансамблю значений связанных с активностью данных и известных значений; и- determining the error for each model in the ensemble based on ensemble-specific activity-related data values and known values; And - выбора модели из ансамбля с наилучшими функциональными параметрами на основе наименьшей ошибки.- selecting a model from the ensemble with the best functional parameters based on the smallest error.
RU2022110167A 2019-09-18 2020-09-18 Computer systems, computing components and computing objects, made with possibility of implementing reduction of dynamic deviation caused by outlier values in machine learning models RU2813245C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/902,074 2019-09-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2024102904A Division RU2024102904A (en) 2019-09-18 2020-09-18 COMPUTER SYSTEMS, COMPUTING COMPONENTS AND COMPUTING OBJECTS, MADE WITH THE POSSIBILITY OF IMPLEMENTING THE REDUCTION OF DYNAMIC DEVIATION CAUSED BY OUTLIER VALUES IN MACHINE LEARNING MODELS

Publications (1)

Publication Number Publication Date
RU2813245C1 true RU2813245C1 (en) 2024-02-08

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013028532A1 (en) * 2011-08-19 2013-02-28 Hsb Solomon Associates, Llc Dynamic outlier bias reduction system and method
US20130231904A1 (en) * 2011-08-19 2013-09-05 Hsb Solomon Associates, Llc Dynamic outlier bias reduction system and method
RU2672394C1 (en) * 2017-07-26 2018-11-14 Общество С Ограниченной Ответственностью "Яндекс" Methods and systems for evaluation of training objects through a machine training algorithm
US20190034473A1 (en) * 2017-07-29 2019-01-31 Vmware, Inc. Methods and systems to detect and correct outliers in a dataset stored in a data-storage device
CN109495327A (en) * 2018-12-28 2019-03-19 西安交通大学 A kind of User Activity abnormality detection and method for predicting based on big data analysis
US10317854B2 (en) * 2016-04-04 2019-06-11 Fanuc Corporation Machine learning device that performs learning using simulation result, machine system, manufacturing system, and machine learning method
RU2694001C2 (en) * 2017-11-24 2019-07-08 Общество С Ограниченной Ответственностью "Яндекс" Method and system for creating a parameter of quality forecast for a forecasting model performed in a machine learning algorithm
US10389828B2 (en) * 2017-04-28 2019-08-20 Sap Se Enhanced data collection and analysis facility

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013028532A1 (en) * 2011-08-19 2013-02-28 Hsb Solomon Associates, Llc Dynamic outlier bias reduction system and method
US20130231904A1 (en) * 2011-08-19 2013-09-05 Hsb Solomon Associates, Llc Dynamic outlier bias reduction system and method
US9111212B2 (en) * 2011-08-19 2015-08-18 Hartford Steam Boiler Inspection And Insurance Company Dynamic outlier bias reduction system and method
US20150309964A1 (en) * 2011-08-19 2015-10-29 Hartford Steam Boiler Inspection & Insurance Company Dynamic outlier bias reduction system and method
US10317854B2 (en) * 2016-04-04 2019-06-11 Fanuc Corporation Machine learning device that performs learning using simulation result, machine system, manufacturing system, and machine learning method
US10389828B2 (en) * 2017-04-28 2019-08-20 Sap Se Enhanced data collection and analysis facility
RU2672394C1 (en) * 2017-07-26 2018-11-14 Общество С Ограниченной Ответственностью "Яндекс" Methods and systems for evaluation of training objects through a machine training algorithm
US20190034473A1 (en) * 2017-07-29 2019-01-31 Vmware, Inc. Methods and systems to detect and correct outliers in a dataset stored in a data-storage device
RU2694001C2 (en) * 2017-11-24 2019-07-08 Общество С Ограниченной Ответственностью "Яндекс" Method and system for creating a parameter of quality forecast for a forecasting model performed in a machine learning algorithm
CN109495327A (en) * 2018-12-28 2019-03-19 西安交通大学 A kind of User Activity abnormality detection and method for predicting based on big data analysis

Similar Documents

Publication Publication Date Title
US11288602B2 (en) Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models
US11599740B2 (en) Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models
US10417528B2 (en) Analytic system for machine learning prediction model selection
US11631014B2 (en) Computer-based systems configured for detecting, classifying, and visualizing events in large-scale, multivariate and multidimensional datasets and methods of use thereof
US11615348B2 (en) Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models
US8364613B1 (en) Hosting predictive models
WO2019015631A1 (en) Method for generating combined features for machine learning samples and system
Branchi et al. Learning to act: a reinforcement learning approach to recommend the best next activities
Vitui et al. MLASP: Machine learning assisted capacity planning: An industrial experience report
Stødle et al. Data‐driven predictive modeling in risk assessment: Challenges and directions for proper uncertainty representation
Haridasan et al. Arithmetic Optimization with Deep Learning Enabled Churn Prediction Model for Telecommunication Industries.
RU2813245C1 (en) Computer systems, computing components and computing objects, made with possibility of implementing reduction of dynamic deviation caused by outlier values in machine learning models
US20210241040A1 (en) Systems and Methods for Ground Truth Dataset Curation
JP2024504179A (en) Method and system for lightweighting artificial intelligence inference models
Zhang Mathematical modeling of multiscale network traffic combination prediction based on fuzzy support vector machine
Maurice Introduction: big data, auto machine learning, and data streams
US20240119364A1 (en) Automatically generating and implementing machine learning model pipelines
US20230229735A1 (en) Training and implementing machine-learning models utilizing model container workflows
US20220277327A1 (en) Computer-based systems for data distribution allocation utilizing machine learning models and methods of use thereof
US20240086762A1 (en) Drift-tolerant machine learning models
Xu et al. A Model for Predicting IoT User Behavior Based on Bayesian Learning and Neural Networks
CA3202717A1 (en) Intelligent machine learning content selection platform
CN116304607A (en) Automated feature engineering for predictive modeling using deep reinforcement learning