Алгоритм машинного обучения для ранжирования


10

У меня есть набор элементов которые я могу описать в соответствии с n характеристиками. Таким образом:ИксN

Икся:{ся1,ся2,...,сяN}|ИксяИкс

где - (числовая) оценка для элемента i согласно характеристикам j . Поэтому мои элементы можно рассматривать как точки в пространстве n измерений.сяJяJN

Согласно моим показаниям, существуют алгоритмы, такие как «классификатор Байеса», который может дать мне ответ типа «да» или «нет» на любой элемент моего набора, при условии, что я использовал «обучающий набор», состоящий из элементы моего набора и ожидаемый результат работы алгоритма. Основываясь на этих данных, алгоритм должен иметь возможность принимать любой другой элемент, не являющийся частью обучающего набора, и предоставлять ответ «да» или «нет» на основе того, что он узнал благодаря обучающему набору. Это замечательно, если у вас есть какое-то представление о том, что вы ожидаете (тренировочный набор), но вы не уверены в конкретных правилах, которые дают этот результат.

То, что я хотел бы сделать с моими данными, это не получить ответ типа «да» или «нет», но я хотел бы ввести ранжирование в элементах. Некоторые из них "лучше", чем другие. Как и для фильтра Байеса, у меня есть общее представление о том, что я ожидаю. Таким образом, я мог бы создать «рейтинг тренировок», взятый из подмножества моих элементов, которые я бы использовал в MLA. Основываясь на этом обучении, он сможет оценить весь мой набор.

Для этого я вижу два подхода:

  1. Каждый элемент получает оценку MLA, затем ранжирует элементы в соответствии с оценкой.
  2. MLA мог бы взять два элемента и x j и определить, какой из них лучше (парные сравнения). Используйте быструю сортировку, используя эту операцию сравнения.ИксяИксJ

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

Существуют ли примеры MLA, которые могут предоставить функцию оценки или функцию парного сравнения?

сяJ

Так что в настоящее время мой процесс проектирования:

  1. Получить представление о том, каким будет идеальный рейтинг
  2. Попробуйте (вручную) вывести алгоритм, который оценил бы такие элементы
  3. Наблюдать за результатами
  4. Адаптировать алгоритм

Поэтому я подумал о MLA, поскольку отправная точка моего процесса - это то, что можно использовать в качестве обучающих данных. Я, вероятно, начал бы с того, что взял текущее звание, менял предметы в соответствии с моими потребностями и кормил их.

Ответы:


3

Многие алгоритмы классификации уже делают именно то, что вы ищете, но часто представляют свои ответы пользователям в форме бинарного (или n-way) суждения. Например, SVMLight - это реализация алгоритма классификации машин опорных векторов; люди обычно используют это, чтобы сделать двоичные суждения на некотором наборе данных. Тем не менее, то, что происходит под капотом, заключается в том, что алгоритм присваивает подписанным оценкам достоверность данных. Они ограничены от -1,0 до 1,0 и должны использоваться для ранжирования ваших данных!


2

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


0

Я думаю, что вы ожидаете слишком многого от алгоритмов машинного обучения. Компьютер сам не может решить, лучше ли пункт 1, чем пункт 2. Алгоритм машинного обучения может сделать то, что если вы приведете несколько примеров, в которых вы оценили какой-то элемент 1 как лучший, чем элемент 2, тогда он сможет научиться оценивать элементы [1]. Но вам все еще нужны данные обучения, где вы предоставляете примеры предметов и информацию о том, больше ли пункт 1, чем пункт 2, для всех предметов в данных обучения.

[1] http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html


Большое спасибо за ссылку. И я полностью понимаю, что мне потребуется предоставить обучающий набор для алгоритма, чтобы он мог ранжировать последующие элементы.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.