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
2
500
推薦データ分析コンペに参加して得た知見
AIミーティング(2024/01/10)での登壇資料
Yudai Hayashi
January 10, 2024
Tweet
Share
More Decks by Yudai Hayashi
See All by Yudai Hayashi
ジョブマッチングプラットフォームにおける推薦アルゴリズムの活用事例
yudai00
0
37
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
620
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
1.1k
人とシゴトのマッチングを実現するための機械学習技術
yudai00
1
48
MCPを理解する
yudai00
17
12k
データバリデーションによるFeature Storeデータ品質の担保
yudai00
1
190
「仮説行動」で学んだ、仮説を深め ていくための方法
yudai00
8
1.9k
相互推薦システムでのPseudo Label を活用したマッチ予測精度向上の取り組み
yudai00
1
910
Wantedly Visitにおけるフリーワード検索時の推薦のオンライン化事例紹介
yudai00
1
290
Other Decks in Programming
See All in Programming
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.7k
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
200
株式会社 Sun terras カンパニーデック
sunterras
0
120
CSC305 Lecture 02
javiergs
PRO
1
250
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
210
defer f()とdefer fの挙動を 誤解していた話
kogamochiduki
1
110
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
590
気づいて!アプリからのSOS 〜App Store Connect APIで始めるパフォーマンス健康診断〜
waka12
0
220
チームのテスト力を鍛える
goyoki
4
1.2k
Astroの使用感とディレクトリ設計についての考察
saku0109
0
150
CSC305 Lecture 01
javiergs
PRO
1
380
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
20
10k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Building Applications with DynamoDB
mza
96
6.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building Adaptive Systems
keathley
43
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
600
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
78
6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Practical Orchestrator
shlominoach
190
11k
The World Runs on Bad Software
bkeepers
PRO
71
11k
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.