Your SlideShare is downloading. ×
Мезенцев Павел - Машинное обучение на MapReduce
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Мезенцев Павел - Машинное обучение на MapReduce

2,893
views

Published on

Слайды с выступления Мезенцева Павла на Hadoop User Group Meetup, …

Слайды с выступления Мезенцева Павла на Hadoop User Group Meetup,
прошедшем в Москве 8 ноября 2012.

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,893
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Павел Мезенцевp.mezentsev@rambler-co.ru
  • 2. Apache Mahout Как работаетмашинное обучение на MapReduce
  • 3. Что такое машинное обучение?Алгоритмы искуственного интеллекта,способные обучаться [Wikipedia]
  • 4. Классификация
  • 5. Кластеризация
  • 6. Регрессия
  • 7. Рекомендации
  • 8. Существующие пакеты машинного обучения● Matlab● Octave● R● Weka● ….......
  • 9. Проблема больших данныхЧто делать если объем обрабатываемыхданных исчисляется терабайтами?
  • 10. Map Reduce `
  • 11. Apache Mahout● появился в 2008 году● 300 тыс. строк кода● означает “погонщик слона”● правильно произносить “махут”● вышла книга “Mahout in Action”
  • 12. Реализованные алгоритмы Классификация Кластеризация● Логистическая регрессия ● К-средних● Байесовские классификаторы ● Нечеткий алгоритм K-средних Минимизация ожидания Случайный лес ●● ● Minhash кластеризация● Скрытые марковские цепи …............. А также ● Коллаборативная фильтрация ● Генетические алгоритмы ● Алгоритмы уменьшения размерностей
  • 13. Машинное обучение на MapReduce● статья “MapReduce for Machine Learning on Multicore” (2008)● Алгоритм должен быть представим в аддитивной форме по входным данным
  • 14. Наивный Байес () (1) xПризнаки x ⃗ = ... Класс y = {0, 1} (n) x Формула Байеса: (1) (n) (1) (n) P( x ,.... , x ∣ y) P( y∣x ,.... , x )=P ( y) (1) (n) P(x ,.... , x )Наивное предположение: ∣x (1) ,.... , x (n))=P ( y) ∏i P(x (i)∣ y ) P( y С
  • 15. Наивный Байес на MapReduce 1● Выражение ν( y) ∑ j 1( y j = y) P( y)= = ν(all) ∑j 1● Map: выдаем ( y j , Σ s ub ) (total , Σ s ub ) ( y j , Σ) (total , Σ)● Reduce: выдаем
  • 16. Наивный Байес на MapReduce 2 (i) Выражение (i) ν( x , y)● P( x ∣ y)= ν( y )● Map: выдаем i ((x , y j ); Σ s ub )● Reduce: выдаем ((x i , y j ); Σ)
  • 17. Кластеризация K средних
  • 18. Реализация на MapReduceОтнесение объектов к кластерам Map: выдаем ( x , y nearest )Поиск новых центров кластеров ( y j ,(Σs ub x , N )) Map: выдаем ( y j , x) Reduce: выдаем
  • 19. Логистическая регрессия T w ⋅x=0
  • 20. Вероятностьпринадлежности к классу 1P w ( x)= 1+exp(−w⋅x)
  • 21. Максимум правдоподобия yi 1− y iLw ( x)= ∏i P w ( x i ) (1−P w ( x i )) nl(w)=∑i=1 y i log p ( x i )+(1− y i )log(1− p ( x i ))w=argmax w l(w )
  • 22. Метод Ньютона-РафсонаВ скалярном виде: В векторном виде l (w) −1w=w− w=w−H ∇ w l(w) l (w) 2 2 ( ) ( ) ∂ l(w) ∂ l(w) ∂ l(w) ... ∂ w1 ∂ w1 ∂ w1 ∂ w1 ∂ wn ∇ w l(w )= ... H= ... ... ... ∂ l(w) 2 ∂ l(w) 2 ∂ l(w) ... ∂ wn ∂ w n ∂ w1 ∂ wn ∂ wn
  • 23. MapReduce для Градиента Выражение ∂ l(w ) m =∑i=1 ( y i − p w (x i )) x i● (k) ∂ wk grad s ub [k ]=∑i ( y− pw ( x i )) x (k i )● Map: вычисляем выдаем (k , grad s ub [k ])● Reduce: вычисляем grad [k ]=∑ grad s ub [k ] выдаем (k , grad [k ])
  • 24. MapReduce для Гамильтониана 2 ∂ l(w) m =∑i=1 p w (x i )( p w ( x i )−1) x i x i ( j) (k)● Выражение ∂ wk ∂ w j● Map: вычисляем H s ub [k , j]=∑s ub .... выдаем ((k , j); H s ub [k , j])● Reduce: вычисляем H [k , j]=H s ub [k , j] выдаем ((k , j); H [k , j])
  • 25. АсимптотикаАлгоритм Классическая Сложность MapReduce сложность mnНаивный Байес O(mn+nc) O( +nc log P) P mnc O(mnc) O( +mn log P)K-средних P 2 O(mn +n ) 3 m 2 n n3 2 O( + +n log P)Логистическая P Pрегрессияn – размерность пространства признаковm – число обучающих примеровP – число ядер, на которых делается обучение
  • 26. Особенности алгоритмов в Mahout● в Наивном Байесе добавлен “отбор фич”● В Логистической регрессии используется алгоритм “стохастического градиентного спуска”
  • 27. Запуск Наивного Байеса в Mahout Обучение> mahout trainclassifier -i data -o model Тестирование> mahout testclassifier -m model -d data
  • 28. Запуск k среднихmahout kmeans -i data -c clusters -o output -k clusters_num
  • 29. Запуск Логистической регрессииmahout trainlogistic -hmahout runlogistic -h
  • 30. Наш опыт использования Mahout● Для классификации посетителей по полу и возрасту● Использовались логи наших проектов за последние 30 дней● Обучающая выборка – 1 млн. Человек. Классифицируем 300 млн.● Время обучения и классификации порядка 3х часов
  • 31. ВопросыПавел Мезенцев p.mezentsev@rambler-co.ru