人は、3つの中から最も類似する2つのアイテムを繰り返し選択します。アイテム間の知覚距離をモデル化/推定する方法は?


8

人には3つの項目(顔の写真など)が与えられ、3つの顔のうちどれが最も類似しているかを選択するよう求められます。これは、顔のさまざまな組み合わせで何度も繰り返されます。各顔は多くの組み合わせで発生する可能性があります。この種のデータを考慮して、各面間の距離が2D空間(または3D、4Dなど)に配置され、各面間の距離が参加者。

これをモデル化/推定するための良い(おそらく標準的な)方法は何でしょうか?

モデル/論文および/またはソフトウェアパッケージへのポインタは高く評価されます。


私は個人的に、このようなタスクに「標準的な」方法があるとは思いません。あなたの研究のための距離関数の合理的なアドホック式を発明することができます。次のいずれかまたは両方の概念に基づくことができます。1)「類似した」アイテムは、同じ人物が選択することが多いアイテムです。2)「類似」アイテムは、同じ対戦相手アイテムよりも選択される傾向があるアイテムです。
ttnphns 2014年

うーん、私はあなたが多項式のことをできると思っていましたが、それは私がまだ解決したことではありません。これはかなり「自然な」実験的なセットアップのように思えると私はこれについてすでにいくつかの文献があるかもしれないと思っていました...
RasmusBååth14年

多次元スケーリングは、標準的な方法がある限り、これを処理する「標準的な」方法に近いと思います。刺激の各ペアについて観察された類似性は、これらの2つの刺激がランダムに選択された3番目の刺激よりも類似していると判断された時間の割合(おそらく何らかの変換)です。このようなモデルは、例えば、使用して迅速かつ容易に実装できますMASS::isoMDS()R
Jake Westfall、2014年

回答:


7

この種の問題に対する適切なアプローチは、Cox et al(2000)による論文The Bayesian Image Retrieval System、PicHunterのセクション4にあります。データは、結果の整数の集合である Nは試行回数です。あなたのケースでは、トライアルごとに3つの可能な結果があります。私ができるようになるAは私が取り残された顔のインデックスです。アイデアは、いくつかのモデルパラメーターを指定して結果の生成モデルを仮定し、最尤法でパラメーターを推定することです。顔X 1X 2XA1,...,ANNAiおよび参加者がX 2X 3が最も類似しているとすると、結果は A = 1であり、確率は p A = 1 | X 1X 2X 3exp d X 2X 3/ σ ここで d X 2X 3(X1,X2,X3)(X2,X3)A=1

p(A=1 | X1,X2,X3)exp(d(X2,X3)/σ)
d(X2,X3)は、面2と3の間の距離ですは、「ノイズ」の量(つまり、参加者の一貫性の程度)のパラメータです。ユークリッド空間への埋め込みが必要なため、距離の測定は次のようになります: d x y = σθxは、顔の埋め込み(未知)であるX。このモデルのパラメーターはθσであり、最尤法を使用してデータから推定できます。紙は、勾配上昇を使用して最大値を見つけました。
d(x,y)=k(θxkθyk)2
θxxθσ

紙は未知の埋め込みではなく、画像の既知の属性を使用して距離を計算したため、紙のモデルは少し異なりました。埋め込みを学ぶには、はるかに大きなデータセットが必要であり、各顔が複数回表示されています。

この基本モデルは、すべての試験が独立しており、すべての参加者が同じであることを前提としています。このアプローチのすばらしい利点は、モデルを簡単に装飾して、非独立性、参加者効果、または他の共変量を含めることができることです。


d

dd

1

思想:

固有面は、100万次元のスペースを数十次元に変換するための適切な方法だと思います。

前提:

それでは、きちんとしたeigenfacesツール、または次のツールを使用していると仮定します。

  • 適切な機能を調整するための前処理を行います
  • 適切な方法で色を処理する
  • 使用する画像がすべて同じサイズであることを確認します

これは、要素が基底を構成する固有面ごとの重みである、サイズがO(n = 50)要素のベクトルと同じくらい「画像」がないことを意味します。

分析:

最初に、150要素のベクトル(重みの連結)を入力として作成し、1要素のベクトル(最も一致する要素)を出力として作成します。要素1と2が最も近い場合、出力値は「12」になります。要素1と3が最も近い場合、出力は「13」になります。要素2と3が最も近い場合、出力は「23」になります。一意の出力が3つしかない場合、「12」の場合はケース1、「13」の場合はケース2、「23」の場合はケース3に再マッピングできます。

第二に、無意味なデータをできるだけ多く捨てたいです。これは、ランダムフォレストのようなものを使用して、約150の列のうちどれが有益ではなかったかを判断しようとすることを意味します。「ランダムエビルツインメソッド」もありますが、Rがランダムフォレストを使用する場合のように、指先で操作することはできません。(これに適したRライブラリをご存知の場合は、コメント欄に入れてください)。

3番目に、私の個人的な経験では、適切なサンプルサイズと適切な基準がある場合、ランダムフォレストは通常​​、15,000列からでも、関心のある〜30の変数にドロップできます。ここで、答えの一般的な形式を検討する必要があります。

これらの変数の12種類の変換を試して、削減された入力を出力にマッピングすることができます。

  • 削減された入力のRFをトレーニングして、それを良いと言えます。
  • RFよりもスムーズな補間と一般化が必要な場合は、減少した入力でNNをトレーニングできます
  • 入力に対して何らかの線形変換を使用できます
  • 他にも数十個のMLハンマーがありますが、ハンマーの場合、すべての問題が釘のように見えます。

より多くの考え:

  • 削減されたセット参照がどの固有面であるかについて知りたいです。私はそのデータを見て、それを私に話させたいと思っています。
  • 私はあなたのサンプルサイズとあなたのバリエーションの性質についてかなり興味があります。3つの行を見ている場合、150列であっても生産性は高くありません。数千の行がある場合、あなたは素晴らしい状態にあるかもしれません。数百行で、平均的かもしれません。人種、顔の形などのバリエーションのすべての原因を説明していただければ幸いです。
  • 最初に単純なモデルを確認することを恐れないでください。彼らは良いことができます。それらの解釈と適用性は簡単に評価されます。それらの実行は、複雑で高感度な方法よりも大幅に少ない労力でテストおよび確認できます。

更新:
「ランダムエビルツイン」ツールは「ボルタ」です。(リンク

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.