Вопрос

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

Например, в статье Джона Маккарти Пример понимания естественного языка и возникающих при этом проблем с искусственным интеллектом, он описывает потенциальные проблемы, связанные с тем, чтобы заставить программу разумно отвечать на вопросы о новостной статье в "Нью-Йорк таймс".В разделе 4, "Необходимость немонотонного рассуждения", он обсуждает использование Razer Оккама для ограничения включения фактов при рассуждении об истории.В качестве примера он приводит историю о грабителях, которые преследуют владельца мебельного магазина.

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

Это было полезно?

Решение

Хороший вопрос.

Исходя из вашего вопроса, я думаю, что то, что вы называете "обрезкой", является выполняемым этапом построения модели ex ante--т.е. ограничить входные данные, доступные алгоритму для построения модели.Термин "обрезка", используемый в машинном обучении, относится к чему-то другому - по факту шаг, после построение модели и которое воздействует на саму модель и нет от доступных входных данных.(В области ML может быть второе значение термина "обрезка". of, но я об этом не знаю.) Другими словами, обрезка действительно буквально является методом "ограничения цепочки дедукции", как вы выразились, но она делает это по факту, путем исключения компонентов полной (рабочей) модели, а не путем ограничения входных данных, используемых для создания этой модели.

С другой стороны, изоляция или ограничение входных данных, доступных для построения модели, - это то, что, я думаю, вы могли иметь в виду, - действительно является ключевой темой машинного обучения;очевидно, что это фактор, ответственный за превосходную производительность многих более поздних алгоритмов ML - например, машин с опорными векторами (идея, лежащая в основе SVM, заключается в построении гиперплоскости с максимальным запасом только из небольшого подмножества данных, т.Е. "опорных векторов") и мультиадаптивных регрессионных сплайнов (метод регрессии, в котором не предпринимается попыток подгонки данных путем "рисования по ним одной непрерывной кривой", вместо этого отдельные участки данных подгоняются один за другим, используя ограниченное линейное уравнение для каждой части, т. е. "сплайны ', таким образом, предикатный шаг оптимального разбиения данных, очевидно, является сутью этого алгоритма).

Какую проблему решает обрезка?

По крайней мере, с конкретными алгоритмами ML, которые я фактически закодировал и использовал - деревья принятия решений, MARS и нейронные сети - обрезка выполняется на начальном этапе. модель с завышенной посадкой (модель, которая настолько точно соответствует обучающим данным, что ее невозможно обобщить (точно предсказать новые экземпляры).В каждом случае обрезка включает в себя удаление маргинальных узлов (DT, NN) или членов уравнения регрессии (MARS) один за другим.

Второй, почему обрезка необходима / желательна?

Не лучше ли просто точно установить критерии сходимости / разделения?Это не всегда поможет.Обрезка производится "снизу вверх".;модель строится сверху вниз, поэтому настройка модели (для достижения того же преимущества, что и обрезка) устраняет не только один или несколько узлов принятия решений, но и дочерние узлы, которые (например, обрезка дерева ближе к стволу).Таким образом, устранение маргинального узла могло бы также устранить один или несколько сильных узлов, подчиненных этому маргинальному узлу - но разработчик модели никогда бы этого не узнал, потому что его / ее настройка исключила дальнейшее создание узла в этом маргинальном узле.Обрезка выполняется в другом направлении - от самых подчиненных (низкоуровневых) дочерних узлов вверх в направлении корневого узла.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top