Здесь можно построить свой Яндекс, с блек-джеком и шлюхами.
Тем, кто занимается (или интересуется) машинным обучением, рекомендую заглянуть. Если что-то в формулировке задачи окажется непонятным - отвечу на вопросы здесь в комментариях.
У участников конкурса есть Данные, основанные на реальных событиях. Это некие признаки пары (запрос к поисковой машине, web-страница). Такие признаки вычисляются Яндексом в процессе обработки запроса, после чего на их основании наша яша решает, хорошо эта страница отвечает на запрос, и ее надо поставить на первое место, или плохо, и ее надо поставить на 82-ю страницу.
Такие ранжирующие признаки в Данных приведены для нескольких десятков тысяч пар (запрос, web-страница). Среди них есть что-то вроде PageRank, есть числа, имеющие смысл "насколько текст документа похож на текст запроса", есть классификаторы потенциального спама, ну и всякие другие числа, которые, по идее, в совокупности должны с какой-то точностью дать ответ на вопрос "насколько хорошо документ отвечает на запрос, и почему мы так считаем". Чтобы не раскрывать всякое мерзким поисковым оптимизаторам, в табличке, которую скачивают участники конкурса, приводятся "просто числа", без каких-либо объяснений. То есть нет ни текстов запросов, ни url'ов, ни названий признаков - только цифры. Примерно для половины пар приводится также оценка, которую паре выставил человек. Это тестовая выборка, по которой следует обучать свои алгоритмы.
В итоге каждой команде нужно придумать некую формулу или правило, согласно которому приписать каждой паре (запрос, документ) в тестовой выборке некоторое число (ранг). Документы затем ранжируются в соответствии с этим числом, и для каждого запроса получается "выдача". Ее качество оценивается: чем больше в топе разумных ответов, тем лучше. Нам всем тут кажется, что ранжирующие формулы лучше все-таки не "придумывать", а обучать при помощи тех или иных методов machine learning'а; но в принципе, правила не запрещают сделать все вручную.
В конкурсе побеждает тот, кто припишет парам (запрос, документ) числа, ранжирующие документы наиболее разумным образом.
Простейший подход - попытаться (при помощи регрессии или еще как-то) научиться "угадывать", какую оценку поставил бы человек данной паре. Но это вовсе не единственный, и даже не обязательно самый правильный метод. Мы тут в отделе качества поиска думаем, что знаем несколько способов, которые работают гораздо лучше. Можете попробовать нас разубедить.
Итак, последовательность действий:
1. Регистрируетесь
2. Скачиваете данные
3. Учитесь парсить их формат, смотрите на них "глазками", используете голову и разные мощные тулзы
4. ?????????????
5. Формируете результаты и отсылаете их (это можно делать несколько раз). Видите в режиме "почти реального времени" свою оценку и оценки других участников. При необходимости повторяете пп.3-5 любое количество раз.
6. PROFIT!
Бонусные хинты для тех, кто дочитал аж до сих пор.
1) Прежде чем кодить, почитайте интернеты, чтобы убедиться, что по крайней мере все термины, упомянутые в правилах, вам ясны.
2) Не переобучайтесь. Если оценка на learn'е улучшается, это вовсе не значит, что улучшится оценка на test'е. Даже если улучшается оценка и на learn'е, и на public-test'е, это все еще не говорит о том, что вы действительно научились ранжировать, а не обманываете сами себя каким-то хитрым образом. Если это вдруг так, то final test при подведении итогов это покажет. Если вы не знакомы с проблемой переобученности, см п.1
3) Не переусложняйте. Прежде чем перебирать утонченные ядра в экзотических вариантах SVM, попробуйте сначала какую-нибудь простую регрессию, ковариационный анализ, ну или кластеризуйте все по-быстренькому. Это недолго, а у вас появится и вменяемый результат, и baseline для понимания того, какой результат хорош, а какой не очень.
4) Некоторые переменные зависят только от документа (например, PageRank), некоторые - только от запроса (например, классификатор: "хотел ли пользователь найти порно"), некоторые - и от того, и от другого. Не игнорируйте это.
Удачи.
Update. Пропустили epic fail. В чем он состоял, не скажу, но данные пришлось поменять на новую порцию, соответственно, текущий рейтинг был сброшен. Смысл соревнования не изменился, новые данные доступны для скачивания, можно продолжать.
March 10 2009, 18:19:30 UTC 3 years ago
March 10 2009, 18:42:24 UTC 3 years ago
Насколько это критично?
March 10 2009, 18:42:45 UTC 3 years ago
3 years ago
3 years ago
3 years ago
March 10 2009, 20:35:46 UTC 3 years ago
March 11 2009, 06:17:26 UTC 3 years ago
Anonymous
March 11 2009, 09:51:29 UTC 3 years ago
А как-то выставляются реперные точки, на что ориентироваться?
Например, нынешний поиск яндекса - прогнать по нему, как бы научиться с ним сравнивать результаты?
March 11 2009, 10:38:56 UTC 3 years ago
А так, есть рейтинг решений - и хорошо. Вот сейчас есть две команды, показавшие 6.534 (обе вне конкурса). Обгоняйте. А из конкурсных команд пока что даже baseline никто не преодолел. Если такой уровень выступлений сохранится, то участие в данном конкурсе - простейший из известных мне способов заработать 30К. :)
"Яндекс прогнать" - не очень корректная процедура в данном случае (в задаче старый набор признаков, сейчас они уже немного другие, и их больше; да и кроме вычисления цифирки Яндекс довольно много чего еще в момент ранжирования делает). Можно было бы потратить несколько часов и обучить какую-нибудь формулу нашими методами. Может, и соберемся.
Anonymous
3 years ago
3 years ago
Anonymous
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
Anonymous
March 11 2009, 11:38:29 UTC 3 years ago
March 11 2009, 12:08:35 UTC 3 years ago
Deleted comment
March 11 2009, 15:12:58 UTC 3 years ago
Сайт не идентифицируется никак.
Т.е. по сути это да, "строчки чисел с неизвестным смысловым содержанием".
March 11 2009, 19:10:37 UTC 3 years ago
March 11 2009, 19:16:09 UTC 3 years ago
Anonymous
3 years ago
3 years ago
March 11 2009, 21:59:05 UTC 3 years ago
Ты охуел, чмошник?
March 12 2009, 05:30:20 UTC 3 years ago
Anonymous
3 years ago
3 years ago
Anonymous
March 12 2009, 09:31:36 UTC 3 years ago
вы неправильные люди.
Ссыкотно написать на странице конкурса, мол, мы ошиблись, данные изменились, скачайте данные заново?
Загружаю данные - говорит, неправильное число строк :( \
Или напишите там на сайте, что мол, наш официальный представилтль - plakhov
не все же знают
March 12 2009, 09:37:01 UTC 3 years ago
Зачем стерли упоминание о том, что данные изменились, и вообще зачем там все так кратко - не знаю. По недосмотру, думаю. Попробую пнуть кого-нибудь на эту тему.
Anonymous
3 years ago
Anonymous
March 12 2009, 10:34:40 UTC 3 years ago
С чем это связано?
March 12 2009, 12:04:13 UTC 3 years ago
Число доступных параметров изменилось только потому, что данные теперь взяты из другой выборки, т.е. никакого глубинного смысла в этом нет.
Anonymous
March 12 2009, 11:56:12 UTC 3 years ago
что-то у вас там странно...
заливаю тот же файл, где все оценки умножены на коэффициент - ничего не меняется
что-то сломалось?
March 12 2009, 12:01:56 UTC 3 years ago
Ранжирование не меняется от того, что все оценки умножаются на одно и то же число (и вообще от применения монотонной функции), поэтому и метрика не поменяется - она ведь зависит только от порядка следования документов.
Цель - не "угадать оценку", а "правильно упорядочить".
Рекомендую также внимательнее взглянуть на формулу тут http://company.yandex.ru/grant/2009/dat
Anonymous
3 years ago
3 years ago
March 12 2009, 12:37:36 UTC 3 years ago
TOP: 2009-03-12 15:40
Вы попали в top30 на яндексе самых обсуждаемых тем в блогосфере. Поэтому копия вашего поста доступна в ленте по ссылкеПочитать текст со всеми комментариями можно тут
Это Ваш 2-й ТОПовый пост за последний год. Посмотреть статистику автора можно тут.
Кризиса нет, есть Блогун © НадежныйИсточник
Anonymous
March 12 2009, 13:09:27 UTC 3 years ago
Кстати: а где читать описание бейслайна? я не нашел...
Anonymous
March 12 2009, 14:27:52 UTC 3 years ago
3 years ago
Anonymous
3 years ago
3 years ago
3 years ago
Anonymous
3 years ago
3 years ago
Anonymous
3 years ago
3 years ago
March 12 2009, 16:10:45 UTC 3 years ago
March 12 2009, 20:17:14 UTC 3 years ago
3 years ago
Deleted comment
March 13 2009, 06:30:47 UTC 3 years ago
не говорите нам что нам надо делать и мы не будем вам говорить, куда вам надо идти :)
Anonymous
March 12 2009, 23:38:59 UTC 3 years ago
а в строках 45 и 47 стоит оценка 0.5. это как понимать? таки классов больше, чем пять?
March 19 2009, 23:40:53 UTC 3 years ago
.=. // вот этой строчкой в ФБН сказано что релевантность это непрерывная величина
3 years ago
Anonymous
March 13 2009, 02:23:56 UTC 3 years ago
Тут нет никаких подводных камней? Т.е. эта пара «запрос-документ» действительно характеризуется данным признаком, и эта характеристика имеет значение 0. Или, например, данный признак неприменим к этой паре «запрос-документ», или применим, но значение характеристики неизвестно?
March 13 2009, 07:09:18 UTC 3 years ago
Вместо того, чтобы просто сесть и решить -- пускай не быть первым, но хотя бы что-то сделать, попробовать один из методов statistical learning на задачах с таким числом параметров это дело одного дня (просто чтобы начать работать) , если не знаешь, то изучить -- дело ведь очень интересное, народ начинает скалиться и не очень умно шутить
Baseline это яндекс (как нетфликс, у них заморож на определ день)?
March 13 2009, 07:46:04 UTC 3 years ago
3 years ago
3 years ago
March 13 2009, 07:23:09 UTC 3 years ago
меня глючит?
$ grep "^0\." ./../../data/imat2009_learning.txt | awk '{print $1}' | head0.5
0.5
0.25
0.25
0.25
0.25
0.25
0.25
0.5
0.5
А в задании говорится, что все оценки из множества {1,2,3,4}.
Запрос, например, 11547.
March 13 2009, 08:05:30 UTC 3 years ago
Re: меня глючит?
ок, в описании формата написано float.Но вот интересно, 0.5 и 0.75 - менее релевантно, чем 1?
Или это просто на 4 забыли умножить?
3 years ago
3 years ago
3 years ago
Anonymous
March 13 2009, 08:11:26 UTC 3 years ago
Все-таки насчет "прогнать через яндекс".
очень-очень хочется такое видеть. Яндекс более умный, использует больше параметров, еще что-то считает, да? Ну и пусть. Значит, должен отранжировать правильнее и лучше.
Всего-то и дел - прогнать набор запросов с ограничениями по урлам, отранжированный порядок вывалить в файл.
Настойчиво предлагаю такой параметр ввести.
Если, конечно, не боитесь, что получится хуже, чем у людей :)
March 13 2009, 14:47:04 UTC 3 years ago
- возможность отмечать удачный поиск
- добавить 10+random(random(30))% случайных результатов с любым ненулевым рейтингом на случайные места
March 13 2009, 14:49:35 UTC 3 years ago
3 years ago
3 years ago
Deleted comment
March 14 2009, 20:22:15 UTC 3 years ago
March 19 2009, 23:46:10 UTC 3 years ago
формат тестовой выборки не очень ясен
что значит в начале некоторых строчек "-1" в тестовой выборке??? я так полагаю что это какой-то глюк потому как в тестовой выборке должны быть пары признак:значениеMarch 23 2009, 01:45:44 UTC 3 years ago
Re: формат тестовой выборки не очень ясен
а минус один это неоцененная релевантностьAnonymous
April 11 2009, 08:38:31 UTC 3 years ago
Ошибка?
У вас в обучающем файле "imat2009_learning.txt", для всех 97290 строк с обучающими запросами, значение 78-го признака равно единице. Это значит, что этот признак ни на что не влияет, или есть какой-то подвох?April 11 2009, 08:57:52 UTC 3 years ago
Re: Ошибка?
Значит, ни на что не влияет. :)Если точнее, это может значить, что этот признак - классификатор, который очень редко принимает другие значения, и в данную обучающую выборку такие примеры просто не попали. Насколько я знаю, при подготовке данных они не проверялись на отсутствие подобных стечений обстоятельств. Впрочем, по понятным причинам, такой классификатор все равно мало чем помог бы.
Anonymous
3 years ago