Случайные леса (RF) - это конкурентный метод моделирования / добычи данных.
Модель RF имеет один выход - переменную выход / прогноз.
Наивный подход к моделированию нескольких выходов с RFs должен был бы построить RF для каждой выходной переменной. Таким образом, у нас есть N независимых моделей, и там, где есть корреляция между выходными переменными, у нас будет избыточная / дублирующаяся структура модели. Это может быть очень расточительно. Также, как правило, большее количество переменных модели подразумевает более подходящую модель (меньшее обобщение). Не уверен, что это применимо здесь, но, вероятно, это так.
В принципе, мы могли бы иметь RF с несколькими выходами. Переменная предсказания теперь является вектором (n-кортеж). Узлы решений в каждом дереве решений теперь разделяют набор векторов цели / прогнозирования на основе порогового вектора, я полагаю, что этот порог принят за плоскость в n-мерном пространстве, и поэтому мы можем определить, какая сторона порога вектор каждый из целевых векторов включен.
Оптимальным значением прогноза для каждой стороны разделения решения является среднее значение (центр тяжести), рассчитанное для векторов на каждой стороне.
Нахождение оптимальной точки разделения при работе с отдельными переменными тривиально и вычислительно быстро / эффективно. Для n-кортежа мы не можем найти оптимальное разбиение (или, по крайней мере, оно становится вычислительно неосуществимым при увеличении N), но мы можем найти почти оптимальное разбиение, используя метод типа Монте-Карло (или некоторый гибрид Монте-Карло и локального обход градиента).
Будет ли это на самом деле работать? То есть будет ли он просто отображать тренировочные пары без обобщения? Эта техника уже существует под другим именем?
Возможно, вы также захотите рассмотреть, как это относится к нейронным сетям, таким как машины с ограниченным доступом Больцмана (RBM) и сети Deep Belief.
Ответы:
Множество выходных деревьев решений (и, следовательно, случайных лесов) были разработаны и опубликованы. Pierre Guertz распространяет пакет для этого ( скачать). См. Также Segal & Xiao, Многомерные случайные леса, WIREs Data Mining Knowl Discov 2011 1 80–87, DOI: 10.1002 / widm.12 Я полагаю, что последняя версия Scikit-learn также поддерживает это. Хороший обзор современного уровня техники можно найти в диссертации Хенрика Линуссона, озаглавленной «СЛУЧАЙНЫЕ СЛУЧАЙНЫЕ ЛЕСА». Самый простой способ сделать выбор разделения в каждом узле состоит в том, чтобы случайным образом выбрать ОДНУ из выходных переменных, а затем следовать обычному подходу случайного леса для выбора разделения. Были разработаны другие методы, основанные на взвешенной сумме оценки взаимной информации по каждому входному признаку и выходной переменной, но они довольно дороги по сравнению с рандомизированным подходом.
источник
Как указано здесь :
И это включает в себя случайный лес.
Также на странице: http://scikit-learn.org/stable/modules/tree.html#tree-multioutput есть много ссылок на эту тему.
источник