Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Признаки без отношения порядка в GBDT

Признаки без отношения порядка в GBDT

Machinelearner

October 29, 2020
Tweet

More Decks by Machinelearner

Other Decks in Education

Transcript

  1. Признаки без отношения порядка в GBDT Vasily Ershov (существующие подходы

    к работе с ними на примере CatBoost, возникающие проблемы и возможные research-направления)
  2. Входные данные 2 Неструктурированные данные Порядковые признаки DNA Текст Изображения

    Музыка Neural networks 2 minutes 5 minutes 15 minutes Длина песни Blues Rock Jazz Жанр песни Категориальные признаки Длина песни Год выпуска Рейтинг 2 1990 3 3 1950 5 15 1970 4 Жанр Исполнитель Rock Scorpions Jazz Louis Armstrong Blues B.B.King Структурированные данные
  3. Деревья решений 3 Жанр песни = Rock Год выпуска >

    1970 Да Нет Да Да Нет Артист=Scorpions Greedy algorithm for best tree search (CART)
  4. Boosting на деревьях решений 4 State-of-the-art quality на структурированных данных

    Прост в использовании Работает на небольших объемах данных, а также легко масштабируется на «Big data problems» + … + + + Большая ошибка Стало лучше Можно в production
  5. Categorical data Blues Rock Jazz Genre 5 One-hot encoding Statistics

    based on category Greedy search for combinations Label based Category-based
  6. Categorical features Blues Rock Jazz Genre 6 One-hot encoding Statistics

    based on category Greedy search for combinations Label based Category-based Genre [Genre=Jazz] [Genre=Rock] [Genre=Blues] Jazz 1 0 0 Rock 0 1 0 Blues 0 0 1 Rock 0 1 0
  7. Blues Rock Jazz Genre Categorical features 7 One-hot encoding Statistics

    based on category Greedy search for combinations Label based Category-based P(Jazz|Data) Jazz P(Rock|Data) Rock P(Blues|Data) Blues 3 6 2 6 1 6
  8. Blues Rock Jazz Genre Categorical features 8 One-hot encoding Statistics

    based on category Greedy search for combinations Label-based Category-based 1 + α 1 + α + β Label encoding
  9. Theoretical justification 9 Blues Rock Jazz Genre E(y|Jazz) E(y|Rock) E(y|Blues)

    Ищем разбиение по условному мат. ожиданию Это порядковая фича Доказывается, что это оптимальное разбиение на 2 группы для: • Классификация + Cross-Entropy/Gini Index • Регрессия с L2 Не работает для мультикласса
  10. Label encoding with time Time Genre Like p(Like | History)

    0 Jazz 1 Rock 2 Blues 3 Jazz 4 Blues 5 Blues 6 Blues α α + β α α + β α α + β 0 + α 1 + α + β 1 + α 1 + α + β 1 + α 2 + α + β 2 + α 3 + α + β 10
  11. Blues Rock Jazz Genre Categorical features 11 One-hot encoding Statistics

    based on category Greedy search for combinations Label based Category-based Bob Alice User
  12. Blues Rock Jazz Genre Categorical features 12 One-hot encoding Statistics

    based on category Greedy search for combinations Label based Category-based
  13. Boosting in industry 15 More data => more quality more

    money More trees => more quality more money Faster learning => more experiments more money Faster apply => more trees to learn + … + + + Большая ошибка Стало лучше Можно в production
  14. Priors 16 Blues Rock Jazz Genre 1 + α 1

    + α + β α α + β ????? Empirical Bayesian?
  15. CTR as probability model 17 Blues Rock Jazz Genre 1

    + α 1 + α + β Не зажгло (но не пробовали в комбинациях) θ1 …θk ∼ Beta(α, β) y1 …yn1 |θ1 ∼ Bernoulli(θ1 ) … y1 …ynk |θk ∼ Bernoulli(θk ) ̂ α, ̂ β : max likelihood ̂ θk : Bayes with ̂ α, ̂ β
  16. Границы для разбиения 18 Blues Rock Jazz Genre ϕ(x) =

    1 + α 1 + α + β ϕ(x) ≥ ci Энтропийный бинаризации часто приводят к переобучению
  17. CTRs Online learning 19 Blues Rock Jazz Genre 1 +

    α 1 + α + β Blues Rock Jazz Genre 2 + α 2 + α + β Today Tomorrow
  18. Model size 20 Blues Rock Jazz Genre Bob Alice User

    Кат. фичи могут расти линейно с размером датасета Число комбинаций линейно с размером ансамбля Boosting: more money => more data Результат: 200GB+ модели на Criteo (26 катфичей, ≈10кк объектов) Решение: инженерные эвристики на перевзвешивание RMSE для новых комбинаций — нужно теоретически обоснованное решение
  19. 21 CatFeatures: technical issue • Хэш-тэг — отличная кат. фича,

    но тратит много памяти • 32-bit хэширование в стадии препроцессинга, можно bit- compression / другие варианты • Десятки миллионов объектов не влезают в RAM, особенно GPU • Жадный алгоритм подбора плохо шардируется по нескольким машинкам / GPU • В катбусте — feature parallel режим для multiGPU, на CPU так и не реализовано
  20. Красивые цифры: 1 • Parameters: 128 bins, 64 leafs, 1000

    iterations • Microsoft Learning to Rank: 136 features, 1M samples • Epsilon: 2000 features, 400k samples • Higgs: 28 features, 11M samples GPU: NVIDIA 1080Ti 22 Time, s 0 275 550 825 1100 Epsilon Higgs Micrisoft 157 227 275 78 235 1 001 28 80 45 CatBoost LightGBM XGBoost
  21. Красивые цифры: 1 • Parameters: 128 bins, 64 leafs, 1000

    iterations • Microsoft Learning to Rank: 136 float features, 1M samples • Epsilon: 2000 float features, 400k samples • Higgs: 28 float features, 11M samples GPU: NVIDIA 1080Ti 23 Time, s 0 275 550 825 1100 Epsilon Higgs Micrisoft 157 227 275 78 235 1 001 28 80 45 CatBoost LightGBM XGBoost
  22. Красивые цифры два 24 • 1000 trees • 2k features

    • 100k objects • Intel Xeon E5-2660v4 • NVIDIA 1080Ti Time, ms 1 10 100 1000 10000 100000 160 1 470 75 000 108 000 LightGBM XGBoost CatBoost Cpu CatBoost Gpu
  23. Красивые цифры два 25 • 1000 trees • 2k float

    features • 100k objects • Intel Xeon E5-2660v4 • NVIDIA 1080Ti Time, ms 1 10 100 1000 10000 100000 160 1 470 75 000 108 000 LightGBM XGBoost CatBoost Cpu CatBoost Gpu
  24. Boosting: before CatBoost 26 DNA Text Images Music Feature extraction

    and engineering Deep Neural Network Production … + + + GBDT To tabular To tabular
  25. Boosting: with CatBoost 27 DNA Text Images Music Domain-specific features

    Auto Feature Engineering by CatBoost Deep Neural Network To tabular To tabular Production
  26. Auto Feature Engineering 28 Features Greedy New features in runtime

    features Best split Features extraction На каждой итерации бустинга Model