48
Зачем в интернет-поиске математика Андрей Плахов Руководитель службы функциональности поиска

Plakhov urfu 2013

  • Upload
    yandex

  • View
    287

  • Download
    0

Embed Size (px)

Citation preview

Зачем в интернет-поиске математика

Андрей Плахов Руководитель службы функциональности поиска

План

1. Зачем и какая математика применяется «в жизни» вообще и в поиске в частности 2. Matrixnet: машинное обучение в Яндексе

Сколько математиков нужно миру?

Математика как общий язык

Математика как источник идей

Когда возможно прямое применение?

Когда возможно прямое применение?

Масштабы веб-поиска

57 миллионов пользователей в месяц

(Россия)

>200 миллионов запросов в день

Десятки стран

Десятки тысяч серверов

5000 сотрудников

Прямые применения: анализ

Производные (градиентный спуск,

экстремумы)

Построение функции с нужными

свойствами

Разложение в ряд Тейлора

Разложение в ряд Фурье

Задача

В коде проекта очень много раз вычисляется sin(x) для разных x от 0 до 1. Как ускорить это вычисление, если в результате допустима ошибка порядка 1e-5?

Задача

Как разбить популярные поисковые запросы на две группы: имеющие ярко выраженные часы задания («утренние», «полуденные» и т.п.), и не имеющие?

Прямые применения: мат.статистика

Распространенные распределения

Центральная предельная теорема

Критерии значимости, независимости

Корреляция и её разновидности

Статистические тесты

Задачи Всегда ли процедура «сложить результаты нескольких измерений и поделить на их количество» осмысленна?

Задачи Всегда ли процедура «сложить результаты нескольких измерений и поделить на их количество» осмысленна? Осмысленна ли она, если измерение – это среднегодовой доход пойманного на улице человека?

Задачи Всегда ли процедура «сложить результаты нескольких измерений и поделить на их количество» осмысленна? Осмысленна ли она, если измерение – это среднегодовой доход пойманного на улице человека? Если нет, то на что её заменить?

Задачи

Придумайте «жизненный» пример ситуации, в которой ЦПТ опасно понимать как «если сложить кучу независимых случайных величин, то получим нормальное распределение»

A/B тестирование

A/B тестирование

A/B тестирование

Показываем разным людям разное Измеряем показатели Статистически значимая разница позволяет принять решение

Задачи

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

Прямые применения

Дискретная математика

Энтропия и оптимальное кодирование

Коды, исправляющие ошибки

Графы

Теория массового обслуживания

Теория аукционов

Алгоритмы, структуры данных

Прямые применения: линейная алгебра,

проективная геометрия

Опасности

Опасности

Опасности

Абстракции «протекают» Статьи врут (гораздо чаще учебников) Результат важнее корректного обоснования Скорость итерации важнее всего

Задачи

Прочитайте несколько статей про САР-теорему Спроектируйте систему хранения данных, по сути нарушающую её утверждение

Часть 2: машинное обучение

Заголовок

Заголовок

Применения: ранжирование Факторы + Оценки релевантности + Машинное обучение = Поиск

Применения

Классификаторы Коллаборативная фильтрация Компьютерное зрение …

Методы

Нейронные сети разного вида Support vector machines Gradient boosting

Методы

Нейронные сети разного вида Support vector machines Gradient boosting

Свойства хорошей системы Предсказательная сила Толерантность к числу факторов и примеров Инвариантность относительно тривиальных изменений

Дизайн (верхний уровень)

Градиентный спуск в гильбертовом пространстве Сумма «слабых решателей»

Слабый решатель Кусочно-постоянная функция Пространство разбиваем на 26 части гиперплоскостями, параллельными координатным

Градиентный спуск

На каждом шаге добавляем новое слагаемое, максимально улучшающее целевой функционал Support Регуляризация

Support

Регуляризация

Регуляризация

Целевой функционал Квадратичная ошибка Любой другой, допускающий шаг градиентного спуска («можно взять производную»)

Итог

Вопросы?

[email protected]