SlideShare a Scribd company logo
1 of 29
Download to read offline
What you choose indicates
what you value.
Chen(@yuno_miyako)
which do you like the best?
dogs, cats or wolves?
犬 猫 オオカミ
かわいさ 6pt 8pt 2pt
つよさ 6pt 2pt 10pt
人懐っこさ 9pt 5pt 1pt
価格 8pt 8pt 2pt
If you like cute things, probably you
chose cats.
犬 猫 オオカミ
かわいさ 6pt 8pt 2pt
つよさ 6pt 2pt 10pt
人懐っこさ 9pt 5pt 1pt
価格 8pt 8pt 2pt
If you like cute but you value be liked, probably
you can’t decide which to choose dogs or cats.
犬 猫 オオカミ
かわいさ 6pt 8pt 2pt
つよさ 6pt 2pt 10pt
人懐っこさ 9pt 5pt 1pt
価格 8pt 8pt 2pt
You have an Evaluation function
重み
かわいさ ×5
つよさ ×1
人懐っこさ ×6
価格 ×3
Then you can choose one
犬 猫 オオカミ
かわいさ 6pt ×5 8pt ×5 2pt ×5
つよさ 6pt ×1 2pt ×1 10pt ×1
人懐っこさ 9pt ×6 5pt ×6 1pt ×6
価格 8pt ×3 8pt ×3 2pt ×3
総合得点 114pt 96pt 32pt
What I want to do is
Speculating your Evaluation function
by what you chose
犬、猫、オオカミがいて、
あなたが犬を選んだという情報から
あなたの評価関数を推測する。
What for? ①
例えば、同一種の複数の製品が並んだ棚を置い
ておき、どれが選ばれるかを観測することで、
消費者がなにを重視してものを選んでいるかを
推測することができる。
What for? ②
他にも、ゲームのNPCエージェントの行動の予
測に使える。
NPCエージェントは大抵、評価関数を最大化す
る方向へ動くようにプログラムされている。
評価関数が推定できれば、NPCの行動が予測で
き、対抗する人工知能の優位度が向上する。
Let’s do it
What data you can use
K品目の商品があり、そ
れぞれの特徴量がn次元
でありそれぞれの値がわ
かっているものとする。
どの商品が選ばれたかが
分かっているものとする。
商品1 商品2 商品K
特徴1 a11 a12 a1k
特徴2 a21 a22 a2k
特徴n an1 an2 ank
What you don’t know
重みベクトルの値は無知。ただし特徴量がn次元
であることを知っているので、重みベクトルはn
次元である。
w = (w1, w2, · · · , wn)
feature vector
i番目の商品の特徴量のベクトルを次のように表
せば、
xi
= (x1, x2, · · · , xn)
先ほどの重みベクトルと、この特徴ベク
トルの内積の和が最大になるものが選択
される。
つまり選択されたものをx*とすると以下
の式が成り立つ。(ただしiは 1から K)
wT
x* wT
xi
0
であるので、x* - xiをyiと置けば次のよう
な簡単な式になる。
wT
(x* xi
) 0
wT
yi
0
What does it means?
この式は、ベクトルwとベクトルyの角度を規定
していることになる。どのベクトルyとも角度が
90度以下の領域にwが存在していることを示唆し
ている。
wT
yi
0
evaluate w with restraint condition
このままではwの領域しか分からないので、wに
拘束条件をつけることでwの値を求めよう。
一つ目の拘束条件は長さを規定する。wの要素
の和が1になるように設定する
w1 + w2 + · · · + wn = 1
evaluate w with restraint condition
まだ角度の自由度が残っているので、ランダムな
方向ベクトルrを与え、これと最も方向が近くな
るもの選ぶことにする。
rT
w ! max
What we got
以上より、線形計画問題に帰着することができ
たので、あとはシンプレックス法によりwを求め
ることが可能である。
wT
yi
0
subject to
rT
w ! max
w1 + w2 + · · · + wn = 1
matrix Y
一回だけ選んだのでは、精度よく評価関数を推定
するのは不可能。
そこで何度も選んでもらい、yiをたくさん算出す
ることで精度がよくなる
yiを集めたものを行列Yとする。
するとwTyi ≧ 0ではなくYw ≧ 0が拘束条件となる。
Rで実際にやってみた
まず正解の重みをw = c(0.5 , 0.3 , 0 , 0.2)とする。
これが実際に推定できるかどうかを確かめてみ
よう。
問題設定
特徴量の次元は4
5つの品物から1つ選ぶ
品物を変えて選ぶ操作を30回おこなう
問題設定
w = c(0.5 , 0.3 , 0 , 0.2)
次元 = length(w)
品数 = 5
繰り返し = 30
Y = matrix(0 , ncol = 次元 , nrow = 品数 * 繰り返し + 1)
//行列Yの初期化
行列Yを作る
for(k in 1 : 繰り返し){
X = matrix(runif(次元 * 品数) , ncol = 次元 , nrow = 品数)
#ランダムな特徴量を持つ品物を行列にまとめる
価値 = X %*% w
#積をとって価値を算出する
ind = which.max(価値)
#価値が最も高いものが選ばれる
print(X)
print(paste(ind ,"が選ばれました"))
x_star = X[ind , ]
#x*を作り、以下の要領で行列Yを作る
for(i in 1 : 品数){
Y[i + (k - 1) * 品数 , ] = t(x_star) - X[i , ]
}
}
Y[品数 * 繰り返し + 1, ] = rep(1 , 4)
#最後に長さを規定するための行を追加しておく
線形計画問題を解く
library(linprog)
ran_vec = runif(4) #wの方向性を決めるランダムベクトル
cv = solveLP(ran_vec , c(rep(0 , 品数 * 繰り返し) ,
sum(w) ) ,Y, const.dir = c(rep(">=" , 品数 * 繰り返し) ,
"<=" ) , maximum =TRUE)
cv$solution
結果
w1 w2 w3 w4
正解 0.5 0.3 0 0.2
推定値 0.501 0.274 0.000 0.224
推定できた(嬉しい)
問題点
特徴量がすべて分かっているという非現実的な
仮定
もし関数形が実際は線形でなかったり、ときど
き評価関数でない方法で選択していた時、線形
計画問題の拘束条件が厳しいため、解が得られ
ない可能性が高い。

