2009-11-01 3 views
5

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

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

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

P.S. Это вопросы с множественным выбором.

Все это хорошие предложения. Спасибо! Я хочу, чтобы был способ переполнения стека, чтобы выбрать несколько правильных ответов, чтобы вы могли быть признаны за ваши вклады!

+0

Есть ли вопросы открытыми или несколькими вариантами? Являются ли они субъективными или объективными, как правило, одним правильным ответом? –

+0

у них вопрос с множественным выбором – Ralph

ответ

2

Я считаю, что вы описали, используя outlier/anomaly detection. ряд методов существуют:

  • статистические методы, основанные на
  • заочные методы, основанные на
  • модели на основе методов

Я предлагаю вам взглянуть на эти slides из замечательной книги Introduction to Data Mining

+0

Спасибо всем за ваши предложения !!! – Ralph

0

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

Но в любом случае, учитывая, что вы все еще хотите это сделать, вам в первую очередь понадобится большой набор данных от «доверенных» избирателей. Это даст вам представление о «хорошем» ответе, и с этого момента вы можете выбрать порог исключения.

Без начального набора данных вы не можете применить какой-либо алгоритм, потому что вы получите ложные результаты. Рассмотрим только один голос из 100 по шкале от 0 до 100. Второе голосование - «1». Вы исключаете это голосование, потому что слишком далеко от среднего.

+1

Из того, что я понял, это больше проблема ** обнаружения outiler **. – Amro

0

Я думаю, что довольно простой алгоритм может выполнить это для вас. Вы могли бы попытаться стать более привлекательным, вычислив стандартные отклонения и т. Д., Но я бы не стал беспокоиться.

Вот простой подход, который должен быть достаточным:

Для каждого из пользователей, вычислить количество вопросов они ответили и сколько раз они выбрали самый популярный ответ на вопрос. Пользователи, которые имеют самое низкое отношение к выбору популярного ответа в сравнении с общими ответами, которые вы можете угадать, предоставляют фиктивные данные.

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

0

Какие вопросы они (да/нет или от 1 до 10?).

Возможно, вам удастся избежать ненужного использования, используя среднее значение, а не среднее. Со средними значениями, если в ответе есть крайние выбросы, это может повлиять на среднее значение, но если вы используете медианную, вы можете получить лучший ответ. Так, например, если у вас было 5 ответов, закажите их и выберите средний.

+2

Среднее значение - среднее. Вы имели в виду сказать «медианный, а не средний»? – erickson

+0

@erickson, да я имел в виду медианную, извините за исправление – Jeremy

3

Прочитано The Elements of Statistical Learning, это отличный сборник по добыче данных.

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

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

0

Я думаю, что вы говорите, что вы обеспокоены тем, что определенные люди являются «выбросами», и они добавляют шум к вашим данным, что делает категоризацию менее надежной. Итак, если у вас есть Chevy Camaro, и большинство людей говорят, что это либо автомобиль пони, автомобиль для мускулов, либо спортивный автомобиль, но у вас есть какой-то goofball, который говорит, что это семейный седан, вы хотели бы свести к минимуму влияние его голос.

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

  • Чем больше пользователь «в согласии» с другими пользователями, тем лучше его или ее оценка будет. Для данного пользователя (Пользователь X) это можно определить простым вычислением того, какой процент пользователей, которые ответили на вопрос, выбрал ту же категорию, что и пользователь X, а затем усреднил это значение по всем ответившим на вопрос.
  • Возможно, вы захотите умножить это значение на общее количество вопросов, которые будут отвечать, чтобы побудить людей отвечать на как можно большее количество вопросов. (Примечание: если вы решите сделать это, это будет эквивалентно простому суммированию процентных баллов по соглашению, а не усреднению их.)
  • Вы можете представить конечную оценку репутации пользователям, убедившись, что они будут вознаграждены за насколько хорошо их ответы согласуются с ответами других пользователей. Это побудит людей отвечать на другие вопросы, а также заботиться о своих ответах.
  • И, наконец, вы можете рассчитать показатель определенности для данной категоризации, объединив общую оценку репутации всех людей, которые выбрали данную категорию.

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

+0

спасибо @DanThMan! – Ralph

0

Если бы вы собирали голоса, такие как «по шкале от 1 до 10, как бы вы оценили этот автомобиль», ly использовать простое среднее и стандартное отклонение: чем меньше стандартное отклонение, тем более единодушным является общий консенсус среди ваших избирателей, и вы можете отметить пользователей, которые являются, например, 3 стандартных разработчика из среднего.

Для множественного выбора вам нужно быть более внимательным. Просто отказ от всех, кроме самого проголосовавшего варианта, ничего не сделает, кроме разочарования избирателей. Вам нужно определить, насколько значительным является победитель w.r.t. другие варианты, например. которые пользователи проголосовали за варианты с менее чем 1/3 из выигрышных вариантов.

Отметьте, что я написал «пользователи флага», не отказаться от голосов. Если вы отбрасываете голоса, вы не можете сказать, насколько вы уверены в своем результате («91% проголосовали за это, как Ford Mustang»). Если у пользователя есть более чем определенный процент его голосов, помеченных - ну, это зависит от вас.

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

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