Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Data Mining in RTB

3 005 vues

Publié le

Слайды к лекции для студентов Data Mining Labs http://vk.com/datamininglabs 7 апреля 2014

Publié dans : Données & analyses
  • Identifiez-vous pour voir les commentaires

Data Mining in RTB

  1. 1. Аналитика данных в RTB
  2. 2. Павел Калайдин @facultyofwonder Марат Зайнутдинов @tsundokum Ян ЛеКун* @ylecun * на самом деле нет
  3. 3. <скриншот нашей рекламы в ретаргетинге>
  4. 4. http://cmsummit.com/behindthebanner/ credits: http://cmsummit.com/behindthebanner/
  5. 5. RTB - аукцион рекламных показов в реальном времени A CIKM '13 Tutorial: Real-time Bidding: A New Frontier of Computational Advertising Research http://tutorial.computational-advertising.org/ Computational Advertising Stanford University MS&E 239: Introduction to Computational Advertising https://www.stanford.edu/class/msande239/
  6. 6. Фундаментальные задачи:
  7. 7. Best match: кому что когда показывать?
  8. 8. Campaign performance: как достичь максимальных показателей в рамках бюджета рекламной кампании?
  9. 9. Most revenue: как получить максимум прибыли при текущем трафике?
  10. 10. не раздражая пользователя (healthy environment)? http://www.slideshare.net/shuaiyuancn/cikm-2013-tutorial
  11. 11. А также:
  12. 12. Как найти похожую аудиторию (Look-alike)? улучшение эффективности системы пресказания целевых действий за счёт использования данных о переходах таргетирование на похожую аудиторию за счёт использования информации о переходах (увеличение охвата). Обзор метрик, позволяющих сравнивать, насколько пользователи похожи на друг друга, основываясь на их физическом передвижении (что в нашем случае посещенные сайты). http://www.barabasilab.com/pubs/CCNR-ALB_Publications/201108-21_KDD-HumanSocialTies/201108-21_KDD-HumanSocialTies.pdf
  13. 13. Подсчет статистики
  14. 14. Map-reduce задачи Скетчи
  15. 15. A/B тесты DOE (design of experiment)
  16. 16. Медиапланирование, прогнозы, оценка хода кампании
  17. 17. Мониторинг: как понять, когда что-то идет не так?
  18. 18. Рекомендации: что показать на баннере?
  19. 19. Предсказание стоимости покупки CPA ~ чек
  20. 20. Поиск закономерностей и аномалий
  21. 21. и так далее. Это все задачи отдела Data Science
  22. 22. Но вернемся к аукционам
  23. 23. Голландский (цена вверх)
  24. 24. Английский (цена вниз)
  25. 25. Закрытый первой цены
  26. 26. Закрытый второй цены
  27. 27. Закрытый первой цены = английский Закрытый второй цены = голландский
  28. 28. RTB - закрытый аукцион второй цены
  29. 29. Еще бывают: все платят (архитектурный тендер) обобщенный второй цены (adwords)
  30. 30. Как рассчитать ставку?
  31. 31. Credits: http://www.cs.cornell.edu/home/kleinber/networks-book/networks-book-ch09.pdf
  32. 32. Истинная ценность?
  33. 33. “The best minds of my generation are thinking about how to make people click ads… That sucks.” - Jeff Hammerbacher, co-founder and chief scientist, Cloudera (source)
  34. 34. Common-value аукцион Ценность одна и та же, но участники имеют разные оценки
  35. 35. Например, несколько ретаргетеров на одном магазине
  36. 36. Больше информации про аукционы: http://www.cs.cornell. edu/home/kleinber/networks-book/networks- book-ch09.pdf
  37. 37. Предсказание второй цены
  38. 38. Т.е. так называемая задача distribution fitting
  39. 39. Управление скоростью кампании
  40. 40. Предиктор
  41. 41. Что делать?
  42. 42. то же самое для data mining
  43. 43. posterior likelihood evidence prior
  44. 44. Для чего нам нужен posterior?
  45. 45. Чтобы найти
  46. 46. likelihood (binomial distribution) для одного наблюдения: для нескольких наблюдений:
  47. 47. prior (beta distribution)
  48. 48. можно использовать данные, чтобы найти параметры бета-распределения
  49. 49. Используем данные дважды? Переобучаем?
  50. 50. empirical bayes: с удовольствием!
  51. 51. pseudosample size
  52. 52. evidence (???)
  53. 53. posterior analytical solution grid method simulations
  54. 54. Бета-распределение любит биномиальное
  55. 55. это называется conjugate priors
  56. 56. А ещё бета-распределение “любит” бета- распределение, а нормальное - нормальное.
  57. 57. Что делать с результатом?
  58. 58. Правильный подсчёт CTR
  59. 59. Задача Найдите формулу для подсчёта CTR по adhost:bannerPlacement (с prior по adhost)
  60. 60. Пусть sa - величина псевдовыборки, тогда где
  61. 61. Задача Найдите формулу для подсчёта adhost: banner_id (с независимыми prior по adhost и banner_id)
  62. 62. Перерыв, после которого мы обсудим решение задачи
  63. 63. Нужны данные для экспериментов? 7.5Gb аукционы, показы, клики, конверсии: https://www.dropbox.com/sh/xolf5thu8jsbmfu/kBrAsSxtAN thanks to: Global Bidding Algorithm Competition, Apr-Dec, 2013. http://contest.ipinyou.com/
  64. 64. Коснемся архитектуры
  65. 65. логи, логи, логи Крутая статья сотрудника LinkedIn о том, что всё логи http://engineering. linkedin.com/distributed-systems/log-what-every-software-engineer-should-know- about-real-time-datas-unifying
  66. 66. детерминированная машина Презентация функциональной базы данных от создателя языка Clojure и одного из ключевых разработчиков Datomic https://www. youtube.com/watch?v=Cym4TZwTCNU
  67. 67. потоки логов
  68. 68. Storm, Samza, S4, Akka Видео с создателем Storm, на котором он очень кратко рассказывает про своё видение архитектуры для bid data http://www.infoq.com/interviews/marz- lambda-architecture
  69. 69. Couchbase, Redis
  70. 70. программисты не знают характер работ по анализу данных
  71. 71. поэтому доставайте архитектора
  72. 72. каждый день
  73. 73. пробуйте разные способы для одной и той же задачи
  74. 74. инвестируйте в свои инструменты
  75. 75. </архитектура>
  76. 76. Вернемся к подсчету статистики
  77. 77. Примеры запросов - выдайте персентили числа показов на человека - какое число уникальных пользователей по сайтам? - рассчитываемся с SSP за месяц. Нужна выгрузка трат за весь март
  78. 78. В большинстве случаев нас устроит примерная оценка
  79. 79. Вероятностные структуры данных (скетчи)
  80. 80. Память versus ошибка в оценке
  81. 81. - проверка на вхождение в множество - сколько различных элементов в потоке (мощность) - какие элементы встречаются чаще всего (heavy-hitters) и как часто? (частоты) - сколько элементов попадает в заданный интервал (интервалы) Исправленная и дополненная версия картинки, опубликованной в этом посте
  82. 82. Frugal streaming: обработка по мере поступления, требуется супер мало памяти Свежая статья (2013 г.) http://link.springer.com/chapter/10.1007/978-3-642-40273-9_7 ($) Обсуждение: http://blog.aggregateknowledge.com/2013/09/16/sketch-of-the-day-frugal-streaming/
  83. 83. Посчитаем медиану
  84. 84. frugal <- function(stream) { m <- 0 for (val in stream) { if (val > m) m = m + 1 else if (val < m) m = m - 1 } return(m) } Требование по памяти: 1 int
  85. 85. А персентили?
  86. 86. frugal_1u <- function(stream, m = 0, q = 0.5) { m <- 0 for (val in stream) { if (val > m && runif(1) > 1 - q) m = m + 1 else if (val < m && runif(1) > q) m = m - 1 } return(m) } Есть еще улучшенный frugal_2u с переменным шагом Код на R: https://gist.github.com/kalaidin/9974919 IPython notebook: http://nbviewer.ipython.org/gist/kalaidin/9976120
  87. 87. Частоты: Count-Min sketch An Improved Data Stream Summary: The Count-Min Sketch and its Applications
  88. 88. w i +1 +1 +1 h 1 h 4 h d d Оценка - возьмем минимум из d значений.
  89. 89. Мощность множества (количество уникальных элементов): LogLogCounter&Co
  90. 90. Представьте, что сегодня утром я бросал монетку и записал, какое максимальное число раз подряд выпала решка
  91. 91. Что если я скажу, что это число 2?
  92. 92. А если это число 100?
  93. 93. В каком случае я бросал дольше?
  94. 94. Нас интересуют паттерны в хешах (число 0 = решек в начале)
  95. 95. оценка - 2R , где R - максимальное число лидирующих нулей
  96. 96. LogLog: используем M корзин, в каждой из которой храним свой R Оригинальная статья: LogLog Counter http://algo.inria.fr/flajolet/Publications/DuFl03-LNCS.pdf
  97. 97. HyperLogLog - среднее гармоническое R по корзинам Оригинальная статья: HyperLogLog Counter http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf Серия постов на тему HLL в блоге AggregateKnowledge: http://blog.aggregateknowledge.com/tag/hll/
  98. 98. Проверка на вхождение: старый добрый фильтр Блума Bloom Filters: How I learned to stop worrying about errors and love memory efficient data structures 3 Rules of thumb for Bloom Filters (оценка ошибки) Попробуйте погуглить фото Бертона Говарда Блума - его не найти!
  99. 99. i h 1 h 2 h k 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0
  100. 100. Вопросы и ответы
  101. 101. Спасибо за внимание!

×