はじめに
この記事は株式会社ZOZOが論文で公開したものを輪読しているものになります。
この論文でのデータセットであるShift15Mとは
ファッションアプリ「IQON」に投稿されたコーディネートを基に構成された大規模データセットです。本データセットは、IQONのサービス提供期間である2010年から2020年までに投稿されたコーディネート約255万件のほか、これらのコーディネートを構成する約1,500万件のアイテムに関する特徴量、アイテムカテゴリに関するデータやコーディネート投稿への「いいね」数などの関連データも含みます。
(以下参照)
1.セット間マッチングとは
2つの異なるアイテムのセットを、何らかの基準に基づいてマッチングさせること
例えば、ファッションの文脈では、衣服アイテムのセットをマッチングすることで、服の完成度を測定するために使用することができる。
画像のような高次元アイテムの文脈では、従来の方法ではそのようなアイテムのセットを比較してマッチングすることは困難であるため、セット間マッチングは重要である。
この問題を解決するためにニューラルネットワークが適用されてきたが、ほとんどの機械学習ベースのアプローチは、訓練データとテストデータが同じ分布に従うことを前提としており、これは実世界のシナリオでは必ずしも真実ではない。
そこでSHIFT15Mデータセットの出番と述べている。
SHIFT15Mデータセットは、分布シフトの下でセット間マッチングモデルを評価するために使用できる。
そもそも分布シフトとは
訓練データとテストデータの分布の差異のことをさしている。
Shift15Mデータセットの有用性
SHIFT15Mデータセットは、分布シフト下でのセット間マッチングモデルを評価するための貴重なリソースを提供することにより、訓練データとテストデータが同じ分布に従うと仮定する機械学習ベースのアプローチの限界に対処する。
このデータセットは、実世界のアプリケーションで一般的に観察される様々なタイプのデータセットシフトをシミュレートしており、2010年から2020年までの10年間に渡り、ユーザー行動の変化、ファッショントレンド、文化的嗜好などの要因から生じるシフトを網羅している。
これにより、研究者はさまざまなタイプやサイズのシフトを実験することができ、訓練/評価/テストの分割プロセスが自動化され、さまざまなシフトシナリオの下でのモデルの性能評価が容易になります。
SHIFT15Mデータセットは、実際の流通シフトを反映したデータセットを提供することで、より現実的で困難な条件下でのセット間マッチングモデルの評価を可能にする。
理想な形
トレーニングデータとテストデータの間で入力変数xに対する出力変数yの条件付き確率が同じである場合は望ましい現象である
ptr(x) = pte(x)で
ptr(y|x) = pte(y|x)が成り立つことは、モデルが共変量シフトに対して頑健であり、トレーニングデータで学習した条件付き確率分布がテストデータにおいても有効であることを示唆しています。このような場合、モデルの汎化性能が向上し、実世界のデータに対して信頼性の高い予測を行うことが期待されます。
実際の問題点
ファッション分野における共通現象
トレンドの変化
これらの現象は、ファッションの色合いなどの年間のトレンド変化から、夏から冬への季節的なトレンド変化まで、様々なスケールで観察される。
これらがある限り、訓練データとテストデータが同じであるということはほぼ実生活の中ではない。
3つの定義
共変量シフト(covariate shift)について
共変量シフトとは、トレーニングデータとテストデータの間で入力変数の分布が異なるという仮定を指します。
具体的には、条件ptr(x) ≠ pte(x)が成り立ち、かつp(y|x) = ptr(y|x) = pte(y|x)が成り立つ場合に、共変量シフトが発生しているとみなします。言い換えると、入力変数xの分布が異なる一方で、条件付き確率p(y|x)が変化していない場合に、共変量シフトが発生していると定義されています。
言葉で説明すると、
購入するアイテムが訓練データとテストデータで特徴量が同じなのに、それを購入した条件の下で購入するものが同じである現象が共変量シフトであると言っている。
ターゲットシフト
ターゲットシフトは、訓練データとテストデータの出力変数の分布が異なる場合に発生します。
Definition 1.2では、ターゲットシフトが発生している場合の条件を示しています。具体的には、訓練データとテストデータの出力変数の分布が異なる場合、つまりptr(y) ≠ pte(y)である場合、かつ、出力変数yが与えられた条件下での入力変数xの条件付き確率分布が訓練データとテストデータで異なる場合、つまりp(x|y) ≠ ptr(x|y) = pte(x|y)である場合、ターゲットシフトが発生していると考えられます。
先ほどの共変量シフトの逆バージョンみたいな感じですかね
一般的なデータセットシフトについての定義
この定義では、データセット全体の変数をいくつかの部分集合に分割し、それぞれの部分集合における条件付き確率分布の変化に注目しています。
具体的には、Zを不変の変数(immutable variables)の集合、
Wを変動可能な変数(mutable variables)の集合、
VをZとWの両方に含まれない残りの従属変数(dependent variables)の集合と定義します。
このような変数の分割により、ptrの因数分解が以下のように定義されます。
ptr (v|w, z)ptr (w|z)ptr (z)
ptr (v|w, z)ptr (w|z)ptr (z)は、確率変数V、W、Zに関する同時確率分布を表しています。
そして、定義1.3では、訓練データとテストデータの間で一般的なデータセットシフトが発生していると考えられる条件を示しています。具体的には、訓練データとテストデータの間で、変動可能な変数Wが与えられた条件下での不変の変数Zの条件付き確率分布が異なる場合、つまりptr(w|z) ≠ pte(w|z)である場合、一般的なデータセットシフトが発生していると考えられます。
ZとWという2つの変数を定義し、これらの変数に基づいてデータセットシフトを定義しています。この定義は、他のデータセットシフトを一般化するものであり、
例えば、Z = ∅ および W = X とすると、
これは共変量シフトに対応します。
次の展望
次は2章から説明していきたいと思います。
誤植があればコメントいただけると幸いです。。
年末年始の休日にすべて読めるかわかりませんが、
楽しみながら読んでいきたいです。