Требуются рекомендации по получению оптимальных параметров конфигурации для приложения C# - возможно, проблема в обучении - PullRequest
1 голос
/ 10 февраля 2020

Вот моя ситуация:

В моей компании есть небольшое консольное приложение C# с файлом конфигурации. В этом файле конфигурации примерно 20 параметров калибровки для нашего оборудования (устройства измерения вибрации). Мы go выполняем ручной процесс, в котором мы используем собственные знания для ручной настройки параметров калибровки, выполнения тестового прогона, повторной настройки и повторения, пока мы не получим правильные параметры калибровки. По сути, это человеческое существо.

Теперь это немного неэффективно и отнимает много времени, и я не могу не думать, что этот процесс можно автоматизировать. Тем не менее, я не уверен, правильно ли я думаю об этом и какие методы мне доступны, чтобы попытаться решить эту проблему.

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

Мне кажется, это какая-то проблема обучения или нейронной сети, и я мог бы, возможно, провести рефакторинг код, чтобы как-то использовать это. Однако я не уверен, так ли это на самом деле.

Исходя из вышеизложенного, какую подходящую технику использовать здесь? Что доступно в C#, чтобы облегчить это?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Звучит как версия «настройки гиперпараметров». Например, вы можете использовать библиотеку hyperopt , чтобы помочь вам быстрее найти оптимальное решение. Вы можете увидеть пример здесь .

1 голос
/ 12 февраля 2020

Эта проблема кричит для алгоритма c. Например, вы можете попробовать GeneticSharp для быстрого и простого способа достичь желаемого. Каждый параметр, который должен быть оптимизирован, будет отдельным FloatingPointChoromosome .

...