Таким образом, у нас есть потенциал для приложения машинного обучения, которое довольно точно вписывается в традиционную проблемную область, решаемую классификаторами, то есть у нас есть набор атрибутов, описывающих элемент, и «корзина», в которой они заканчиваются. Однако вместо того, чтобы создавать модели из вероятностей, как в наивных байесовских или аналогичных классификаторах, мы хотим, чтобы наш вывод был набором примерно понятных человеку правил, которые могут быть просмотрены и изменены конечным пользователем.
Изучение правил ассоциации выглядит как семейство алгоритмов, решающих проблему этого типа, но эти алгоритмы, похоже, сосредоточены на выявлении общих комбинаций функций и не включают в себя концепцию окончательного сегмента, на которую могут указывать эти функции. Например, наш набор данных выглядит примерно так:
Item A { 4-door, small, steel } => { sedan }
Item B { 2-door, big, steel } => { truck }
Item C { 2-door, small, steel } => { coupe }
Я просто хочу правила, которые говорят: «если это большой и 2-дверный, это грузовик», а не правила, которые говорят: «если это 4-дверный, это тоже маленький».
Один из обходных путей, который я могу придумать, состоит в том, чтобы просто использовать алгоритмы обучения правилам ассоциации и игнорировать правила, которые не включают в себя конечный сегмент, но который кажется немного хакерским. Я пропустил некоторое семейство алгоритмов там? Или, возможно, я неправильно подхожу к проблеме?