Как фильтровать / сортировать / ранжировать узлы объектной модели?

У меня есть какая-то объектная модель, и мне нужно отфильтровать и отсортировать ее узлы для какого-то свойства. Какие существуют автоматизированные системы для генерации и выбора свойств объектной модели, которые соответствуют тому, что я хочу? (Я намеренно являюсь абстрактным и неконкретным)

Я имею в виду систему, которая работает как спам-фильтры или контролируемые системы классификации, в которой на примере набора данных определены правила, которые находят интересующие узлы. Однако я ищу более общую систему, в которой она не должна требовать никакой информации времени проектирования об объектной модели. Он должен работать одинаково хорошо, как спам-фильтр в электронной почте, поиск ошибок в базе кода, фильтр интересов в группе новостей или поиск учетных записей ботов на сайте социальной сети. Пока он может исследовать объектную модель с помощью отражения и получать набор "интересных" узлов, он должен быть в состоянии найти правила, которые найдут больше таких узлов, как они.

1 ответ

Маловероятно, что существует единая автоматизированная система классификации, которая могла бы выполнять все, о чем вы просите. Кроме того, я считаю, что приложение поиска ошибок выходит за рамки такой системы, поскольку методы, которые успешно используются в этой области, в основном вращаются вокруг синтаксического анализа, анализа потока данных и других алгоритмических методов, в высшей степени приспособленных к проблемам, связанным с ошибками программного обеспечения. Хотя там проводятся исследования в области машинного обучения, системы классификации в этой области в основном используются для дополнения, а не замены аналитических методов (насколько я знаю).

Для большинства нетривиальных задач классификации обычно требуется тщательный отбор и уточнение представления задачи, чтобы получить полезные и эффективные результаты с помощью машинного обучения. Простое использование существующей "необработанной" объектной модели данных без какого-либо специального преобразования пространства состояний приводит к неполному охвату распределения значений входных данных и / или к плохому обобщению изученных классификаторов. Кроме того, другие параметры, специфичные для используемого метода машинного обучения, могут потребовать настройки методом проб и ошибок, чтобы получить достойные результаты для данной проблемы. Не все методы имеют такие параметры, но многие имеют, такие как нейронные сети, генетические алгоритмы, методы байесовского вывода и т. Д.

То, что вы просите, - это почти универсальный метод машинного обучения, который в настоящее время не существует. Наиболее жизнеспособные альтернативы, которые я вижу, - это (1) найти подмножество различных проблем, для которых это не будет требуемый уровень возможностей / сложности, или (2) создать систему, которая использует не только один метод классификации, но скорее имеет набор инструментов различных методов, которые он автоматически проверяет на предмет данной проблемы, а затем использует тот, который генерирует наилучшие результаты классификации в контролируемом режиме обучения. Последнее по-прежнему будет довольно сложной задачей для эффективного осуществления, хотя и не устраняет проблему того, как представлять / преобразовывать пространство состояний для модели данных.

Другие вопросы по тегам