【国等の委託研究の成果に係る記載事項】(出願人による申告)平成25年度、独立行政法人科学技術振興機構、戦略的創造研究推進事業「ビッグデータ統合利活用のための次世代基盤技術の創出・体系化」(CREST)、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記学習処理部は、各選択環境における前記環境依存ベクトルおよび各選択主体の前記嗜好ベクトルに対応して前記履歴データにおける選択が発生する確率に基づく目的関数を用いて各選択環境における前記環境依存ベクトルおよび各選択主体の前記嗜好ベクトルを算出する
請求項1から8のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態の情報処理装置10が構築する選択モデルの一例を示す。ここでは、選択主体である消費者が、選択対象である商品A、商品B、商品C及び商品Dから1つを選択する場合を例に説明する。消費者は、環境依存度と、消費者自身の各商品に対する嗜好度とに基づいて、1つの商品を選択する。
【0011】
環境依存度は、選択環境において選択対象の選択主体への提示態様及び/又は選択主体の認知バイアス(例えば、おとり効果、アンカー効果及び確証バイアス等)の結果生じる、選択環境のそれぞれにおける各選択対象の選択されやすさを示し、選択対象自体の特徴とは直接関係が無いパラメータである。
図1の例において、消費者は、商品A、商品B、商品C及び商品Dのうち環境依存度の高い商品A、商品B及び商品Cを選択肢として認識し、そのうち消費者の嗜好度との合致度が高い商品Bを最終的に購入する。
【0012】
図2は、
図1の選択モデルにおける商品陳列の一例を示す。例えば、商品Dが他の商品A〜Cと比較して目立たないように陳列された場合、消費者は商品A〜Dのうち商品A〜Cのみを選択肢として認識する場合がある。一例として、
図2に示すように、他の商品A〜Cが棚全体で多数展示されているのに対し、商品Dが棚の端の方で他商品から離れて1つだけ陳列されていた場合、商品Dは他の商品よりも露出が少なく、消費者に選択肢として認識されないことがある。このような場合、当該選択環境における商品Dについての環境依存度は低いものとなる。
【0013】
本実施形態の情報処理装置10は、このような選択対象の特徴に直接依存しない選択時の環境に関する因子を環境依存度として選択モデルに取り込む。ここで、選択主体が一の選択対象を選択する機会の単位を選択機会とすると、情報処理装置10は、選択機会ごとに独立した選択環境が存在することを想定し、選択機会ごとの環境依存度を設定する。
【0014】
図3は、本実施形態に係る情報処理装置10のブロック図を示す。情報処理装置10は、選択主体が選択対象を選択した履歴から、選択対象の特徴への嗜好度と、選択環境の環境依存度とを推定する選択モデルを生成し、当該選択モデルに基づいて選択対象の将来の選択をシミュレーションする。情報処理装置10は、特徴量取得部110、履歴取得部120、学習処理部150、条件取得部170、シミュレーション部180、及び、出力部190を備える。
【0015】
特徴量取得部110は、複数の選択対象のそれぞれが有する特徴についての特徴量を含む特徴データを取得する。例えば商品を選択対象とする場合、特徴量取得部110は、商品の複数の特徴(例えば、大きさ、色及び価格等)に対応する複数の特徴量を各成分として有する特徴ベクトルを、情報処理装置10の外部又は内部のデータベース20から取得する。特徴量取得部110は、取得した特徴データを学習処理部150に提供する。
【0016】
履歴取得部120は、情報処理装置10の外部又は内部のデータベース20から、選択主体が選択対象を選択した履歴を含む履歴データを取得する。例えば商品を選択対象とする場合、履歴取得部120は、複数の消費者が商品を購入した記録を含む購入履歴を取得する。履歴取得部120は、取得した履歴データを学習処理部150に提供する。
【0017】
学習処理部150は、各選択対象のそれぞれが有する各選択対象の1又は複数の特徴のそれぞれに対応する1又は複数の特徴量と、各選択主体による特徴への嗜好度と、複数の選択環境のそれぞれにおける各選択対象の環境依存度とを用いて複数の選択主体のそれぞれが各選択対象を選択する選択可能性を算出する選択モデルにおいて、各選択主体による特徴への嗜好度および各選択機会ごとの選択環境における各選択対象の選択の環境依存度を、履歴データを用いて学習させる。例えば、学習処理部150は、学習モデルに、ベイズ推定により各選択対象の嗜好度及び選択機会ごとの環境依存度を学習させる。学習処理部150は、学習結果をシミュレーション部180及び出力部190に提供する。
【0018】
条件取得部170は、情報処理装置10のユーザから選択モデルのシミュレーションの実行に必要なシミュレーション条件を取得する。例えば、消費者が商品を選択して購入する選択モデルをシミュレーションする場合、条件取得部170は、消費者の選択対象となる商品の特徴データを取得する。条件取得部170は、取得したシミュレーション条件をシミュレーション部180に提供する。
【0019】
シミュレーション部180は、学習処理部150の学習の結果得られた嗜好度及び環境依存度と、条件取得部170から取得したシミュレーション条件とに基づいて、選択主体が選択対象を選択する選択モデルに基づくシミュレーションを実行する。例えば、シミュレーション部180は、予め定められた嗜好を有する消費者が商品をどのように選択するかのシミュレーションを実行する。シミュレーション部180は、シミュレーションの実行結果データを出力部190に提供する。
【0020】
出力部190は、学習処理部150による学習結果及び/又はシミュレーション部180によるシミュレーション結果を出力する。例えば、出力部190は、学習により得られた嗜好度及び環境依存度、及び/又は、シミュレーションの結果、消費者が商品を購入した結果等を、情報処理装置10のディスプレイ等に表示してよい。
【0021】
このように情報処理装置10は、選択対象への嗜好度だけでなく選択環境の環境依存度に基づいて、選択主体が選択を行う選択モデルを構築する。これにより、情報処理装置10は、選択が行われた環境及び認知バイアス等の選択対象の特徴とは直接関係がない要素の影響を選択モデル内で考慮し、選択主体の選択対象への嗜好度をより正確に推定することができる。また、情報処理装置10は、推定した嗜好度及び環境依存度に基づいて、選択主体が選択を実行する様子をより正確にシミュレートすることができる。
【0022】
図4は、本実施形態の情報処理装置10による学習処理のフローを示す。本実施形態では、主に消費者個人が商品を選択する場合の選択モデルについて説明するが、情報処理装置10の適用対象はこれに限られない。例えば、情報処理装置10は、個人、団体、ロボット及び/又は動物等の意思決定可能な選択主体が、商品、サービス、動作の対象及び/又は取得の対象等を選択対象として選択することを選択モデルとしてモデル化する。
【0023】
本実施形態において、情報処理装置10は、S110〜S140の処理を実行することにより、選択モデルを構築する。
【0024】
まず、S110において、特徴量取得部110は、特徴データとして、K個(Kは2以上の整数)の選択対象のそれぞれについて、各選択対象の複数の特徴に対応する複数の特徴量を示す特徴ベクトルu
(k|k∈K)を取得する。例えば、特徴量取得部110は、選択対象となる各商品kについて、商品の特徴(一例として、大きさ、色、価格、性能、製造者、及び種類等)を数値化した特徴量を各成分として有する特徴ベクトルu
(k)を含む特徴データをデータベース20から取得する。特徴量取得部110は、取得した特徴データを学習処理部150に提供する。
【0025】
次にS120において、履歴取得部120は、複数の選択機会に対応する複数の選択環境のそれぞれにおいて、1又は2以上の選択主体が選択対象を選択した履歴を含む履歴データを取得する。例えば、履歴取得部120は、n(n∈N)番目の選択機会で、m(m∈M)番目の選択主体がk
nm番目の選択対象を選択したことを履歴として取得する。
【0026】
選択機会は、複数の選択主体に対して共通であってよい。例えば、商品の選択を例にとると、履歴取得部120は、1番目の選択機会(n=1)の履歴として、XX月第1週目に百貨店ZZ売場Aで第1消費者が購入した商品k
11と、同期間同店同売り場で第2消費者が購入した商品k
12と、…同日同店同売り場で第M消費者が購入した商品k
1Mとを含む購買履歴を取得してよい。これにより、後に学習処理部150が各選択機会に対応する各選択環境の環境依存度を推定する際に、複数の選択主体に共通の環境依存度を得ることができる。
【0027】
なお、一の選択主体が複数の選択対象を同時に選択する場合は、複数の選択対象をそれぞれ一つの購入機会におけるものとしてよい。例えば、第1消費者がXX月第1週目に百貨店ZZで2個の商品を購入した場合、履歴取得部120は、履歴として、商品k
11として2個の商品に対応する2個のデータを取得してよい。
【0028】
これに代えて、一の選択主体が複数の選択対象を同時に選択する場合は、複数の選択対象をそれぞれ別の購入機会におけるものとしてよい。例えば、第1消費者がXX月第1週目に百貨店ZZで2個の商品を購入した場合、履歴取得部120は、履歴として、商品k
11及び商品k
21を取得してよい。履歴取得部120は、取得した履歴データを学習処理部150に提供する。
【0029】
次に、S130において、学習処理部150は、各選択対象の特徴量と、各選択主体の嗜好度と、環境依存度とを用いて複数の選択主体のそれぞれが各選択対象を選択する選択可能性を算出する選択モデルを構築し、当該選択モデルに各選択主体による特徴への嗜好度および各選択環境における各選択対象の選択の環境依存度を、特徴データ及び履歴データを用いて学習させる。
【0030】
例えば、学習処理部150は、複数の特徴のそれぞれに対する嗜好度を各成分として含む各選択主体mについての嗜好ベクトルw
(m)と、各選択機会nに対応する各選択環境において複数の選択主体に共通する各選択対象の環境依存度とを選択モデルに学習させる。学習処理部150は、特徴ベクトルを所与のものとせず、学習データに基づいて嗜好ベクトル及び環境依存度に加え、各選択対象kの特徴ベクトルu
(k)を選択モデルに学習させてもよい。
【0031】
学習処理部150は、環境依存度の学習において、選択機会nの選択環境についての各選択対象kの選択の環境依存度v
n,kを成分として含む環境依存ベクトルv
(n)を学習してよい。これにより、学習処理部150は、各選択機会において提供される選択環境における、各選択対象の選択されやすさを推定する。
【0032】
学習処理部150は、全ての選択主体に共通の環境依存度v
n,kを学習してもよい。これに代えて、学習処理部150は、選択主体のグループごとに共通の環境依存度v
n,kを学習してもよい。例えば、学習処理部150は、属性が共通する複数の選択主体ごとに共通の環境依存度v
n,kを学習してもよい。一例として、学習処理部150は、男女別、年齢層別、住所別、及び/又は職業別にグループ分けされた複数の選択主体ごとに環境依存度v
n,kを学習してもよい。これにより、例えば、学習処理部150は、選択機会n'に対応する売場で商品k'が、男性には購入の選択肢として認知されやすいが女性には認知されにくいように展示された場合等に、男性用の環境依存度v
mln',k'の値を高くし、女性用の環境依存度v
fmn',k'の値を低くすることにより、認知の性差をモデル化することができる。
【0033】
学習処理部150は、学習処理部150は、選択対象の特徴と選択主体の嗜好の合致度に選択対象の環境依存度を加えたロジットモデルを学習してよい。具体的には、下記数式1に示すように、学習処理部150は、選択機会nで提供される各選択環境において各選択主体mが各選択対象kを選択する選択可能性p(k|w
(m),v
(n))を、当該選択対象の特徴ベクトルu
(k)および当該選択主体の嗜好ベクトルw
(m)の積と、当該選択環境に対応する環境依存ベクトルv
(n)における当該選択対象kに対応する要素v
n,kとに基づいて算出する選択モデルを学習する。
【数1】
…数式1
【0034】
学習処理部150は、この学習処理において、各選択主体による特徴への嗜好度の事後確率分布、及び、各選択環境における各選択対象の選択の環境依存度の事後確率分布を算出してよい。例えば、学習処理部150は、ギブスサンプリング、メトロポリス・ヘイスティング法等のマルコフ連鎖モンテカルロ法(MCMC)に基づくベイズ推定を実行して嗜好度及び環境依存度の事後確率分布を算出してもよい。これに代えて、学習処理部150は、最大事後確率(MAP)推定又は最尤法等を用いて各選択主体による特徴への嗜好度の値、及び、各選択環境における環境依存度の値を推定してもよい。学習処理部150による学習の具体的なアルゴリズムについては後述する。
【0035】
学習処理部150は、学習結果を出力部190に提供する。例えば、学習処理部150は、学習の結果得られた嗜好度の値及び環境依存度の値、又は、これらの事後確率分布をシミュレーション部180及び/又は出力部190に提供する。一例として、学習処理部150は、事後確率分布に基づくサンプル値、及び/又は、事後確率分布の平均値/分散/中央値等を含む学習結果をシミュレーション部180及び/又は出力部190に提供してよい。
【0036】
次に、S140において、出力部190は、学習結果に含まれる嗜好度及び環境依存度の事後確率分布等を情報処理装置10のディスプレイ等に表示してよい。
【0037】
図5は、本実施形態の情報処理装置10によるシュミレーションのフローを示す。本実施形態において、情報処理装置10は、S210〜S230の処理を実行することにより、選択モデルに基づくシミュレーションを実行する。
【0038】
まず、S210において、条件取得部170が、情報処理装置10のユーザから選択モデルのシミュレーションの実行に必要なシミュレーション条件を取得する。例えば、条件取得部170は、複数の選択対象についての特徴ベクトルu
(k)を含む特徴データを取得する。一例として、消費者が商品を選択して購入する選択モデルをシミュレーションする場合、条件取得部170は、消費者の購入対象となる全商品の特徴ベクトルu
(k)を含む特徴データを取得する。
【0039】
また、条件取得部170は、選択が行われる選択環境に関する選択環境情報を取得してよい。例えば、消費者が商品を選択して購入する選択モデルをシミュレーションする場合、条件取得部170は、商品の販売期間、商品の販売場所、及び/又は、商品の展示方法等の情報を選択環境情報として取得する。条件取得部170は、取得したシミュレーション条件をシミュレーション部180に提供する。
【0040】
次に、S220において、シミュレーション部180は、学習処理部150の学習結果に基づくシミュレーションを実行する。例えば、シミュレーション部180は、条件取得部170から取得した特徴ベクトルu
(k)と、学習処理部150から取得した選択主体の嗜好ベクトルw
(m)及び選択環境に対応する環境依存ベクトルv
(n)とを用い、数式1に基づく選択可能性p(k|w
(m),v
(n))で、選択機会nで選択主体mが選択対象kを選択する選択モデルをシミュレートする。
【0041】
ここで、シミュレーション部180は、環境依存ベクトルv
(n)を選択環境情報に基づいて設定してよい。例えば、XX月第1週目に百貨店ZZ売場Aで商品を選択主体(消費者)に選択させる選択環境に選択機会n=1を割り当て、XX月第1週目に百貨店ZZ売場Bで商品を選択させる選択環境に選択機会n=2を割り当てる。この場合、シミュレーション部180は、XX月第1週目に百貨店ZZ売場Aで商品を選択させる選択環境に対応する環境依存ベクトルとしてv
(1)を割り当て、同期間同店売場Bで商品を選択させる選択環境に対応する環境依存ベクトルとしてv
(2)を割り当ててよい。これにより、シミュレーション部180は、過去に選択が行われた環境(例えば特定時期の特定の売り場の環境)と同じ環境で選択がされる様子をシミュレートすることができる。
【0042】
また、学習処理部150から嗜好ベクトルw
(m)及び環境依存ベクトルv
(n)が確率分布として与えられる場合、シミュレーション部180は、嗜好ベクトルw
(m)及び環境依存ベクトルv
(n)として確率分布からのサンプル値、平均値、又は、中央値等を用いてよい。
【0043】
シミュレーション部180は、シミュレーションの実行結果を出力部190に提供する。例えば、シミュレーション部180は、各選択主体が各選択機会ごとに選択した選択対象を含むシミュレーションの実行結果データを出力部190に提供する。
【0044】
次に、S230において、出力部190は、実行結果データを表示する。例えば、出力部190は、シミュレーションの結果選択された選択対象のヒストグラム等を情報処理装置10のディスプレイに表示等してよい。
【0045】
このように、情報処理装置10は、選択が行われた環境の環境依存度とを含む選択モデルを構築し、これをベイズ推定等により解く。これにより、情報処理装置10は、選択対象が置かれた環境及び選択主体の認知バイアス等の選択対象の特徴とは直接関係がない要素の影響を考慮し、各選択主体の選択対象への嗜好度をより正確に推定できる。従って、情報処理装置10は、例えば、消費者が嗜好及び環境に応じて商品を選択して購入する環境をより正確にシミュレートすることができる。
【0046】
ここで、
図6及び
図7により、
図4のS130における学習処理の具体例を説明する。学習処理部150は、例えば、選択主体の嗜好度及び選択環境の環境依存度の事後確率分布を生成する階層ベイズモデルのパラメータを推定する。
【0047】
図6は、本実施形態の学習処理部150による学習処理に用いられる階層ベイズモデルの概要を示す。図示するように、学習処理部150は、環境依存ベクトルv
(n)について無情報共役事前分布から超パラメータである平均μ
v及び分散Σ
vをサンプリングし、当該平均μ
v及び分散Σ
vを持つからガウス事前分布に従って、環境依存ベクトルv
(n)を生成する。n∈Nにおいて、環境依存ベクトルv
(n)は互いに独立であり同一の分布に従う(i.i.d.)。
【0048】
また、学習処理部150は、嗜好ベクトルw
(m)について無情報共役事前分布から超パラメータであるμ
w及びΣ
wの値をサンプリングし、当該サンプリングしたμ
w及びΣ
wの値を平均μ
w及び分散Σ
wとするガウス事前分布に従って、嗜好ベクトルw
(m)を生成する。m∈Mにおいて、嗜好ベクトルw
(m)は互いに独立であり同一の分布に従う(i.i.d.)。
【0049】
ここで、学習処理部150は、各選択主体(A、B…)が各選択機会(1、2、3…)で選択した選択対象k
1(A)〜k
3(A)、k
1(B)〜k
3(B)…を含む履歴データDが選択モデルに合致するように、環境依存ベクトルv
(n)のガウス事前分布、及び、嗜好ベクトルw
(m)のガウス事前分布を学習する。学習処理部150は、ガウス事前分布を用いることにより、計算効率を向上し、良好なロバスト性を担保することができる。
【0050】
図7は、本実施形態の学習処理部150が実行する階層ベイズモデルを用いた学習アルゴリズムの具体的例を示す。学習処理部150は、
図7の第1〜15行目の処理を実行することにより、
図4のS130に係る学習処理を実行してよい。
【0051】
なお、図中のΣ
mはΣ
m∈Mを示し、Σ
nはΣ
n∈Nを示し、Π
mはΠ
m∈Mを示し、Π
nはΠ
n∈Nを示し、wバー(図中ではwにオーバーライン、ここではw
totとする)はΣ
mw
(m)/Mを示し、vバー(図中ではvにオーバーライン、v
totと記する)はΣ
nv
(n)/Nを示し、φ(・|μ,Σ)は平均がμで共分散がΣとなる多次元正規分布(μ,Σ)の確率密度関数を示す。
【0052】
まず、第1行目において、学習処理部150は、v、w、μ
v、Σ
v、μ
w及びΣ
wを初期化する。例えば、学習処理部150は、環境依存ベクトルv
(n)及び嗜好ベクトルw
(m)の各成分に予め定められた初期値(例えば0)及び/又はランダムな値を割り当ててよい。また、学習処理部150は、μ
v、Σ
v、μ
w及びΣ
wに予め定められた値(例えば、μ
v=0、μ
w=0、Σ
v=1、Σ
w=1等)を割り当ててよい。
【0053】
次に、第2行目〜第15行目において、学習処理部150は、第1ループの処理を実行する。学習処理部150は、第1ループ処理を予め定められた条件が満たされるまで繰り返す。学習処理部150は、第1ループ処理を終了する予め定められたの条件として、ループ処理を予め定められた回数繰り返したこと、又は、出力されるv
(n)及びw
(m)の確率分布が定常状態になったこと等を用いてよい。
【0054】
第1ループ内の第3行目において、学習処理部150は、無情報共役事前分布となる平均がΣ
nv
(n)/|N|で共分散がΣ
v/|N|の多次元正規分布からμ
vをサンプリングする。
【0055】
次に、第4行目において、学習処理部150は、無情報共役事前分布となるスケールが{|L|I+Σ
n(v
(n)−v
tot)(v
(n)―v
tot)
T}/(|L|+|N|)で自由度が|L|+|N|の逆ウィシャート分布からΣ
vをサンプリングする。ここでLは選択対象の集合を示し、Iは単位行列を示す。
【0056】
次に、第5行目において、学習処理部150は、無情報共役事前分布となる平均がΣ
mw
(m)/|M|で共分散がΣ
w/|M|の多次元正規分布からμ
wをサンプリングする。
【0057】
次に、第6行目において、学習処理部150は、無情報共役事前分布となるスケールが{|A|I+Σ
m(w
(m)−w
tot)(w
(m)―w
tot)
T}/(|A|+|M|)で自由度が|A|+|M|の逆ウィシャート分布からΣ
vをサンプリングする。ここでAは嗜好ベクトルの要素の集合を示し、Iは単位行列を示す。
【0058】
このように、第3〜6行目において、学習処理部150は、各選択主体の嗜好ベクトルおよび各選択環境における環境依存ベクトルの事前分布の分布パラメータ(μ
v、Σ
v、μ
w及びΣ
w)を生成する。
【0059】
次に、第7行目〜第10行目において、学習処理部150は、第1ループ内で第2ループの処理を実行する。学習処理部150は、第2ループ処理を完了することにより、n∈Nについて事後確率分布を形成するv
(n)をサンプリングする。
【0060】
まず、第2ループ内の第8行目において、学習処理部150は、環境依存ベクトルの事前分布の分布パラメータΣ
v及び環境依存ベクトルの前回の第1ループで得られたサンプルv
(n)に基づく分布から、各選択環境における環境依存ベクトルのサンプル候補v・
(n)を生成する。例えば、学習処理部150は、平均がv
(n)で、共分散がρΣ
vとなる多次元正規分布Normal(v
(n),ρΣ
v)から、v・
(n)(図中ではvの上にドット)をサンプリングする。初回の第1ループ処理ではv
(n)に1行目で定義した初期値が与えられ、2回目以降の第1ループ処理ではv
(n)に前回の第1ループ処理で得られた値が与えられる。なお、ρは学習処理の前に予め定められたパラメータであり、例えば0.23である。
【0061】
次に、第9行目において、学習処理部150は、環境依存ベクトルのサンプル候補v・
(n)のそれぞれについて、事前分布に対する当該サンプル候補v・
(n)の生起確率と、履歴データにおける選択に対する当該サンプル候補v・
(n)および各選択主体の環境依存ベクトルの尤度に基づいて、当該サンプル候補v・
(n)を環境依存ベクトルの次のサンプルとして選択するか否かを決定する。
【0062】
具体的には、学習処理部150は、平均がμ
vで共分散がΣ
vとなる多次元正規分布からv・
(n)が生起される生起確率密度φ(v・
(n)|μ
v,Σ
v)(即ち、事前確率分布におけるv・
(n)の生起確率密度)と、v・
(n)及びw
(m)を条件としたときに履歴データが示すk
n(m)が選択される確率のm∈Mの総乗Π
m(k
n(m)|v・
(n),w
(m))(即ち、v・
(n)の尤度)との積を、平均がμ
vで共分散がΣ
vとなる多次元正規分布からv
(n)が生起される生起確率密度φ(v
(n)|μ
v,Σ
v)(即ち、事前確率分布におけるv
(n)の生起確率密度)と、v
(n)及びw
(m)を条件としたときに履歴データが示すk
n(m)が選択される確率のm∈Mの総乗Π
m(k
n(m)|v
(n),w
(m))(即ち、v
(n)の尤度)との積で除した除算値を算出する。そして、学習処理部150は、当該除算値及び1のうち小さい方の確率で、サンプリングされたv・
(n)を新しいサンプルv
(n)として採択する。
【0063】
このように、学習処理部150は、第8行目及び第9行目の第2ループ処理を実行することにより、前回の第1ループの処理の結果得られた各選択環境における環境依存ベクトルv
(n)に基づく多次元正規分布から次のサンプルの候補v・
(n)をサンプリングし、各選択環境における環境依存ベクトルv
(n)の事前分布、及び、環境依存ベクトルv
(n)の尤度に基づいて当該v・
(n)を採択することにより、各選択環境における環境依存ベクトルの次の第1ループにおけるサンプルv
(n)を生成して収集する。
【0064】
次に、第11行目〜第14行目において、学習処理部150は、第1ループ内で第2ループに続く第3ループの処理を実行する。学習処理部150は、第3ループ処理を完了することにより、m∈Mについて事後確率分布を形成するw
(m)をサンプリングする。
【0065】
まず、第3ループ内の第12行目において、学習処理部150は、嗜好ベクトルの事前分布の分布パラメータΣ
w及び嗜好ベクトルの前回の第1ループで得られたサンプルw
(m)に基づく分布から、各選択環境における嗜好ベクトルのサンプル候補w・
(m)を生成する。例えば、学習処理部150は、平均がw
(m)で、共分散がρΣ
wとなる多次元正規分布Normal(w
(m),ρΣ
w)から、w・
(m)(図中ではwの上にドット)をサンプリングする。初回の第1ループ処理ではw
(m)に1行目で定義した初期値が与えられ、2回目以降の第1ループ処理ではw
(m)に前回の第1ループ処理で得られた値が与えられる。
【0066】
次に、第13行目において、学習処理部150は、嗜好ベクトルのサンプル候補w・
(m)のそれぞれについて、事前分布に対する当該サンプル候補w・
(m)の生起確率と、履歴データにおける選択に対する当該サンプル候補w・
(m)および各選択主体の嗜好ベクトルの尤度に基づいて、当該サンプル候補w・
(m)を嗜好ベクトルの次のサンプルとして選択するか否かを決定する。
【0067】
具体的には、学習処理部150は、平均がμ
wで共分散がΣ
wとなる多次元正規分布からw・
(m)が生起される生起確率密度φ(w・
(m)|μ
w,Σ
w)(即ち、事前確率分布におけるw・
(m)の生起確率密度)と、v
(n)及びw・
(m)を条件としたときに履歴データが示すk
n(m)が選択される確率のm∈Mの総乗Π
m(k
n(m)|v
(n),w・
(m))(即ち、w・
(m)の尤度)との積を、平均がμ
wで分散がΣ
wとなる正規分布からw
(m)が生起される生起確率密度φ(w
(m)|μ
w,Σ
w)(即ち、事前確率分布におけるw
(m)の生起確率密度)と、v
(n)及びw
(m)を条件としたときに履歴データが示すk
n(m)が選択される確率のn∈Nの総乗Π
m(k
n(m)|v
(n),w
(m))(即ち、w
(m)の尤度)との積で除した除算値を算出する。そして、学習処理部150は、算出した除算値及び1のうち小さい方の確率で、サンプリングされたw・
(m)を新しいw
(m)として採択する。
【0068】
従って、学習処理部150は、第12行目及び第13行目の第3ループ処理を実行することにより、前回の第1ループの処理の結果得られた各選択環境における嗜好ベクトルw
(m)に基づく多次元正規分布から次のサンプルの候補w・
(m)をサンプリングし、各選択環境における嗜好ベクトルw
(m)の事前分布、及び、嗜好ベクトルw
(m)の尤度に基づいて当該w・
(m)を採択することにより、各選択環境における嗜好ベクトルの次の第1ループにおけるサンプルv
(n)を生成して収集する。
【0069】
このように、各選択主体の嗜好ベクトルおよび各選択環境における環境依存ベクトルの各要素は事前分布によって表わされ、学習処理部150は、第1ループ内における第3〜第6行目の処理において、ギブスサンプリングに基づいて、各選択主体の嗜好ベクトルw
(m)および各選択環境における環境依存ベクトルv
(n)の各要素について事前分布の分布パラメータ(μ
v,Σ
v,μ
w,Σ
w)を学習により算出する。
【0070】
また、学習処理部150は、前回のサンプルを中心とする多次元正規分布から、各選択環境における環境依存ベクトルおよび各選択主体の嗜好ベクトルのサンプリングを行い、複数回発生した環境依存ベクトルおよび嗜好ベクトルのサンプルに基づいて、各選択環境における環境依存ベクトルv
(n)および各選択主体の嗜好ベクトルw
(m)の分布を算出する。すなわち、学習処理部150は、第2ループ及び第3ループの処理で、w
(m)及びv
(n)についてメトロポリスヘイスティングに基づく学習を実行する。
【0071】
学習処理部150は、第1ループの処理の後、採択されたサンプルw・
(m)及びサンプルv・
(n)を収集することで最終的に得られた各選択主体mについての嗜好ベクトルw
(m)の分布、及び、各選択機会nについての環境依存ベクトルv
(n)の分布を、それぞれの事後確率分布として出力する。学習処理部150は、
図7の処理を実行するに当たり、処理開始後の予め定められた回数の第1ループの処理で得られたサンプルを収集しないことにより、初期のサンプルの影響を排除してよい。
【0072】
次に、学習処理部150が、階層ベイズモデルに代えて近似的MAP推定を実行してS130の学習処理を実行する場合について説明する。
【0073】
この場合、学習処理部150は、各選択環境における環境依存ベクトルv
(n)および各選択主体の嗜好ベクトルw
(m)に対応して履歴データにおける選択が発生する確率に基づく目的関数を用いて、各選択環境における環境依存ベクトルv
(n)および各選択主体の嗜好ベクトルw
(m)を算出する。
【0074】
例えば、学習処理部150は、実際に選択された選択対象k
n(m)を含む履歴データに対して、数式2に示す事後確率を最大化するように環境依存ベクトルv
(n)及び嗜好ベクトルw
(m)を最適化する。数式2の第1項は環境依存ベクトルv
(n)及び嗜好ベクトルw
(m)の尤度に対応し、第2項及び第3項は環境依存ベクトルv
(n)及び嗜好ベクトルw
(m)の事前分布に対応する。学習処理部150は、最適化された環境依存ベクトルv
(n)および嗜好ベクトルw
(m)を学習結果として出力する。
【数2】
…数式2
【0075】
図8及び
図9は、本実施形態の情報処理装置10の効果の一例を示す。
図8の実線は、本実施形態の情報処理装置10が近似的MAP推定を用いて環境依存度を含む選択モデルにより、選択確率を学習した結果を示す。点線は、環境依存度を考慮しない従来のロジットモデルを用いた選択確率の学習結果を示す。
【0076】
図8のグラフの縦軸は、テストデータから推測した選択主体による選択対象の選択確率と、テストデータを生成するのに用いた真の選択確率との絶対誤差の合計を示し、横軸は選択モデル中の環境依存度の影響の大きさの規模を示す。絶対誤差は、数式3で示される。
【数3】
…数式3
【0077】
図8の4個のグラフは、選択モデルにおけるパラメータβ及びパラメータσを変更した場合の絶対誤差の結果を示す。パラメータβは、選択主体がw
(m)及びu
(m)に依存して選択をする程度を示し、値が低いと選択主体がよりランダムに選択対象を選択する傾向が増大する。また、パラメータσは選択主体の嗜好の分散性を示し、値が高いと複数の選択主体がより多様な嗜好ベクトルを有する。
【0078】
図8の4個のグラフに示すように、本実施形態の情報処理装置10によると、従来のロジットモデルによる手法に比べて、全体的に絶対誤差が小さくテストデータに対しより正確に選択確率を推定していることがわかる。特に、本実施形態の情報処理装置10によると、選択モデル中の環境依存度の影響が大きくなるにつれて(すなわち、横軸の値が大きくなるにつれて)、従来の手法に比べてより正確な推定ができることが示される。
【0079】
図9に示すグラフは、情報処理装置10の学習処理時間に関する効果を示す。横軸は
図8と同じであり、縦軸は情報処理装置10が学習処理に要した時間を示す。図中のグラフに示すように、本実施形態の情報処理装置10によると、従来のロジットモデルによる手法に比べて、処理時間が多少増加するが一般的に許容範囲に収まる程度であることがわかる。
【0080】
ここで、本実施形態の変形例に係る情報処理装置10について説明する。本実施形態の情報処理装置10は、各選択機会において選択対象のおかれた選択環境が不明である状況を想定して、各商品の環境依存度を成分として含む環境依存ベクトルv
(n)を学習する。しかし、選択環境が少なくとも一部判明している場合、本変形例の情報処理装置10は、判明している選択環境を考慮して学習を実行してよい。
【0081】
例えば、ある売場に陳列された商品が判明している場合、学習処理部150は、学習中、陳列されなかった商品の当該選択機会における環境依存度を低く(例えば、−∞)に固定してよい。これにより、学習処理部150は、判明している売場の状況を反映して学習を実行することができる。
【0082】
図10は、情報処理装置10として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
【0083】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0084】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0085】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0086】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0087】
コンピュータ1900にインストールされ、コンピュータ1900を情報処理装置10として機能させるプログラムは、特徴量取得モジュール、履歴取得モジュール、学習処理モジュール、条件取得モジュール、シミュレーションモジュール、及び、出力モジュールを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、特徴量取得部110、履歴取得部120、学習処理部150、条件取得部170、シミュレーション部180、及び、出力部190としてそれぞれ機能させてよい。
【0088】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である特徴量取得部110、履歴取得部120、学習処理部150、条件取得部170、シミュレーション部180、及び、出力部190として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置10が構築される。
【0089】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0090】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。例えば、情報処理装置10の記憶部は、特徴量取得部110、履歴取得部120、学習処理部150、条件取得部170、シミュレーション部180、及び、出力部190から受け取った/へ提供するデータを適宜記憶してよい。例えば、記憶部は、特徴量取得部110又は履歴取得部120から入力されたデータを受け取って記憶してよい。また、記憶部は、学習処理部150が学習した結果等を記憶してよい。
【0091】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0092】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0093】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0094】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0095】
また、実施形態の説明において複数の要素が列挙された場合には、列挙された要素以外の要素を用いてもよい。例えば、「Xは、A、B及びCを用いてYを実行する」と記載される場合、Xは、A、B及びCに加え、Dを用いてYを実行してもよい。
【0096】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。