View
5
Download
0
Category
Preview:
Citation preview
РРеешшееннииее ззааддааччии SSeeaarrcchh RReessuullttss RReelleevvaannccee
ААллееккссааннддрр ДДььяяккоонноовв
ММооссккооввссккиийй ггооссууддааррссттввеенннныыйй ууннииввееррссииттеетт
ииммееннии ММ..ВВ.. ЛЛооммооннооссоовваа ((ММоосскквваа,, РРооссссиияя))
Разбор задачи с www.kaggle.com 2 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Задача Search Results Relevance
ППооххоожжаа ннаа ккллаассссииччеессккууюю ззааддааччуу ппооииссккаа
rrooww iidd qquueerryy pprroodduucctt__ttiittllee pprroodduucctt__ddeessccrriippttiioonn
mmeeddiiaann
rreelleevvaannccee
rreelleevvaannccee
vvaarriiaannccee
78 230 harleydavidson Harley-Davidson and Philosophy
(Paperback) 4 0.943
120 367 ninja turtle socks Highpoint Kids' 5PK No Show
(Assorted)
He will feel like a
superhero in the Teenage
Mutant Ninja Turtles 5PK
No Show Socks by
Highpoint.
4 0.800
6076 19557 long prom dress Daniella Collection
This one piece dress has
mesh and rhinestone
detailing. This dress
features long sleeves, a
round neckline and a
flared hem.
3 0.866
153 472 16 gb memory card Sandisk 16GB non-HS MSD Flash Drive
3in1 - Black (SDSDQR-016G-T46A)
SanDisk Elevate 16GB non-
HS MSD 3in, microSD memory
card with USB adapter and
SD adapter. Includes
RescuePro recovery
software.
Memory Storage Capacity:
16GB
Wired Connectivity: Micro
SD Slot
Features: Plug and Play
Includes: MicroSD Adapter,
Adapter, USB Adapter
Battery no battery used
4 0.000
Разбор задачи с www.kaggle.com 3 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Задача
ДДаанн ззааппрроосс:: 1166 ggbb mmeemmoorryy ccaarrdd
Ему соответствует ввыыддааччаа.
Элемент выдачи –
(название товара, описание)
SSaannddiisskk 1166GGBB nnoonn--HHSS MMSSDD FFllaasshh DDrriivvee 33iinn11 -- BBllaacckk ((SSDDSSDDQQRR--
001166GG--TT4466AA))
SSaannDDiisskk EElleevvaattee 1166GGBB nnoonn--HHSS MMSSDD 33iinn,, mmiiccrrooSSDD mmeemmoorryy ccaarrdd
wwiitthh UUSSBB aaddaapptteerr aanndd SSDD aaddaapptteerr.. IInncclluuddeess RReessccuueePPrroo rreeccoovveerryy
ssooffttwwaarree..
MMeemmoorryy SSttoorraaggee CCaappaacciittyy:: 1166GGBB
WWiirreedd CCoonnnneeccttiivviittyy:: MMiiccrroo SSDD SSlloott
FFeeaattuurreess:: PPlluugg aanndd PPllaayy
IInncclluuddeess:: MMiiccrrooSSDD AAddaapptteerr,, AAddaapptteerr,, UUSSBB AAddaapptteerr
BBaatttteerryy nnoo bbaatttteerryy uusseedd
Паре (запрос, выдача) соответствует релевантность – 1, 2, 3 или 4.
Дана ещё дисперсия релевантностей (т.к. несколько ассесоров
оценивало выдачу), но не была использована.
Запомним: релевантность в обучении – медиана релевантностей,
которые проставили ассесоры
Разбор задачи с www.kaggle.com 4 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Задача
ППооччееммуу ннее ккллаассссииччеессккааяя ззааддааччаа ппооииссккаа??
ЗЗааппррооссыы вв ттеессттее ттааккииее жжее ккаакк ии вв ооббууччееннииии!!
ЭЭттоо ммоожжнноо ииссппооллььззооввааттьь!!
Разбор задачи с www.kaggle.com 5 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Задача
ХХоорроошшааяя ввыыддааччаа ((ддлляя ооппррееддееллёённннооггоо ззааппррооссаа))
ддооллжжннаа ббыыттьь ппооххоожжаа ннаа ххоорроошшииее ввыыддааччии ((ээттооггоо ззааппррооссаа))!!
Разбор задачи с www.kaggle.com 6 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Функционал качества: Quadratic Weighted Kappa
показывает согласованность порядков,
когда ответы "мера релевантности"
y = 1 1 1 2 2 3 3 3 # правильный ответ
a = 1 1 2 1 3 2 3 3 # наш ответ
0.6666667
a = 1 1 1 2 2 3 3 3 # наш ответ
1
a = 3 3 3 2 2 1 1 1 # наш ответ
–1
Разбор задачи с www.kaggle.com 7 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Quadratic Weighted Kappa
E = table(y) %*% t(table(a))
O = table(y,a)
E = E/sum(E)*sum(O)
n = length(unique(y))
W = (matrix(1:n,nr=n,nc=n) -
matrix(1:n,nr=n,nc=n,byrow = TRUE))**2/(n-1)**2
kappa = 1-sum(W*O)/sum(W*E)
a = 1 1 2 1 3 2 3 3
y = 1 1 1 2 2 3 3 3
O =
a
y 1 2 3
1 2 1 0
2 1 0 1
3 0 1 2
W =
[,1] [,2] [,3]
[1,] 0.00 0.25 1.00
[2,] 0.25 0.00 0.25
[3,] 1.00 0.25 0.00
E =
a
y 1 2 3
1 9 6 9
2 6 4 6
3 9 6 9
E = нормализованная
a
y 1 2 3
1 1.125 0.75 1.125
2 0.750 0.50 0.750
3 1.125 0.75 1.125
Kappa =
0.6666667
Разбор задачи с www.kaggle.com 8 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Метод решения
11.. ППррееддооббррааббооттккаа ддаанннныыхх
22.. ГГееннеерраацциияя ппррииззннааккоовв
33.. ВВыыббоорр ммооддееллии // ннаассттррооййккаа
44.. ААннссааммббллии
55.. ДДееффооррммаацциияя ооттввееттоовв // рреешшааюющщееее ппррааввииллоо
Разбор задачи с www.kaggle.com 9 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Построение очень простой модели!
SSaannddiisskk 1166GGBB nnoonn--HHSS MMSSDD FFllaasshh
DDrriivvee 33iinn11 -- BBllaacckk ((SSDDSSDDQQRR--001166GG--
TT4466AA))
УУддаалляяеемм hhttmmll--ттееггии,,
ссххллооппыыввааеемм ттеекксстт,,
ууддаалляяеемм ссппееццссииммввооллыы
ssaannddiisskk1166ggbbnnoonnhhssmmssddffllaasshhddrriivvee33iinn11
bbllaacckkssddssddqqrr001166ggtt4466aa
ДДееллааеемм 33--ггррааммммыы
ssaann,,aanndd,,nnddii,,ddiiss,,iisskk,,sskk11,,kk1166,,1166gg,,
66ggbb,,ggbbnn ......
ККссттааттии,, ддлляя ппррааввииллььннооггоо ссллоовваа
""ssccaannddiisskk""::
ssccaa,, ccaann,, aanndd,, nnddii,, ddiiss,, iisskk
ППееррееххооддиимм кк ммооддееллии
""ммеешшоокк ссллоовв""
++ ttff--iiddff
33--ггррааммммыы ммооггуутт ппооббееддииттьь ооппееччааттккии..
Разбор задачи с www.kaggle.com 10 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Другие подходы (2е место)
hhaarrddiisskk hhaarrdd ddrriivvee
eexxtteennaall eexxtteerrnnaall
ssooddaa ssttrreeaamm ssooddaassttrreeaamm
ffrraaggaannccee ffrraaggrraannccee
1166 ggbb 1166ggbb
3322 ggbb 3322ggbb
550000 ggbb 550000ggbb
22 ttbb 22ttbb
sshhooppppee sshhoopp
rreeffrriiggiirraattoorr rreeffrriiggeerraattoorr
aassssaassssiinnssss aassssaassssiinnss
hhaarrlleeyyddaavviiddssoonn hhaarrlleeyy ddaavviiddssoonn
hhaarrlleeyy--ddaavviiddssoonn hhaarrlleeyy ddaavviiddssoonn
ННаа ппррааккттииккее ттаакк ттоожжее ддееллааюютт ––
ммннооггоо ррууччнноойй ррааззммееттккии..
ЗЗддеессьь ддлляя ппррооссттооттыы ммооддееллии ннее
ссттааллии
ЗЗааммееттиимм,, ччттоо ммооддеелльь ссттааннооввииттссяя ппееррееооббууччеенннноойй..
ДДлляя ннооввыыхх ззааппррооссоовв ттааккооггоо ррууччннооггоо
ууссттррааннеенниияя ннееооддннооззннааччннооссттеейй ннеетт!!
Разбор задачи с www.kaggle.com 11 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Другие подходы (1е место)
ЗЗддеессьь ссооззддаанн ссллооввааррьь ссииннооннииммоовв
cchhiilldd,, kkiidd kkiidd
bbiiccyyccllee,, bbiikkee bbiikkee
rreeffrriiggeerraattoorr,, ffrriiddggee,, ffrreeeezzeerr ffrriiddggee
ffrraaggrraannccee,, ppeerrffuummee,, ccoollooggnnee,, eeaauu ddee ttooiilleettttee ppeerrffuummee
ВВссее ддееллааллии ссттееммммииннгг ((ммыы ннеетт))..
Разбор задачи с www.kaggle.com 12 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Признаки
ННаассккооллььккоо ппооххоожжии ттееккссттыы??
ТТооччннееее:: ммнноожжеессттвваа
ssaann,,aanndd,,nnddii,,ddiiss,,iisskk,,sskk11,,kk1166,,1166gg,, 66ggbb,,ggbbnn ......
ssccaa,, ccaann,, aanndd,, nnddii,, ddiiss,, iisskk
ccooss--ммеерраа,,
ммоощщннооссттьь ппеерреессееччеенниияя ((ннооррммииррооввааннннааяя))
Разбор задачи с www.kaggle.com 13 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Признаки
cos(описание, запрос)
cos(описание, запрос) нормируем на
max(описание, запрос) по всем описаниям этого запроса
mean(cos(описание, описание всех товаров этого запроса в
обучении: оценка = 4))
оценка товара: на нём max cos(описание, его описание)
описание =
само описание
заголовок
заголовок + описание
Разбор задачи с www.kaggle.com 14 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Признаки
– это взаимодействия блоков данных!
Разбор задачи с www.kaggle.com 15 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Выбор модели
ИИззннааччааллььнноо ппррооббллееммаа ккаакк ннаассттррааииввааттььссяя::
11.. ЗЗааддааччаа ккллаассссииффииккааццииии сс ккллаассссааммии [[11,, 22,, 33,, 44]]
22.. ЗЗааддааччаа ррееггрреессссииии сс ммееттккааммии [[11,, 22,, 33,, 44]]
33.. ЗЗааддааччаа ррееггрреессссииии сс ммееттккааммии [[11,, 44,, 99,, 1166]]
44.. ЗЗааддааччии ккллаассссииффииккааццииии//ррееггрреессссииии сс ммееттккааммии
[[00,, 11,, 11,, 11]]
[[00,, 00,, 11,, 11]]
[[00,, 00,, 00,, 11]]
Разбор задачи с www.kaggle.com 16 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Выбор модели
ИИззннааччааллььнноо ппррооббллееммаа ккаакк ннаассттррааииввааттььссяя::
11.. ЗЗааддааччаа ккллаассссииффииккааццииии сс ккллаассссааммии [[11,, 22,, 33,, 44]]
ппллооххоо –– ннеетт ууччёёттаа ппоорряяддккаа
22.. ЗЗааддааччаа ррееггрреессссииии сс ммееттккааммии [[11,, 22,, 33,, 44]]
ххоорроошшоо
33.. ЗЗааддааччаа ррееггрреессссииии сс ммееттккааммии [[11,, 44,, 99,, 1166]]
ннуужжнныы ээккссппееррииммееннттыы
44.. ЗЗааддааччии ккллаассссииффииккааццииии//ррееггрреессссииии сс ммееттккааммии
[[00,, 11,, 11,, 11]]
[[00,, 00,, 11,, 11]]
[[00,, 00,, 00,, 11]]
ККаакк ппооттоомм ииссппооллььззооввааттьь ооттввееттыы??
Разбор задачи с www.kaggle.com 17 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Настройка модели
model <- randomForest(M1, mr, mtry=40, ntree=200, nodesize=10)
a <- predict(model, M2)
b = pmin(pmax(round(1.45*(a-3.309805)+3.309805),1),4)
ИИссппооллььззооввааллииссьь ссллууччааййнныыее ллеессаа
((ддаажжее ннее ббыыллоо ззааввииссииммооссттии оотт ппааррааммееттрроовв!!))
Разбор задачи с www.kaggle.com 18 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Отладка
kk--ffoolldd
Разбор задачи с www.kaggle.com 19 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Ответы алгоритма
ППооччееммуу ммееддииааннаа ррааззнныыхх ааллггооррииттммоовв ллууччшшее ууссррееддннеенниияя??!!
Разбор задачи с www.kaggle.com 20 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Почему нужны деформации
hist(train[,1], probability=TRUE, col='light blue')
points(density(a), type='l', lwd=2, col='red')
Разбор задачи с www.kaggle.com 21 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Почему нужны деформации
ЕЕссллии ппррооссттоо ооккррууггллииттьь –– ппееррееккоосс вв рраассппррееддееллеенниияяхх
hist(round(a), probability=TRUE, col='pink')
Разбор задачи с www.kaggle.com 22 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Почему нужны деформации
ССппееццииааллььннааяя ддееффооррммаацциияя рраассппррееддееллеенниияя ввыыррааввннииввааююттссяя
hist(pmin(pmax(round(1.45*(a-3.309805)+3.309805),1),4), probability=TRUE, col='green')
Разбор задачи с www.kaggle.com 23 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Почему нужны деформации
ВВ ппррииннццииппее,, ммоожжнноо ппррооссттоо ввыыббииррааттьь ппооррооггии,, ччттооббыы
ввыыррооввнняяттьь рраассппррееддееллеенниияя
ппооввыыссииттьь ккааччеессттввоо ннаа ккооннттррооллее
Разбор задачи с www.kaggle.com 24 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Почему нужны деформации
Как зависит качество от множителя
pmin(pmax(round(1.45*(a-3.309805)+3.309805),1),4)
Кстати, 3.309805 – средняя оценка.
Разбор задачи с www.kaggle.com 25 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Для справки
Хорошая выдача (рел.3-4) похожа на хорошую выдачу в обучении (3-4).
Плохая выдача (1-2) может быть не похожа на плохую выдачу!
Разбор задачи с www.kaggle.com 26 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Для справки
Решающее правило – переводит ответы регрессионных
алгоритмов в окончательные.
Обычно
простое
тоже требует настройки
использует постановку задачи
(непересечение классов, малое число меток у объектов и т.п.)
Разбор задачи с www.kaggle.com 27 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Решение победителя (Chenglong Chen)
https://github.com/ChenglongChen/Kaggle_CrowdFlower
Разбор задачи с www.kaggle.com 28 слайд из 28 Александр Дьяконов (Москва, МГУ)
Moscow Data Science Meetup 27 мая 2016 года
Задача Search Results Relevance
Recommended