UZPN: А насчет качества оценки асессором:
да оценка наверное достаточно точная в том смысле что асессор достаточно точно говорит релевантен документ или нет. Т.е. выставляет ему оценку, 1 или 0 (ну или например 1 0,5 0 ). Но сама эта оценка уже содержит в себе огромную неточность: он не может одному релевантному документу поставить 0.9, другому 0.8, а третьему 0.7 - всем ставит 1. Т.е. если например у асессора всего два варианта оценки 0 и 1 то ошибка составляет 50% (если у него больше вариантов то погрешность меньше).
А, так Вы забыли, что релевантность с т.з. Яндекса и релевантность с Вашей т.з. - это как бы разные вещи. Мастерство асессоров и хорошая инструкция позволяют достаточно точно оценить документ с точки зрения этой инструкции. Все релевантные документы получают свою единицу и на этом все. Никакого ранжирования между ними, типа этому поставим 0.9, а тому - 1.05, асессоры не делают.
До переобучения методу еще далеко, так как пока есть красивые методы, чтобы до этого не довести.
UZPN: Если я правильно Вас понял свое мнение о высокой плотности значений ф.рел. в топах Вы основываете на том что "почти наверняка критерий качества жесткий" (причем настолько жесткий что значения ф.рел. на обучающей выборке для релевантных сайтов равны 1+-нано).
Ну да.
UZPN: 1. А зачем ему быть жестким?
Если функция подгоняется жестко, то это же лучше. :)
UZPN: 2. Как видно из примера приведенного выше жесткость критерия "обученности" алгоритма можно получить только увеличивая "подробность" модели. При этом с увеличением сложности мы получаем и увеличение эффекта "переобучения".
Не, пример не катит совсем. Тот факт, что какую-то функцию сложно приблизить каким-то набором - он ни о чем не говорит. В теории подгонок (или "машинного обучения" по другому) нет каких-то общих методик, многие задачи достаточно специфичны и приходится придумывать что-то особенное. В нашем случае разработчики расчитывают на то, что до переобученности еще далеко и с ней можно будет бороться. :)
UZPN: 3 и главное:
Улучшения качества модели невозможно добиваться одним лишь ужесточением критерия качества. Необходимо опережающее увеличение тестовой выборки.
Улучшение качества идет именно за счет увеличения обучающей выборки, а также за счет введения новых параметров ранжирующей функции.
UZPN: Одновременно увеличивая тестовую выборку и жесткость критерия качества (а с ними сложность модели) в какой-то момент мы столкнемся с проблемой погрешности самой тестовой выборки (как в последнем абзаце моего примера). А она при определении релевантности сайта асессором крайне высока. Т.е. задолго до того как "у любого релевантного документа вычисленная релевантность будет болтаться в 1 +- нано" метод перестанет улучшать функцию ранжирования.
Не нужно увеличивать одновременно. Вы немного попутали - асессор не оценивает релевантность сайта, он оценивает релевантность документа. И качество такой оценки очень высокое, как мне кажется. Метод еще долго будет улучшать функцию ранжирования, потому что он удачно придуман. :)
UZPN: G00DMAN, ситуация, которую Вы описываете, в теории нейронных сетей называют "эффект переобучения" - сеть "запомнила" правильные ответы для обучающей выборки, а не "обобщила" их.
А при чем тут нейронные сети? :)
UZPN: - для любого размера обучающей выборки можно выбрать достаточно "сложную" модель поиска функции релевантности для того что бы в результате "обучения" получить функцию на 100% совпадающую с оценками асессоров (при достаточных вычислительных возможностях).
И что с того? Для решения такой задачи проще всего взять табличную функцию, тогда и вычислительных возможностей не нужно, и совпадение будет 100%.
UZPN: Т.к. на обучающей выборке правильный ответ только "1" или "0", то в этом случае действительно (в ситуации "переобучения") для релевантных документов из обучающей выборки посчитанная функция релевантности будет давать значения 1+- нано. Но для остальных документов (не из обучающей выборки) это будет функция дающая непредсказуемые результаты (почти рандом - небольшие изменения в обучающей выборке будут приводить к резким изменениям всей выдачи) - ведь эта, найденная функция не отражает закономерностей, она лишь запомнила правильные ответы произвольным способом. (размерность модели превышает размерность обучающего множества - количество подходящих со 100% точностью решений бесконечно).
Правильный ответ не 1 или 0, обычно ответов больше, о чем в ветке уже писалось. Никакого рандома не будет и функция ранжирования ничего не запомнила, она все значения высчитала сама. :D
UZPN: В любом случае яндексоиды наверное в курсе этой проблемы - общей для всех моделей использующих "обучение с учителем".
Дык тут пока нет проблемы, как нет и НС. :)
G00DMAN добавил 03.03.2010 в 13:40
MiRaj: А какой смысл сравнивать результат функции, не понимая как влиять на ее аргументы?
Дык, мы изначально зацепились за вопрос о том, где выше плотность результатов функции ранжирования, в топ-10 или после 50. Вопросы про смысл не рассматривались. :)
MiRaj: Кстати, простой вопрос - ты считаешь функцию релевантности непрерывной по каждому из аргументов, непрерывной по всем аргументам, дискретной, etc? Это как бы важно в рассуждении об устойчивости топа :)
Функция релевантности - это сумма очень большого числа кусочно-постоянных функций, естественно она не будет непрерывной ни по какому аргументу, кроме каких-то случайных вариантов.
MiRaj: G00DMAN, стоп-стоп-стоп.
Да, оценка асессоров у первоначальной выборки должна быть в пределах малой дельты.
Но те параметры коэффициентов ранжирования, которые на основе обучающей выборки построит яндекс вовсе не должны обладать подобной гладкостью - наоборот, практика показывает что часто из-за какого-то одного параметра происходит перекос выдачи (это особенно ярко проявляется в ВЧ тематиках в виде случайно вылезших в топ говносайтов, последний интересный пример - попадание в топ10 сайтов типа kluchevoe-slovo.ru).
Ну я вообще не говорил о параметрах функции ранжирования, пофигу на них. Я говорил о значении функции. Если тупо следовать докладу Карповича на RUSSIR, то значения топа должны попадать в очень малый интервал. Никакой гладкости при этом не будет. И попадания в топ ГС и прочего УГ вроде не противоречит логике, для того, чтобы ГС обогнал лидеров, ему не нужно иметь релевантность гораздо больше, достаточно больше на нано.
MiRaj: Впрочем, не суть - ведь самый главный вопрос - как мы собрались мерять расстояние между векторами коэффициентов ранжирования - по какой метрике ;) В зависимости от выбора метрики и ты и Сергей можете быть правы.
Дык, я в данном случае на эти вектора не обращаю внимания, только на конечное значение релевантности.
MiRaj: Эмм. Мы о каких запросах говорим? Об экспериментальных НК или о реальных ВК?
Об экспериментальных конечно! Итак, что там за запросы? :D
А что касается реальных ВК, то они конечно же менее интересны, но о них тоже можно сказать. Начнем с процесса обучения. В обучающей выборке есть примеры как сильно релевантных документов, так и совсем не релевантных, иначе не обучить. Но нас интересуют только "самые релевантные" с точки зрения асессоров. Их оценки не отличаются друг от друга, у всех это одно и тоже число. В ИМ-2009 это было 4, в презентации про жадность предлагалось всунуть все "истинные" релевантности в интервал [0..1], но это не суть. Пусть это будет 1, что ли... :)
Т.е. все документы, попавшие в обучающую выборку и оцененные, как релевантные, имеют одну и ту же оценку, 1. При обучении функции ранжирования, если верить Яндексу, используется простейший (но эффективный) критерий качества - ищется минимум квадратов разностей вычисленных релевантностей с истинными. Учитывая, что почти наверняка критерий качества жесткий, получаем, что вычисленная с помощью формулы ранжирования релевантность будет очень близка к 1, т.е. плотность значений в топе будет максимальной, при наличии достаточного количества релевантных документов. По некоторым ВК она может быть и на топ-100 значительной, т.к. много релевантных документов.
Ну и, учитывая объем и качество обучающего множества, получается, что при такой метрике качества у любого релевантного документа вычисленная релевантность будет болтаться в 1 +- нано. И плотность, особенно в топе, будет высокой.
Теоретически можно допустить, что метрики качества немного иные. Например - минимизируем тот же квадрат разности, но, если вычисленная релевантность больше "истинной" единицы, то считаем ее единицей, не зависимо от того, на сколько она больше. При таком подходе плотность как в топ-10, так и глубже может сильно плавать, но про такие метрики в Яндексе не знают скорее всего. :D
MiRaj: Относительная устойчивость первой 10-20ки как бы об этом намекает ))
Да ни разу. ;)
Собственно, на обучающей выборке все с точностью до наоборот, т.е. плотность результатов в топе гораздо выше, разброс мизерный должен получаться. Почему на реальных данных станет сильно по другому - не понятно. Скорее всего будет похоже. А устойчивость - не от сильно различных релевантностей, там другие причины.
wolf: Ранжирование осуществляется по вполне конкретной математической формуле. Рандома там, вроде бы, пока нет. Другое дело, что к примеру, после полтинника может идти такая мощная плотность результатов, что скачки на десятки позиций могут быть обусловлены совсем малыми изменениями в релевантности. Поэтому к анализу на таких глубинах следует подходить очень осторожно.
А с чего ты решил, что в первой десятке сейчас по другому?
wolf: А Садовский, вероятно, имел в виду несколько другое. А именно то, что в своем анализе качества выдачи они не спускаются ниже тридцатки.
Ну да, функция ранжирования после топ-30 очевидно та же самая, просто качество выдачи не изучается, потому что далеко.
Klopopryg, ну здесь ведь нету Вашей ЦА, скорее всего Вам мало дельного посоветуют.
Что можно не особо дельного сказать:
1. Смотрите в логах точки входа и пути по сайту. Правильно ли люди попадают на сайт и когда отваливаются. Если попадают правильно и сразу же закрывают страницу - значит дело или в дизайне, или в цене или еще в чем-то на стороне заказчика.
2. А какая вообще конверсия в тематике? Может быть она в принципе низкая, у всех? :)
А насчет качества оценки асессором:
да оценка наверное достаточно точная в том смысле что асессор достаточно точно говорит релевантен документ или нет. Т.е. выставляет ему оценку, 1 или 0 (ну или например 1 0,5 0 ). Но сама эта оценка уже содержит в себе огромную неточность: он не может одному релевантному документу поставить 0.9, другому 0.8, а третьему 0.7 - всем ставит 1. Т.е. если например у асессора всего два варианта оценки 0 и 1 то ошибка составляет 50% (если у него больше вариантов то погрешность меньше).
А, так Вы забыли, что релевантность с т.з. Яндекса и релевантность с Вашей т.з. - это как бы разные вещи. Мастерство асессоров и хорошая инструкция позволяют достаточно точно оценить документ с точки зрения этой инструкции. Все релевантные документы получают свою единицу и на этом все. Никакого ранжирования между ними, типа этому поставим 0.9, а тому - 1.05, асессоры не делают.
До переобучения методу еще далеко, так как пока есть красивые методы, чтобы до этого не довести.
Если я правильно Вас понял свое мнение о высокой плотности значений ф.рел. в топах Вы основываете на том что "почти наверняка критерий качества жесткий" (причем настолько жесткий что значения ф.рел. на обучающей выборке для релевантных сайтов равны 1+-нано).
Ну да.
1. А зачем ему быть жестким?
Если функция подгоняется жестко, то это же лучше. :)
2. Как видно из примера приведенного выше жесткость критерия "обученности" алгоритма можно получить только увеличивая "подробность" модели. При этом с увеличением сложности мы получаем и увеличение эффекта "переобучения".
Не, пример не катит совсем. Тот факт, что какую-то функцию сложно приблизить каким-то набором - он ни о чем не говорит. В теории подгонок (или "машинного обучения" по другому) нет каких-то общих методик, многие задачи достаточно специфичны и приходится придумывать что-то особенное. В нашем случае разработчики расчитывают на то, что до переобученности еще далеко и с ней можно будет бороться. :)
3 и главное:
Улучшения качества модели невозможно добиваться одним лишь ужесточением критерия качества. Необходимо опережающее увеличение тестовой выборки.
Улучшение качества идет именно за счет увеличения обучающей выборки, а также за счет введения новых параметров ранжирующей функции.
Одновременно увеличивая тестовую выборку и жесткость критерия качества (а с ними сложность модели) в какой-то момент мы столкнемся с проблемой погрешности самой тестовой выборки (как в последнем абзаце моего примера). А она при определении релевантности сайта асессором крайне высока. Т.е. задолго до того как "у любого релевантного документа вычисленная релевантность будет болтаться в 1 +- нано" метод перестанет улучшать функцию ранжирования.
Не нужно увеличивать одновременно. Вы немного попутали - асессор не оценивает релевантность сайта, он оценивает релевантность документа. И качество такой оценки очень высокое, как мне кажется. Метод еще долго будет улучшать функцию ранжирования, потому что он удачно придуман. :)
G00DMAN, ситуация, которую Вы описываете, в теории нейронных сетей называют "эффект переобучения" - сеть "запомнила" правильные ответы для обучающей выборки, а не "обобщила" их.
А при чем тут нейронные сети? :)
- для любого размера обучающей выборки можно выбрать достаточно "сложную" модель поиска функции релевантности для того что бы в результате "обучения" получить функцию на 100% совпадающую с оценками асессоров (при достаточных вычислительных возможностях).
И что с того? Для решения такой задачи проще всего взять табличную функцию, тогда и вычислительных возможностей не нужно, и совпадение будет 100%.
Т.к. на обучающей выборке правильный ответ только "1" или "0", то в этом случае действительно (в ситуации "переобучения") для релевантных документов из обучающей выборки посчитанная функция релевантности будет давать значения 1+- нано. Но для остальных документов (не из обучающей выборки) это будет функция дающая непредсказуемые результаты (почти рандом - небольшие изменения в обучающей выборке будут приводить к резким изменениям всей выдачи) - ведь эта, найденная функция не отражает закономерностей, она лишь запомнила правильные ответы произвольным способом. (размерность модели превышает размерность обучающего множества - количество подходящих со 100% точностью решений бесконечно).
Правильный ответ не 1 или 0, обычно ответов больше, о чем в ветке уже писалось. Никакого рандома не будет и функция ранжирования ничего не запомнила, она все значения высчитала сама. :D
В любом случае яндексоиды наверное в курсе этой проблемы - общей для всех моделей использующих "обучение с учителем".
Дык тут пока нет проблемы, как нет и НС. :)
G00DMAN добавил 03.03.2010 в 13:40
А какой смысл сравнивать результат функции, не понимая как влиять на ее аргументы?
Дык, мы изначально зацепились за вопрос о том, где выше плотность результатов функции ранжирования, в топ-10 или после 50. Вопросы про смысл не рассматривались. :)
Кстати, простой вопрос - ты считаешь функцию релевантности непрерывной по каждому из аргументов, непрерывной по всем аргументам, дискретной, etc? Это как бы важно в рассуждении об устойчивости топа :)
Функция релевантности - это сумма очень большого числа кусочно-постоянных функций, естественно она не будет непрерывной ни по какому аргументу, кроме каких-то случайных вариантов.
G00DMAN, стоп-стоп-стоп.
Да, оценка асессоров у первоначальной выборки должна быть в пределах малой дельты.
Но те параметры коэффициентов ранжирования, которые на основе обучающей выборки построит яндекс вовсе не должны обладать подобной гладкостью - наоборот, практика показывает что часто из-за какого-то одного параметра происходит перекос выдачи (это особенно ярко проявляется в ВЧ тематиках в виде случайно вылезших в топ говносайтов, последний интересный пример - попадание в топ10 сайтов типа kluchevoe-slovo.ru).
Ну я вообще не говорил о параметрах функции ранжирования, пофигу на них. Я говорил о значении функции. Если тупо следовать докладу Карповича на RUSSIR, то значения топа должны попадать в очень малый интервал. Никакой гладкости при этом не будет. И попадания в топ ГС и прочего УГ вроде не противоречит логике, для того, чтобы ГС обогнал лидеров, ему не нужно иметь релевантность гораздо больше, достаточно больше на нано.
Впрочем, не суть - ведь самый главный вопрос - как мы собрались мерять расстояние между векторами коэффициентов ранжирования - по какой метрике ;) В зависимости от выбора метрики и ты и Сергей можете быть правы.
Дык, я в данном случае на эти вектора не обращаю внимания, только на конечное значение релевантности.
Сергей, спорить бесполезно, т.к. не у всех есть доступ к твоим исследованиям. Для разнообразия я останусь при мнении, что ты ошибаешься. :)
Эмм. Мы о каких запросах говорим? Об экспериментальных НК или о реальных ВК?
Об экспериментальных конечно! Итак, что там за запросы? :D
А что касается реальных ВК, то они конечно же менее интересны, но о них тоже можно сказать. Начнем с процесса обучения. В обучающей выборке есть примеры как сильно релевантных документов, так и совсем не релевантных, иначе не обучить. Но нас интересуют только "самые релевантные" с точки зрения асессоров. Их оценки не отличаются друг от друга, у всех это одно и тоже число. В ИМ-2009 это было 4, в презентации про жадность предлагалось всунуть все "истинные" релевантности в интервал [0..1], но это не суть. Пусть это будет 1, что ли... :)
Т.е. все документы, попавшие в обучающую выборку и оцененные, как релевантные, имеют одну и ту же оценку, 1. При обучении функции ранжирования, если верить Яндексу, используется простейший (но эффективный) критерий качества - ищется минимум квадратов разностей вычисленных релевантностей с истинными. Учитывая, что почти наверняка критерий качества жесткий, получаем, что вычисленная с помощью формулы ранжирования релевантность будет очень близка к 1, т.е. плотность значений в топе будет максимальной, при наличии достаточного количества релевантных документов. По некоторым ВК она может быть и на топ-100 значительной, т.к. много релевантных документов.
Ну и, учитывая объем и качество обучающего множества, получается, что при такой метрике качества у любого релевантного документа вычисленная релевантность будет болтаться в 1 +- нано. И плотность, особенно в топе, будет высокой.
Теоретически можно допустить, что метрики качества немного иные. Например - минимизируем тот же квадрат разности, но, если вычисленная релевантность больше "истинной" единицы, то считаем ее единицей, не зависимо от того, на сколько она больше. При таком подходе плотность как в топ-10, так и глубже может сильно плавать, но про такие метрики в Яндексе не знают скорее всего. :D
З.Ы. Прошу мну извинить за маленький оффтоп.
Относительная устойчивость первой 10-20ки как бы об этом намекает ))
Да ни разу. ;)
Собственно, на обучающей выборке все с точностью до наоборот, т.е. плотность результатов в топе гораздо выше, разброс мизерный должен получаться. Почему на реальных данных станет сильно по другому - не понятно. Скорее всего будет похоже. А устойчивость - не от сильно различных релевантностей, там другие причины.
Ранжирование осуществляется по вполне конкретной математической формуле. Рандома там, вроде бы, пока нет. Другое дело, что к примеру, после полтинника может идти такая мощная плотность результатов, что скачки на десятки позиций могут быть обусловлены совсем малыми изменениями в релевантности. Поэтому к анализу на таких глубинах следует подходить очень осторожно.
А с чего ты решил, что в первой десятке сейчас по другому?
А Садовский, вероятно, имел в виду несколько другое. А именно то, что в своем анализе качества выдачи они не спускаются ниже тридцатки.
Ну да, функция ранжирования после топ-30 очевидно та же самая, просто качество выдачи не изучается, потому что далеко.
Да, скрипт именно трейсит график, смею думать, с точности близкой к максимальной при данных условиях.
Точность на самом деле хорошая. :)
Klopopryg, ну здесь ведь нету Вашей ЦА, скорее всего Вам мало дельного посоветуют.
Что можно не особо дельного сказать:
1. Смотрите в логах точки входа и пути по сайту. Правильно ли люди попадают на сайт и когда отваливаются. Если попадают правильно и сразу же закрывают страницу - значит дело или в дизайне, или в цене или еще в чем-то на стороне заказчика.
2. А какая вообще конверсия в тематике? Может быть она в принципе низкая, у всех? :)