Как оценить миллион изображений с crowdsourced видом

Используйте sed, но пусть оболочка выполнит математику, с целью использовать команду d, указав диапазон (чтобы удалить последние 23 строки):

sed -i "$(($(wc -l < file)-22)),\$d" file

Чтобы удалить последние 3 строки изнутри:

$(wc -l < file)

Дает количество строк файла: say 2196

Мы хотим удалить последние 23 строки, поэтому для левая сторона или диапазон:

$((2196-22))

Дает: 2174 Таким образом, исходный sed после интерпретации оболочки:

sed -i 2174,$d file

С -i, выполняющим редактирование на месте, теперь файл имеет 2173 строк !

83
задан Svante 7 May 2009 в 17:16
поделиться

10 ответов

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

проблема с метод A-B Выбора - то, что не гарантировал для системы, что был переходным (Удар банки B, но B бьет C, и C бьет A). Имеющие непереходные повреждения операторов сравнения, сортирующие алгоритмы . С quicksort, против этого примера, буквы, не выбранные, поскольку, центр будет неправильно оцениваться друг против друга.

В любой момент времени, Вы хотите абсолютный рейтинг всех изображений (даже если некоторые/все они связываются). Вы также хотите, чтобы Ваш рейтинг не изменился , если кто-то не голосует .

я использовал бы Выбор A-B (или связь) метод, но определил бы рейтинг, подобный система оценок Elo , который используется для рейтингов в 2 играх плеера (первоначально шахматы):

система оценки плеера Elo сравнивает записи соответствия players’ с их записями соответствия opponents’ и определяет вероятность плеера, выигрывающего матч. Этот фактор вероятности определяет, сколько точек оценка players’ повышается или вниз на основе результатов каждого соответствия. Когда игрок побеждает противника с более высокой оценкой, оценка player’s повышается больше, чем если бы он победил игрока с более низкой оценкой (так как игроки должны победить противников, у которых есть более низкие оценки).

Система Elo:

  1. Все новые плееры начинают с основной оценкой [1 121] 1600
  2. WinProbability = 1 / (10^ ((Opponent’s Текущий Rating†“Номинальный ток Player’s)/400) + 1)
  3. ScoringPt = 1 точка, если они выигрывают состязание, 0, если они проигрывают, и 0.5 для ничьей.
  4. Новая Оценка Player’s = Player’s Старая Оценка + (Коэффициент теплопроводности * (ScoringPt†“Вероятность Победы Player’s))

Замена "плееры" с изображениями и у Вас есть простой способ скорректировать оценку обоих изображений на основе формулы. Можно тогда выполнить рейтинг с помощью тех числовых очков. (Коэффициентом теплопроводности вот является "Уровень" турнира. Это 8-16 для небольших локальных турниров и 24-32 для большего invitationals/regionals. Можно просто использовать константу как 20).

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

РЕДАКТИРОВАНИЕ: Добавленный немного больше сути на основе комментариев.

94
ответ дан endolith 24 November 2019 в 08:50
поделиться

Большинство наивных подходов к проблеме имеет некоторые серьезные проблемы. Худшее - то, как bash.org и кавычки дисплеев qdb.us - пользователи могут проголосовать за кавычку (+1) или вниз (-1), и список лучших кавычек отсортирован по общему сетевому счету. Это страдает от ужасной предвзятости времени - более старые кавычки накопили огромные числа положительных голосов через простую долговечность, даже если они являются только незначительно юмористическими. Этот алгоритм мог бы иметь смысл, если бы шутки стали более забавными, когда они стали старше, но - доверяют мне - они не делают.

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

лучшее решение - я думаю - тот что веб-сайты Самое Забавное Самое Милое , Самое Справедливое , и Лучшая Вещь использование - измененная система голосования Condorcet :

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

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

Для получения дополнительной информации о реализации таких систем страница Wikipedia на Оцениваемые Пары должны быть полезными.

алгоритм требует, чтобы люди сравнили два объекта (Ваша опция Pick-A-or-B), но откровенно говоря, это - хорошая вещь. Я полагаю, что очень хорошо признано в теории решений, что люди значительно лучше в сравнении двух объектов, чем они при абстрактном рейтинге. Миллионы лет эволюции делают нас хорошими в выборе лучшего яблока от дерева, но ужасный при решении, как тесно яблоко мы выбрали, рубит к истинной платонической Форме appleness. (Это, между прочим, почему Аналитический Процесс Иерархии так изящен..., но это добирается немного вне темы.)