More Related Content

Viewers also liked

Thailand Internet User Profile 2013
Thailand Internet User Profile 2013Thailand Internet User Profile 2013
Thailand Internet User Profile 2013
Electronic Transactions Development Agency
 
Customer_Communications_in_2025 whitepaper
Customer_Communications_in_2025 whitepaperCustomer_Communications_in_2025 whitepaper
Customer_Communications_in_2025 whitepaper
Anthony Chiusano
 

Viewers also liked (8)

Thailand Internet User Profile 2013
Thailand Internet User Profile 2013Thailand Internet User Profile 2013
Thailand Internet User Profile 2013
 
何が選ばれたかという情報から評価関数推定3
何が選ばれたかという情報から評価関数推定3何が選ばれたかという情報から評価関数推定3
何が選ばれたかという情報から評価関数推定3
 
Customer_Communications_in_2025 whitepaper
Customer_Communications_in_2025 whitepaperCustomer_Communications_in_2025 whitepaper
Customer_Communications_in_2025 whitepaper
 
De argentina hasta japón
De argentina hasta japónDe argentina hasta japón
De argentina hasta japón
 
Matter by Angel del Águila y María Blanco
Matter by Angel del Águila y María Blanco Matter by Angel del Águila y María Blanco
Matter by Angel del Águila y María Blanco
 
Cyber threat alerts 2011
Cyber threat alerts 2011Cyber threat alerts 2011
Cyber threat alerts 2011
 
Cyber security articles 2012
Cyber security articles 2012Cyber security articles 2012
Cyber security articles 2012
 
何が選ばれたかという情報から評価関数推定4
何が選ばれたかという情報から評価関数推定4何が選ばれたかという情報から評価関数推定4
何が選ばれたかという情報から評価関数推定4
 

なにが選ばれたかという情報から評価関数を推定する