(57)【要約】【課題】広汎な種類の確率モデルに対して、効率的にパラメータを推定する。【解決手段】入力されたデータセットに対して、入力された確率モデルのパラメータを推定するパラメータ推定装置であって、前記パラメータと、前記データセットとが適合する方向を示す勾配ベクトルを計算する勾配計算手段と、前記パラメータが変化した場合に、前記確率モデルへの影響度合いを示す計量ベクトルを計算する計量計算手段と、前記勾配ベクトルと、前記計量ベクトルとに基づいて、前記パラメータを更新するパラメータ更新手段と、前記パラメータが更新された場合、所定の終了条件を満たしているか否かを判定する終了条件判定手段と、を有し、前記終了条件を満たしていると判定されるまで、前記勾配ベクトルの計算と、前記計量ベクトルの計算と、前記パラメータの更新とを繰り返す、ことを特徴とする。【選択図】図３
2019053349.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータセットに対して、入力された確率モデルのパラメータを推定するパラメータ推定装置であって、
前記パラメータと、前記データセットとが適合する方向を示す勾配ベクトルを計算する勾配計算手段と、
前記パラメータが変化した場合に、前記確率モデルへの影響度合いを示す計量ベクトルを計算する計量計算手段と、
前記勾配計算手段により計算された前記勾配ベクトルと、前記計量計算手段により計算された前記計量ベクトルとに基づいて、前記パラメータを更新するパラメータ更新手段と、
前記パラメータ更新手段により前記パラメータが更新された場合、所定の終了条件を満たしているか否かを判定する終了条件判定手段と、
を有し、
前記終了条件判定手段により前記終了条件を満たしていると判定されるまで、前記勾配計算手段による前記勾配ベクトルの計算と、前記終了条件判定手段による前記計量ベクトルの計算と、前記パラメータ更新手段による前記パラメータの更新とを繰り返す、ことを特徴とするパラメータ推定装置。
【請求項２】
前記勾配計算手段は、
前記パラメータにおける変分下限の勾配の不偏推定量を、前記勾配ベクトルとして計算し、
前記計量計算手段は、
前記確率モデルの潜在変数に関するフィッシャー情報行列の対角成分により構成されるベクトルを前記計量ベクトルとして計算する、又は、逐次的な移動平均により近似的に前記計量ベクトルを計算する、ことを特徴とする請求項１に記載のパラメータ推定装置。
【請求項３】
前記パラメータ更新手段は、
前記勾配計算手段により計算された前記勾配ベクトルと、前記計量計算手段により計算された前記計量ベクトルと、予め設定されたハイパーパラメータとに基づいて算出された更新量を、前記パラメータに加算することで、該パラメータを更新する、ことを特徴とする請求項１又は２に記載のパラメータ推定装置。
【請求項４】
前記終了条件判定手段により前記終了条件を満たしていると判定された場合、前記パラメータ更新手段により更新されたパラメータを出力する出力手段を有する、ことを特徴とする請求項１乃至３の何れか一項に記載のパラメータ推定装置。
【請求項５】
入力されたデータセットに対して、入力された確率モデルのパラメータを推定するパラメータ推定装置が、
前記パラメータと、前記データセットとが適合する方向を示す勾配ベクトルを計算する勾配計算手順と、
前記パラメータが変化した場合に、前記確率モデルへの影響度合いを示す計量ベクトルを計算する計量計算手順と、
前記勾配計算手順により計算された前記勾配ベクトルと、前記計量計算手順により計算された前記計量ベクトルとに基づいて、前記パラメータを更新するパラメータ更新手順と、
前記パラメータ更新手順により前記パラメータが更新された場合、所定の終了条件を満たしているか否かを判定する終了条件判定手順と、
を有し、
前記終了条件判定手順により前記終了条件を満たしていると判定されるまで、前記勾配計算手順による前記勾配ベクトルの計算と、前記終了条件判定手順による前記計量ベクトルの計算と、前記パラメータ更新手順による前記パラメータの更新とを繰り返す、ことを特徴とするパラメータ推定方法。
【請求項６】
前記勾配計算手順は、
前記パラメータにおける変分下限の勾配の不偏推定量を、前記勾配ベクトルとして計算し、
前記計量計算手順は、
前記確率モデルの潜在変数に関するフィッシャー情報行列の対角成分により構成されるベクトルを前記計量ベクトルとして計算する、又は、逐次的な移動平均により近似的に前記計量ベクトルを計算する、ことを特徴とする請求項５に記載のパラメータ推定方法。
【請求項７】
コンピュータを、請求項１乃至４の何れか一項に記載のパラメータ推定装置における各手段として機能させるためのパラメータ推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラメータ推定装置、パラメータ推定方法及びパラメータ推定プログラムに関する。
【背景技術】
【０００２】
近年、大量のデータに対して統計的手法を用いることで、データ予測や分類、認識、知識発見等を行う統計的機械学習が知られている。統計的機械学習では、所与のデータに対して何等かの数学的な確率モデルを仮定して、この確率モデルの振る舞いからデータ予測や分類、認識、知識発見等を行う。このような確率モデルは、潜在変数やパラメータによって、その振る舞いが決定される。
【０００３】
ところで、統計的機械学習に用いられる確率モデルのパラメータは、所与のデータに適合するように、パラメータを繰り返し更新することで得られることが知られている。これに対して、統計的機械学習に用いられる確率モデルのパラメータと、所与のデータとの適合度合を測る尺度として変分下限が知られている（例えば非特許文献１）。
【０００４】
また、確率モデルのパラメータを少ない更新回数で改善可能にする自然勾配法（例えば非特許文献２）と、勾配に基づく各成分の更新量を自動設定する動的ステップサイズ法（例えば非特許文献３）とが知られている。更に、適用可能な確率モデルの種類が限られるものの、変分下限を用いて確率モデルのパラメータを計算する方法が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１６２２３３号公報
【非特許文献】
【０００６】
【非特許文献１】M. I. Jordan et al.: An Introduction to Variational Methods for Graphical Models, Machine Learning 37, pp.183-233, 1999.
【非特許文献２】S. Amari: Natural Gradient Works Efficiently in Learning, Neural Computation 10:2, pp.251-276, 1998.
【非特許文献３】M. D. Zeiler: ADADELTA: An Adaptive Learning Rate Method, arxiv:1212.5701,2012.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来では、例えば、確率モデルの種類によって、パラメータの更新を行うためのアルゴリズムが異なるという問題があった。また、例えば、通常の勾配を用いたパラメータの更新は非効率であるという問題があった。
【０００８】
本発明は、上記の点に鑑みてなされたもので、広汎な種類の確率モデルに対して、効率的にパラメータを推定することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の実施の形態は、入力されたデータセットに対して、入力された確率モデルのパラメータを推定するパラメータ推定装置であって、前記パラメータと、前記データセットとが適合する方向を示す勾配ベクトルを計算する勾配計算手段と、前記パラメータが変化した場合に、前記確率モデルへの影響度合いを示す計量ベクトルを計算する計量計算手段と、前記勾配計算手段により計算された前記勾配ベクトルと、前記計量計算手段により計算された前記計量ベクトルとに基づいて、前記パラメータを更新するパラメータ更新手段と、前記パラメータ更新手段により前記パラメータが更新された場合、所定の終了条件を満たしているか否かを判定する終了条件判定手段と、を有し、前記終了条件判定手段により前記終了条件を満たしていると判定されるまで、前記勾配計算手段による前記勾配ベクトルの計算と、前記終了条件判定手段による前記計量ベクトルの計算と、前記パラメータ更新手段による前記パラメータの更新とを繰り返す、ことを特徴とする。
【発明の効果】
【００１０】
広汎な種類の確率モデルに対して、効率的にパラメータを推定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態におけるパラメータ推定装置の構成の一例を示す図である。
【図２】本発明の実施の形態におけるパラメータ推定装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施の形態におけるパラメータ推定装置の機能構成の一例を示す図である。
【図４】本発明の実施の形態におけるパラメータ推定装置が実行する全体処理の一例を示すフローチャートである。
【図５】本発明の実施の形態におけるパラメータ推定処理の一例を示すフローチャートである。
【図６】本発明の効果の一例を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。本発明の実施の形態では、データセットと確率モデルとが与えられた場合に、与えられたデータセットに適合するパラメータ（与えられた確率モデルのパラメータ）を推定するパラメータ推定装置１０について説明する。
【００１３】
＜パラメータ推定装置１０の構成＞
まず、本発明の実施の形態におけるパラメータ推定装置１０の構成について、図１を参照しながら説明する。図１は、本発明の実施の形態におけるパラメータ推定装置１０の構成の一例を示す図である。
【００１４】
図１に示すパラメータ推定装置１０は、与えられたデータセットと確率モデルとに対して、当該確率モデルのパラメータを、当該データセットに適合するように推定するコンピュータである。図１に示すパラメータ推定装置１０には、推定プログラム１００がインストールされている。推定プログラム１００は、複数のモジュールで構成されるプログラム群であっても良い。
【００１５】
図１に示すパラメータ推定装置１０は、推定プログラム１００により、データセットと確率モデルとを入力し、入力された確率モデルのパラメータを、入力されたデータセットに適合するように推定する。そして、図１に示すパラメータ推定装置１０は、推定プログラム１００により、推定されたパラメータを出力する。
【００１６】
なお、図１に示すパラメータ推定装置１０の構成は一例であって、他の構成であっても良い。例えば、パラメータ推定装置１０は、複数台のコンピュータで構成されていても良い。
【００１７】
＜パラメータ推定装置１０のハードウェア構成＞
次に、本発明の実施の形態におけるパラメータ推定装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、本発明の実施の形態におけるパラメータ推定装置１０のハードウェア構成の一例を示す図である。
【００１８】
図２に示すパラメータ推定装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ（Central Processing Unit）１６と、通信Ｉ／Ｆ１７と、補助記憶装置１８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００１９】
入力装置１１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置１２は、例えばディスプレイ等であり、パラメータ推定装置１０の処理結果等を表示する。なお、パラメータ推定装置１０は、入力装置１１及び表示装置１２の少なくとも一方を有していなくても良い。
【００２０】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。パラメータ推定装置１０は、外部Ｉ／Ｆ１３を介して、記録媒体１３ａ等の読み取りや書き込みを行うことができる。記録媒体１３ａには、推定プログラム１００等が記憶されていても良い。
【００２１】
記録媒体１３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００２２】
ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、例えば、ＯＳ（Operating System）設定やネットワーク設定等が格納されている。
【００２３】
ＣＰＵ１６は、ＲＯＭ１５や補助記憶装置１８等からプログラムやデータをＲＡＭ１４上に読み出して処理を実行する演算装置である。
【００２４】
通信Ｉ／Ｆ１７は、パラメータ推定装置１０をネットワークに接続するためのインタフェースである。推定プログラム１００は、通信Ｉ／Ｆ１７を介して、所定のサーバ等から取得（ダウンロード）されても良い。
【００２５】
補助記憶装置１８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置１８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションプログラム、推定プログラム１００等がある。
【００２６】
本発明の実施の形態におけるパラメータ推定装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００２７】
＜パラメータ推定装置１０の機能構成＞
次に、本発明の実施の形態におけるパラメータ推定装置１０の機能構成について、図３を参照しながら説明する。図３は、本発明の実施の形態におけるパラメータ推定装置１０の機能構成の一例を示す図である。
【００２８】
図３に示すパラメータ推定装置１０は、入力部１０１と、初期化部１０２と、パラメータ推定部１０３と、出力部１０４とを有する。これら各部は、推定プログラム１００がＣＰＵ１６に実行させる処理により実現される。
【００２９】
また、図３に示すパラメータ推定装置１０は、記憶部１１０を有する。記憶部１１０は、例えば補助記憶装置１８を用いて実現可能である。なお、記憶部１１０は、例えば、パラメータ推定装置１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【００３０】
入力部１０１は、データセットと、確率モデルとを入力する。以降では、入力部１０１により入力されるデータセットはＮ個のデータから構成されるものとし、データセットｘを、
【００３１】
【数１】
2019053349.tif 000003
と表す。なお、データセットｘを構成する各データｘｎのインデックスｎを「データインデックス」とも表す。
【００３２】
また、入力部１０１により入力される確率モデルの潜在変数をｚとし、確率モデルは以下の式１に示す分布に従うものと仮定する。
【００３３】
【数２】
2019053349.tif 000004
これに対し、推定するパラメータをλとして、潜在変数ｚの分布をｑλ（ｚ）と仮定する。なお、パラメータλは、１次元のベクトル（スカラー）で表されても良いし、２次元以上のベクトルで表されても良い。
【００３４】
更に、本実施形態では、入力部１０１により入力されたデータセットｘと、入力部１０１により入力された確率モデルのパラメータλとの適合度合いを、以下の式２に示す変分下限により定義する。
【００３５】
【数３】
2019053349.tif 000005
このとき、本実施形態では、上記の式２に示す変分下限を最大化するパラメータλを推定する。
【００３６】
初期化部１０２は、入力部１０１により入力された確率モデルのパラメータλを、予め決められた或る初期値λ１に初期化する。
【００３７】
パラメータ推定部１０３は、データセットｘに適合するパラメータλを推定する。ここで、パラメータ推定部１０３は、勾配計算部１１１と、計量計算部１１２と、パラメータ更新部１１３と、終了判定部１１４とを有する。
【００３８】
勾配計算部１１１は、確率モデルのパラメータλを、現在の値からデータセットｘに適合するように改善する方向（すなわち、λに関する勾配）を計算する。
【００３９】
計量計算部１１２は、パラメータλの各成分が現在の値から変化した場合に、確率モデルに対してどの程度影響を与えるかを示す計量を計算する。
【００４０】
パラメータ更新部１１３は、勾配計算部１１１により計算された勾配と、計量計算部１１２により計算された計量とを用いて、パラメータλを更新する。
【００４１】
ここで、パラメータ推定部１０３は、パラメータλの初期値λ１から、所定の終了条件を満たすまで、以下の（１）〜（３）を繰り返し実行することで、データセットｘに適合するパラメータλを推定する。以降では、ｔを、繰り返し回数を示すインデックスとする。なお、所定の終了条件としては、予め決められた回数を繰り返したこと、又は、パラメータ更新部１１３の更新前後におけるパラメータλの変化量が所定以下となったこと等が挙げられる。
【００４２】
（１）勾配計算部１１１により、パラメータλ＝λｔにおける∇λＬ（ｑλ）の不偏推定量であるｇｔを計算する。このｇｔが勾配である。なお、∇λは、λに関する偏微分作用素である。
【００４３】
（２）計量計算部１１２により、以下の式３に示すフィッシャー情報行列の対角成分から成るベクトルｍｔを計算する。このベクトルｍｔが計量である。なお、ベクトルｍｔは、パラメータλ＝λｔにおいて評価する。
【００４４】
【数４】
2019053349.tif 000006
（３）パラメータ更新部１１３により、勾配ｇｔと計量ｍｔとを用いて、パラメータλ＝λｔをλｔ＋１に更新する。
【００４５】
終了判定部１１４は、上記の（１）〜（３）の繰り返し（すなわち、パラメータ更新の繰り返し）の終了条件を満たすか否かを判定する。
【００４６】
出力部１０４は、パラメータ推定部１０３により推定されたパラメータλを出力する。なお、出力部１０４は、推定されたパラメータλの出力先として、例えば、記憶部１１０に記憶させても良いし、ネットワーク上のサーバ等に送信しても良い。又は、出力部１０４は、推定されたパラメータλの出力先として、表示装置１２に表示しても良い。
【００４７】
記憶部１１０は、各種データを記憶する。記憶部１１０には、各ｔにおけるパラメータλ＝λｔと、パラメータλ＝λｔを更新するための所定のベクトル（後述するｖｔ及びΔｔ）とが記憶される。なお、記憶部１１０には、各ｔにおける勾配ｇｔと計量ｍｔとが記憶されていても良い。
【００４８】
＜処理の詳細＞
次に、本発明の実施の形態におけるパラメータ推定装置１０が実行する全体処理について、図４を参照しながら説明する。図４は、本発明の実施の形態におけるパラメータ推定装置１０が実行する全体処理の一例を示すフローチャートである。
【００４９】
ステップＳ１０１：入力部１０１は、データセットｘと、確率モデルとを入力する。入力部１０１は、例えば、ユーザにより入力装置１１を用いて作成されたデータセットｘと確率モデルとを入力しても良いし、記録媒体１３ａや補助記憶装置１８等に記憶されているデータセットｘと確率モデルとを入力しても良いし、通信Ｉ／Ｆ１７によりネットワーク上のサーバ等から取得（ダウンロード）したデータセットｘと確率モデルとを入力しても良い。
【００５０】
なお、データセットｘと確率モデルとの入力元が異なっていても良い。例えば、データセットｘを補助記憶装置１８から入力する一方で、確率モデルを入力装置１１から入力しても良い。
【００５１】
ステップＳ１０２：初期化部１０２は、入力部１０１により入力された確率モデルのパラメータλを、予め決められた或る初期値λ１に初期化する。なお、パラメータλを初期化する必要が無い場合や既に初期化されている場合等には、本ステップの処理は不要である。
【００５２】
ステップＳ１０３：パラメータ推定部１０３は、データセットｘに適合するパラメータλを推定する。
【００５３】
ここで、パラメータ推定部１０３によるパラメータ推定処理の詳細について、図５を参照しながら説明する。図５は、本発明の実施の形態におけるパラメータ推定処理の一例を示すフローチャートである。なお、図５に示すパラメータ推定処理が実行される前に、繰り返し回数ｔは、例えば、ｔ＝１に初期化される。
【００５４】
ステップＳ２０１：勾配計算部１１１は、パラメータλ＝λｔに関する勾配ｇｔを計算する。
【００５５】
勾配計算部１１１は、上記の式２のλに関する勾配を計算することで、勾配ｇｔを計算する。このとき、データセットｘを構成するＮ個のデータｘｎに関する和と、潜在変数ｚに関する期待値Ｅｑλとは、それぞれ次のように近似計算する。
【００５６】
すなわち、データセットｘを構成するデータ全体ｘ１，・・・，ｘＮの評価は困難なため、以下の式４に示すように、Ｍ＜Ｎ個のデータｘｎを乱択する。このＭ個のデータｘｎを「ミニバッチ」と称する。
【００５７】
【数５】
2019053349.tif 000007
ミニバッチＳｔはｔ回目におけるデータインデックスの集合で、｜Ｓｔ｜＝Ｍである。ミニバッチＳｔは、通常、データセットｘを構成するデータｘｎのデータインデックスの集合｛１，・・・，Ｎ｝からＭ個のデータインデックスを等確率で選択することで生成される。
【００５８】
また、潜在変数ｚに関する期待値の計算については、以下の式５に示すように、現在のパラメータλ＝λｔの確率モデルから生成した潜在変数を用いる。
【００５９】
【数６】
2019053349.tif 000008
このとき、勾配ｇｔを以下の式６により計算する。ただし、偏微分作用素∇λは、λ＝λｔにおいて評価する。
【００６０】
【数７】
2019053349.tif 000009
これにより、ｔ回目におけるパラメータλ＝λｔに関する勾配ｇｔが計算される。
【００６１】
なお、例えば、上記の式４において、ミニバッチＳｔの選択に偏りがある方が良いパラメータλが得られる等の知見がある場合は、｛１，・・・，Ｎ｝からデータインデックスを選択する確率が等確率でなくても良い。この場合には、ミニバッチＳｔの選択確率をＰ（Ｓ）として、上記の式６の代わりに、以下の式７により勾配ｇｔを計算する。
【００６２】
【数８】
2019053349.tif 000010
ただし、Ｕ（Ｍ，Ｎ）＝（Ｍ！（Ｎ−Ｍ）！）／Ｎ！である。「！」は階乗を表す。
【００６３】
ステップＳ２０２：計量計算部１１２は、パラメータλ＝λｔの計量ｍｔを計算する。計量計算部１１２は、パラメータλ＝λｔ及び勾配ｇｔと同じ長さのベクトルである計量ｍｔを以下の式８により計算する。
【００６４】
【数９】
2019053349.tif 000011
これにより、ｔ回目におけるパラメータλ＝λｔの計量ｍｔが計算される。なお、上記の式８は、式３と同値である。
【００６５】
ここで、上記の式８における期待値Ｅの解析計算が困難な場合は、以下の式９により、逐次的な移動平均を用いて計量ｍｔを近似計算しても良い。なお、式９における計量ｍｔ−１は、ｔ−１回目に算出され、記憶部１１０に記憶されているものを用いる。
【００６６】
【数１０】
2019053349.tif 000012
ただし、ｚ＾は上記の式５により生成される潜在変数であり、初期値ｍ０は零ベクトルを用いる。また、０＜ρ＜１は移動平均に用いる係数であり、後述する式１０及び式１２で用いるρと同一のものを用いる。
【００６７】
ステップＳ２０３：パラメータ更新部１１３は、勾配計算部１１１により計算された勾配ｇｔと、計量計算部１１２により計算された計量ｍｔとを用いて、パラメータλ＝λｔを更新する。
【００６８】
パラメータ更新部１１３は、以下の式１０によりｖｔを計算して、記憶部１１０に記憶させる。そして、パラメータ更新部１１３は、以下の式１１によりパラメータλ＝λｔをλｔ＋１に更新して、更新後のパラメータλ＝λｔ＋１を記憶部１１０に記憶させる。式１１におけるΔｔ−１は、ｔ−１回目の繰り返しにおいて算出され、記憶部１１０に記憶されているものを利用する。
【００６９】
【数１１】
2019053349.tif 000013
【００７０】
【数１２】
2019053349.tif 000014
ただし、ｖｔはパラメータλ＝λｔと同次元のベクトルで、ベクトル同士の乗算、除算、平方根等の演算は要素毎に行うものとする。また、初期値ｖ０には零ベクトルを用いる。更に、アルゴリズムのハイパーパラメータであるρ及びεは、例えば、ρ＝０．９５、ε＝１０−６等の値を適宜設定する。
【００７１】
次に、パラメータ更新部１１３は、以下の式１２によりΔｔを計算して、記憶部１１０に記憶させる。記憶部１１０に記憶されたΔｔは、ｔ＋１回目の繰り返しにおけるパラメータλ＝λｔ＋１の更新に用いられる。
【００７２】
【数１３】
2019053349.tif 000015
ただし、上記のｖｔと同様に、Δｔはパラメータλ＝λｔと同次元のベクトルで、ベクトル同士の乗算、除算、平方根等の演算は要素毎に行うものとする。また、初期値Δ０には零ベクトルを用いる。
【００７３】
なお、ハイパーパラメータρ及びεの値（特に、εの値）は、利用する確率モデルやミニバッチＳｔの大きさＭによっては変化させた方がより効率的に良いパラメータλが得られる場合がある。このような場合、少量のデータを用いて、例えば、ε＝｛１０−４，１０−５，１０−６，１０−７｝等から選択して設定しても良い。この選択の基準は、例えば、後述する式１５等を尺度として用いれば良い。
【００７４】
ステップＳ２０４：終了判定部１１４は、予め決められた所定の終了条件を満たすか否かを判定する。終了条件には、例えば、繰り返し回数ｔが、予め決められた回数に達したことが挙げられる、又は、終了条件には、上記の式１１によるパラメータλの更新前後での変化量（すなわち、λｔに対するλｔ＋１の変化量）が所定以下となったことが挙げられる。
【００７５】
終了判定部１１４により終了条件を満たさないと判定された場合、パラメータ推定部１０３は、繰り返し回数ｔに「１」を加算した上で、ステップＳ２０１の処理を実行する。これにより、終了条件を満たすまで、上記のステップＳ２０１〜ステップＳ２０３の処理が繰り返し実行される。
【００７６】
一方で、終了判定部１１４により終了条件を満たすと判定された場合、パラメータ推定部１０３は、パラメータ更新処理を終了する。これにより、入力されたデータセットｘに適合するパラメータλが推定される。
【００７７】
図４に戻る。ステップＳ１０４：出力部１０４は、パラメータ推定部１０３により推定されたパラメータλを出力する。
【００７８】
以上により、本発明の実施の形態におけるパラメータ推定装置１０は、データセットｘと確率モデルとが入力された場合に、この確率モデルのパラメータλであって、データセットｘに適合するパラメータλを推定することができる。
【００７９】
しかも、本発明の実施の形態におけるパラメータ推定装置１０は、勾配計算部１１１によって、広汎な種類の確率モデルのパラメータλを推定することができるようになる。また、本発明の実施の形態におけるパラメータ推定装置１０は、計量計算部１１２とパラメータ更新部１１３とによって、例えば大量のデータにより構成されるデータセットｘであっても、効率的にパラメータλを更新することができるようになる。
【００８０】
すなわち、本発明の実施の形態におけるパラメータ推定装置１０は、自然勾配法と動的ステップサイズ法との両方の利点を有し、広汎な種類の確率モデルのパラメータを推定可能で、かつ、大量のデータに対しても効率的に計算を行うことができる。
【００８１】
＜本発明の効果＞
ここで、本発明の実施の形態におけるパラメータ推定装置１０を２値判別問題に適用した場合における本発明の効果について説明する。確率モデルとしてはベイズ的ロジスティック回帰モデルを用いて、データセットｘとしてはＬＩＢＳＶＭにより提供されるａ９ａを利用する。このデータセットは各データ（以降、「サンプル」と表す。）が２値のラベル及び１２３次元の特徴ベクトルにより構成される。この特徴ベクトルは、元は１４成分の値だったものをカテゴリ毎に、｛０，１｝に書き換えて構成したものである。
【００８２】
すなわち、データセットｘを、ｘ＝｛ｘｎ｝と表した場合、各サンプルｘｎは、
【００８３】
【数１４】
2019053349.tif 000016
と表される。
【００８４】
パラメータλの推定は３２，５６１個のサンプルを用いて行い、このサンプルとは別の１６，２８１個の評価用データで評価を行った。
【００８５】
確率モデルは、以下の式１３及び式１４により表される。
【００８６】
【数１５】
2019053349.tif 000017
【００８７】
【数１６】
2019053349.tif 000018
ただし、ｚはｗｎと同様に１２３次元のベクトルで、Ｎ（０，Ｉ）は標準正規分布である。
【００８８】
分布ｑλ（ｚ）も正規分布Ｎ（ｍ，ｄｉａｇ（ｓ））で構成する。すなわち、推定対象のパラメータλは、λ＝（ｍ，ｓ）となる。ここで、ｍ，ｓは１２３次元のベクトルで、ｄｉａｇ（ｓ）は、対角成分がベクトルｓで構成される対角行列を表す。
【００８９】
このとき、本発明及び従来技術の対数尤度について、図６（ａ）に示す。図６（ａ）における対数尤度は、評価用データに関して、分布ｑλ（ｚ）の平均であるｍを用いて、
【００９０】
【数１７】
2019053349.tif 000019
の平均値を算出したものである。対数尤度が高い程、データセットｘに適合した良いパラメータλである。一方で、図６（ａ）におけるパラメータ更新の繰り返し回数は、パラメータの更新について、データセットｘを何周したかに対応する。
【００９１】
図６（ａ）に示すように、本発明では、従来技術と比較して、より少ない繰り返し回数で高い対数尤度となっていることがわかる。
【００９２】
また、本発明及び従来技術の判別誤り率について、図６（ｂ）に示す。図６（ｂ）における判別誤り率は、評価用データに関して、ｙｎｗｎＴｍの符号が正の値のときを正しい判別とした場合に、誤った判別を行ったサンプル数の割合である。判別誤り率が低い程、データセットｘに適合した良いパラメータλである。パラメータ更新の繰り返し回数は、図６（ａ）と同様である、
図６（ｂ）に示すように、本発明では、従来技術と比較して、より少ない繰り返し回数で低い判別誤り率となっていることがわかる。
【００９３】
図６（ａ）及び図６（ｂ）に示すように、本発明によれば、従来技術に比べて、より少ない繰り返し回数で（すなわち、より効率的に）、データセットｘに適合した良いパラメータλを推定できる。
【００９４】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００９５】
１０        パラメータ推定装置
１００      推定プログラム
１０１      入力部
１０２      初期化部
１０３      パラメータ推定部
１０４      出力部
１１１      勾配計算部
１１２      計量計算部
１１３      パラメータ更新部
１１４      終了判定部
１１０      記憶部
【図１】
2019053349.tif 000020
【図２】
2019053349.tif 000021
【図３】
2019053349.tif 000022
【図４】
2019053349.tif 000023
【図５】
2019053349.tif 000024
【図６】
2019053349.tif 000025