2016-12-02 3 views
2

Мне нужна ориентация на проблему, которую я пытаюсь решить. Все будет оценено, ключевое слово для Google или какое-то указание!Модель ML для прогнозирования ранжирования (произвольный порядок списка)

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

Например, если я даю следующий список элементов (a, b, c, d, e) функции ранжирования, я получаю (e, a, b, d, c). Вот что, я не знаю, как работает функция ранжирования. Единственное, что у меня есть, это список из 5 элементов (например, 5, это может быть любое число больше 1), особенности каждого элемента и результат функции ранжирования.

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

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

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

attribute a score = 1/3 * (x1 + x2 + x3) to each item and sort by descending score

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

Заранее благодарен!

ответ

1

Это может рассматриваться как проблема с регрессией со следующим трюком: вам предоставляется 5 предметов с 5 векторами функций, а функция «черного ящика» выводит 5 различных оценок как [1, 2, 3, 4, 5]. Рассматривайте их как непрерывные значения. Таким образом, вы можете думать о своей функции как о работе, взяв пять различных входных векторов x1, x2, x3, x4, x5 и выведя пять скалярных целевых переменных t1, t2, t3, t4, t5, где целевыми переменными для вашего обучающего набора являются забивает предметы. Например, если ранжирование для одного образца (x1,4), (x2,5), (x3,3), (x4,1), (x5,2), то установите t1 = 4, t2 = 5, t3 = 3, t4 = 1 и t5 = 2. MLP имеют возможность «универсальной аппроксимации» и имеют функцию черного ящика, они могут приближать ее произвольно близко, в зависимости от количества скрытых единиц. Итак, создайте 2-слойный MLP со входом в качестве пяти векторов функций и выходов в качестве пяти ранговых баллов. Вы собираетесь минимизировать функцию квадратов ошибок, функцию классической регрессии. И не используйте какой-либо термин регуляризации, так как вы попытаетесь подражать детерминированной функции черной лисицы, нет никаких случайных шумов, присущих выходам этой функции, поэтому вы не должны бояться каких-либо проблем с переобучением.

+0

Спасибо за ваш ответ. Я немного потерялся с последней частью, где вы говорите, что единицы вывода действуют как рейтинговые оценки. Означает ли это, что первый модуль вывода отображает оценку первого входного вектора, второй выходной блок предназначен для оценки второго входного вектора, ...?Или наоборот, когда первый выходной блок всегда отображает «1», второй - «2», ...? – Anjou

+1

Это первый, первый вывод дает оценку первого входного вектора и так далее. –

1

Поскольку есть неизвестная функция, которая генерирует выходные данные, это проблема с регрессией. Нейронная сеть с 2 скрытыми слоями и, например, sigmoid может узнать любую произвольную функцию.

+0

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

Смежные вопросы