Один конечный пункт для создания - то, который ТАК использует алгоритм для нахождения лучших ответов, который очень похож на bash.org алгоритм для нахождения лучшей кавычки. Это работает хорошо здесь, но перестало работать ужасно там - в значительной степени, потому что старое, очень расчетное, но теперь устаревший ответ здесь, вероятно, будет отредактирован. bash.org не позволяет редактировать, и не ясно, как Вы даже пошли бы о редактировании старых десятилетием шуток о теперь датированных интернет-мемах, даже если Вы могли... В любом случае моя точка - то, что правильный алгоритм обычно зависит от деталей Вашей проблемы.:-)

40
ответ дан endolith 24 November 2019 в 08:50
поделиться

Мне не нравится стиль Hot-Not . Различные люди выбрали бы различные числа, даже если бы им всем понравилось изображение точно то же. Также я очень не хочу оценить вещи из 10, я никогда не знаю который число выбрать.

A-B Выбора намного более прост и funner. Вы добираетесь для наблюдения двух изображений, и сравнения сделаны между изображениями на сайте.

8
ответ дан Jeremy Ruten 24 November 2019 в 08:50
поделиться

Эти уравнения от Википедия делает его более простым/больше эффективный для вычисления оценок Elo, алгоритм для изображений A и B был бы прост:

  • Получают Ne, мА, МБ и РА оценок, RB от Вашей базы данных.
  • Вычисляют KA, КБ, QA, QB при помощи количества сравнений, выполненных (Ne) и количество раз, что изображение было сравнено (m) и номинальные токи:

K

QA

QB

  • Вычисляют EA и EB.

EA

EB

  • Счет S победителя: победитель как 1, проигравший как 0, и если Вы закуриваете как 0,5,
  • , Вычисляет новые оценки для обоих использований: New Rating

  • Обновление новый РА оценок, RB и мА количеств, МБ в базе данных.

5
ответ дан Community 24 November 2019 в 08:50
поделиться

Можно хотеть пойти с комбинацией.

Первая фаза: стиль Hot-not (хотя я пошел бы с 3 голосованиями опции: Сосет, Meh/OK. Охладитесь!)

, Как только Вы отсортировали набор в эти 3 блока, тогда я выбрал бы два изображения от того же блока и пошел бы с, "Который более хорош",

Вы могли тогда использовать английскую систему Футбола продвижения и понижения в должности для перемещения вершины, которую немногие "Сосут" в регион Meh/OK для совершенствования пограничных случаев.

4
ответ дан Chris Cudmore 24 November 2019 в 08:50
поделиться

Рейтинг 1-10 не будет работать, у всех есть разные уровни. Кому-то, кто всегда дает 3-7 оценок, затмили бы его рейтинги люди, которые всегда дают 1 или 10.

a-b более осуществим.

4
ответ дан Bill K 24 November 2019 в 08:50
поделиться

Более не существующий веб-сайт whatsbetter.com использовал метод стиля Elo . Можно читать о методе в их FAQ на интернет-Архиве .

2
ответ дан endolith 24 November 2019 в 08:50
поделиться

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

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

Сортировка 1 миллиона целочисленных списков очень быстра и возьмет меньше, чем секунда на современном компьютере.

Однако проблема скорее плохо изложена - Вам потребуются 50 дней для показа каждого изображения только однажды.

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

1
ответ дан Owen 24 November 2019 в 08:50
поделиться

Мне нравится опция быстрой сортировки, но я бы сделал несколько поправок:

  • Сохраните результаты «сравнения» в базе данных, а затем усредните их.
  • Получите более одного для сравнения на просмотр, предоставив пользователю 4-6 изображений и попросив их отсортировать их.
  • Выберите изображения для отображения, запустив qsort и записав и обрезав все, о чем у вас недостаточно данных. Затем, когда у вас будет записано достаточно записей, выплюните страницу.

Другой забавный вариант - использовать толпу для обучения нейронной сети.

1
ответ дан 24 November 2019 в 08:50
поделиться

Я знаю, что этот вопрос довольно старый, но я подумал, что внесу свой вклад

Я посмотрю на систему TrueSkill, разработанную в Microsoft Research. Это похоже на ELO, но имеет гораздо более быстрое время сходимости (выглядит экспоненциально по сравнению с линейным), поэтому вы получаете больше от каждого голосования. Однако с математической точки зрения это сложнее.

http://en.wikipedia.org/wiki/TrueSkill

11
ответ дан 24 November 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: