Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
推薦データ分析コンペに参加して得た知見
Search
Yudai Hayashi
January 10, 2024
Programming
560
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
推薦データ分析コンペに参加して得た知見
AIミーティング(2024/01/10)での登壇資料
Yudai Hayashi
January 10, 2024
More Decks by Yudai Hayashi
See All by Yudai Hayashi
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
4
380
Off-Policy Evaluation and Learning for Matching Markets
yudai00
0
160
ジョブマッチングプラットフォームにおける推薦アルゴリズムの活用事例
yudai00
0
180
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
780
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
1.4k
人とシゴトのマッチングを実現するための機械学習技術
yudai00
1
140
MCPを理解する
yudai00
18
15k
データバリデーションによるFeature Storeデータ品質の担保
yudai00
1
290
「仮説行動」で学んだ、仮説を深め ていくための方法
yudai00
8
2.1k
Other Decks in Programming
See All in Programming
バグを直したら useEffect が消えた
colorful12
3
760
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
560
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
2
240
ALB ログから Trace を気合で繋げる技術
fohte
7
750
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
2.2k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
5
1.8k
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
200
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.3k
Flow は今どうなっているか
mizdra
PRO
0
750
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
730
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
550
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Why Our Code Smells
bkeepers
PRO
340
58k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
940
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Optimizing for Happiness
mojombo
378
71k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
500
Transcript
© 2024 Wantedly, Inc. 推薦データ分析コンペに参加して得 た知見 AIミーティング 2024/01/10 Jan. 10
2024 - Yudai Hayashi
© 2024 Wantedly, Inc. INTERNAL ONLY 自己紹介 林 悠大 • 経歴:
◦ 東京大学工学系研究科でPh.D取得 ◦ 2022年にウォンテッドリーにデータサイ エンティストとして新卒入社。推薦シス テムの開発を行う • X: @python_walker • 趣味: ◦ 読書 ◦ 音楽聴くこと ◦ ウイスキー
© 2024 Wantedly, Inc. INTERNAL ONLY 今日話すこと • データ分析コンペって何? •
どんなコンペに参加した? • 参加することでどんな知見を得られた?
© 2024 Wantedly, Inc. INTERNAL ONLY データ分析コンペとは • 与えられた課題に対して精度の高いモデルを構築して競うコンペ •
有名なものだとKaggleやatma, signateなど • なぜ参加するのか ◦ 普段の業務にとらわれない幅広い知識を学べる ◦ 新しいことを試せる
© 2024 Wantedly, Inc. INTERNAL ONLY 今回参加したコンペ • atmaで開催されたコンペ •
期間は一週間 • テーマはじゃらんのセッションデータを用いた予約される宿の予測 • 評価指標はMAP@10 https://www.guruguru.science/competitions/22
© 2024 Wantedly, Inc. INTERNAL ONLY 与えられたデータ • セッション情報 ◦
どの順番でどの宿を見たか • 宿の情報 ◦ 所在地 (地方、都道府県などがエンコード) ◦ 宿の部屋数 ◦ 立地の情報 (駅が近い、コンビニが近い、、、) ◦ 宿の画像のembedding ◦ … • データの難しかったところ ◦ 長さが1のセッションが大量にあった
© 2024 Wantedly, Inc. INTERNAL ONLY おおまかな方針 • 宿は1.4万件くらい、セッションは40万個あるので全組み合わせ(56億通り!)で推 論すると計算にかなりの時間がかかるし非効率
• 候補の絞り込み + 並び替えの2-stage構成でモデルを構築 ◦ 候補生成:予約されそうな宿をざっくり取ってくる ◦ リランキング:候補を予測される確率が高い順に並び替える 宿全体 Top-10 Candidate Generator Re-ranker
© 2024 Wantedly, Inc. INTERNAL ONLY 候補生成の方法 複数の手法を組み合わせて、予約されそうな宿の集合を構築する • セッション中に出現する宿
• 見ている宿とよく一緒に見られている 宿 • 見ている宿の次に見られていることが 多い宿 上位解法で使われていた手法 • グラフ構造を使った生成 ◦ ProNE ◦ 共起グラフからクラスタ係数や ホップ数を計算
© 2024 Wantedly, Inc. INTERNAL ONLY リランキングの方法 LightGBMでbinary classificationタスクとして解いた •
セッションの情報 ◦ どの地域の宿を見ている? ◦ どんな条件で宿を見ている? • 宿の情報 ◦ どこにある? ◦ どんな立地? • 候補生成で使った特徴量 ◦ セッションで見られていた宿とどれくらい一緒に見られている? 上位解法で使われていた手法 • セッションの長さが1のものに対しては遷移確率を使ったルールベース手法 • train/testでのデータの傾向変化に影響を受けづらい特徴量設計
© 2024 Wantedly, Inc. INTERNAL ONLY まとめ • 業務とは異なるドメインのデータを使えることで得られた学びは多かった •
他の参加者の挙げたディスカッションを通して色々なデータの見方を学べた ◦ train/testでデータ分布が変わっている ◦ セッションで見ている地域と予約した地域が異なるときの考察 ◦ etc.