Как спроектировать функции [закрытого] машинного обучения

32
задан dmcer 20 April 2010 в 22:11
поделиться

1 ответ

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

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

Подгонка функций к вашему классификатору

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

Точно так же SVM могут плохо работать, если некоторые входные переменные принимают гораздо больший диапазон значений, чем другие (например,, большинство функций принимают значения от 0 до 1, но одна функция принимает значения от -1000 до 1000). Итак, когда вы разрабатываете функции для SVM, вы можете попробовать нормализовать значения ваших функций, прежде чем передавать их классификатору. Однако, если вы используете деревья решений или случайные леса , такая нормализация не требуется, поскольку эти классификаторы устойчивы к различиям в величине между значениями, которые принимают различные функции.

Примечания, касающиеся решения головоломок

Если вы хотите решить проблему со сложным пространством состояний, вы можете использовать подход обучения с подкреплением , например Q-обучение ]. Это помогает структурировать учебные задачи, которые включают в себя достижение определенной цели посредством ряда промежуточных шагов системы.

48
ответ дан 27 November 2019 в 20:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: