В настоящее время я пытаюсь разработать алгоритм генетического программирования, который анализирует последовательность символов и присваивает значение этим символам. Ниже я составил примерный набор. Каждая строка представляет собой точку данных. Значения, которые проходят обучение, являются реальными.
Пример:
Для слова ABCDE
алгоритм должен возвращать 1.0.
Пример набора данных:
ABCDE : 1
ABCDEF : 10
ABCDEGH : 3
ABCDELKA : 50
AASD : 3
Набор данных может быть настолько большим, насколько это необходимо, так как все это просто составлено. Предположим, что правило, которое GP должен выяснить, не является слишком сложным и объясняется его данными.
То, что я хотел бы, чтобы алгоритм выполнял, - это аппроксимировать значения из моего набора данных при заданной входной последовательности. Моя проблема заключается в том, что каждая последовательность может состоять из другого числа символов. Я бы предпочел не писать какие-то причудливые дескрипторы, если это возможно.
Как я могу обучить своего GP (желательно используя tinyGP
или python) для создания этой модели?
Поскольку здесь было так много дискуссий - диаграмма говорит тысячу слов: То, что я хочу сделать, это просто поставить точку данных и включить ее в функцию. Затем я получаю значение, которое является моим результатом. К сожалению, я не знаю эту функцию, у меня просто есть набор данных, который содержит несколько примеров (может быть, 1000 примеров - пример). Теперь я использую алгоритм генетического программирования, чтобы найти Алгоритм, который способен преобразовать мой Datapoint в результат. Это моя модель. Проблема, которую я имею в этом случае, состоит в том, что точки данных имеют разную длину. Для заданной длины я могу просто указать каждый из символов в строке в качестве входного параметра. Но бьет меня, что делать, если меняет количество входных параметров.
Отказ от ответственности: я несколько раз сталкивался с этой проблемой во время учебы, но мы никогда не смогли бы разработать решение, которое будет хорошо работать (например, с помощью окна, дескрипторов и т.д.). Я хотел бы использовать GP, потому что мне нравится эта технология и вы хотите ее попробовать, но в Uni мы также пробовали это с помощью ANN и т.д., Но безрезультатно. Остается проблема с размером входного параметра.