(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241001BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023506631
(86)(22)【出願日】2021-03-18
(86)【国際出願番号】 JP2021011115
(87)【国際公開番号】W WO2022195809
(87)【国際公開日】2022-09-22
【審査請求日】2023-08-31
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】宇野 裕
【審査官】新井 則和
(56)【参考文献】
【文献】特開2010-207035(JP,A)
【文献】特開2020-062369(JP,A)
【文献】LIU Zhenqiu et al.,Sparse generalized linear model with L0 approximation for feature selection and prediction with big omics data,[オンライン],2017年12月19日,[検索日 2024.06.13], インターネット:<https://link.springer.com/article/10.1186/s13040-017-0159-z>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得手段と、
前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理手段と、
前記入力データを参照して前記回帰係数を更新する更新処理を実行する更新手段と、を備えて
おり、
前記更新手段は、下記式(a)により与えられる評価関数を参照して前記更新処理を実行する、
【数1】
ここで、Nは前記データセットの個数を表す自然数、x
n
は前記説明変数、φは回帰係数、y
n
は前記目的変数、w
n
は前記品質に応じた重み係数、Aは前記残差分布の形状を表現する関数、Tは転置を表す記号、λは正則化パラメータ、|φ|
0
は、回帰係数φのL0ノルム、である
ことを特徴とする情報処理装置。
【請求項2】
前記更新手段は、前記回帰係数が所定の収束条件を満たすまで、前記入力データを参照して前記更新処理を繰り返し実行する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記入力データは、
前記正則化パラメータを含む、
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記更新手段は
、前記正則化パラメータを係数とするL0正則化項を含む
、一般化線形回帰モデルの前記評価関数を参照して、前記更新処理を実行する、
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
各データセットの信頼性に関する情報を取得し、取得した信頼性に関する情報を参照して、前記品質に関する情報を生成する品質情報生成手段を更に備えている、
ことを特徴とする請求項1から
4の何れか1項に記載の情報処理装置。
【請求項6】
情報処理装置が、
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得すること、
取得した入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化すること、
前記入力データを参照して前記回帰係数を更新する更新処理を実行すること、
を含
み、
前記更新処理は、下記式(a)により与えられる評価関数を参照して実行される、
【数2】
ここで、Nは前記データセットの個数を表す自然数、x
n
は前記説明変数、φは回帰係数、y
n
は前記目的変数、w
n
は前記品質に応じた重み係数、Aは前記残差分布の形状を表現する関数、Tは転置を表す記号、λは正則化パラメータ、|φ|
0
は、回帰係数φのL0ノルム、である
情報処理方法。
【請求項7】
前記情報処理装置が、前記更新処理を実行することにおいて、前記回帰係数が所定の収束条件を満たすまで、前記入力データを参照して前記更新処理を繰り返し実行する、
ことを特徴とする請求項
6に記載の情報処理方法。
【請求項8】
前記入力データは、
前記正則化パラメータを含む、
ことを特徴とする請求項
6または7に記載の情報処理方法。
【請求項9】
コンピュータを情報処理装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得手段と、
前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理手段と、
前記入力データを参照して前記回帰係数を更新する更新処理を実行する更新手段と、として機能さ
せ、
前記更新手段は、下記式(a)により与えられる評価関数を参照して前記更新処理を実行する、
【数3】
ここで、Nは前記データセットの個数を表す自然数、x
n
は前記説明変数、φは回帰係数、y
n
は前記目的変数、w
n
は前記品質に応じた重み係数、Aは前記残差分布の形状を表現する関数、Tは転置を表す記号、λは正則化パラメータ、|φ|
0
は、回帰係数φのL0ノルム、である
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般化線形回帰モデルを推定する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、線形回帰、または一般化線形回帰等の回帰分析を行う装置が提案されている。また、近年ではビッグデータへの適用時に発生し得る過学習をさけるため、スパースネスの制約を課した回帰モデルの推定が提案されている。
【0003】
例えば特許文献1には、スパースネスの制約を課した一般化線形回帰モデル(以下、「スパース一般化線形回帰モデル」ともいう)が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
線形回帰または一般化線形回帰の技術において、得られたデータの品質に無視できないバラつきが存在する場合がある。しかしながら、特許文献1に記載の技術では、データの品質にばらつきがある場合には、好適なスパース一般化線形回帰モデルを推定することができない、という問題があった。
【0006】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、データの品質にばらつきがある場合であっても、好適なスパース一般化線形回帰モデルを推定することが可能な情報処理装置を実現することにある。
【課題を解決するための手段】
【0007】
本発明の一側面に係る情報処理装置は、説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得手段と、前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理手段と、前記入力データを参照して前記回帰係数を更新する更新処理を実行する更新手段と、を備える。
【0008】
本発明の一側面に係る情報処理方法は、情報処理装置が、説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得すること、取得した入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化すること、前記入力データを参照して前記回帰係数を更新する更新処理を実行すること、を含む。
【0009】
本発明の一側面に係るプログラムは、コンピュータを情報処理装置として機能させるプログラムであって、前記プログラムは、前記コンピュータを、説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得手段と、前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理手段と、前記入力データを参照して前記回帰係数を更新する更新処理を実行する更新手段と、として機能させる、ことを特徴とする。
【発明の効果】
【0010】
本発明の一態様によれば、データの品質にばらつきがある場合であっても、好適なスパース一般化線形回帰モデルを推定することが可能な情報処理装置を実現することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
【
図3】本発明の例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
【
図4】本発明の例示的実施形態2に係るデータセットの具体例を示す図である。
【
図5】本発明の例示的実施形態2に係る情報処理方法の流れを示すフロー図である。
【
図6】本発明の例示的実施形態2に係る前処理の流れを示すフロー図である。
【
図7】本発明の例示的実施形態2に係る最適化処理の流れを示すフロー図である。
【
図8】本発明の例示的実施形態2に係る更新準備処理の流れを示すフロー図である。
【
図9】本発明の例示的実施形態3に係る情報処理装置の構成を示すブロック図である。
【
図10】本発明の例示的実施形態1~3に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
〔例示的実施形態1〕
本発明の例示的実施形態1について、図面を参照して説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0013】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置10の構成について、
図1を参照して説明する。
図1は、情報処理装置10の構成を示すブロック図である。情報処理装置10は、スパースネスの制約を課した一般化線形回帰モデル(スパース一般化線形回帰モデル)を生成する装置である。より具体的に言えば、情報処理装置10は、スパース一般化線形回帰モデルの回帰係数を推定する装置である。なお、本例示的実施形態において、スパース一般化線形回帰モデルの回帰係数を推定することを、当該モデルを生成すると表現することもあるし、当該モデルを決定すると表現することもある。
【0014】
情報処理装置10は、
図1に示すように、取得部11、前処理部12、および更新部13を備える。取得部11は、本例示的実施形態において取得手段を実現する構成である。前処理部12は、本例示的実施形態において前処理手段を実現する構成である。更新部13は、本例示的実施形態において更新手段を実現する構成である。
【0015】
取得部11は、説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する。
【0016】
ここで、各データセットの品質に関する情報の一例としては、各データセットの信頼性を数値として表現したものが挙げられる。一例として、当該数値は、データセットの信頼性が高いほど大きく、データセットの信頼性が低いほど小さい値であってもよい。
【0017】
残差分布の形状に関する情報は、一例として、残差分布の形状を表現する関数である。本例示的実施形態において、残差分布の形状を表現する関数のことを、単に、分布関数と呼ぶこともある。分布関数の具体例は、本例示的実施形態を限定するものではないが、例えば、正規分布、ベルヌーイ分布、ポアソン分布、二項分布、ガウス分布等が挙げられる。本例示的実施形態に係る情報処理装置10の対象は、上述のように、一般化線形回帰モデルであり、本例示的実施形態で説明する処理は、種々の分布関数一般に対して適用可能である。
【0018】
入力データに含まれるデータおよび情報は、上述したものに限られない。入力データは、他のデータおよび情報を含んでいてもよい。一例として、入力データは、正則化パラメータを含んでもよい。ここで、正規化パラメータとは、一例として、後述する更新部13が回帰係数を更新する際に参照する評価関数に含まれる正規化項(ペナルティ項などとも呼ぶ)を規定するパラメータである。
【0019】
取得部11は、入力データの一部または全部を情報処理装置10が内蔵する記憶装置から読み出すことにより取得してもよく、また、外部記憶装置から読み出すことにより取得してもよい。また、取得部11は、他の装置から通信部を介して入力データの一部または全部を受信することにより取得してもよい。
【0020】
前処理部12は、取得部11が取得した入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパース一般化線形回帰モデルの回帰係数を初期化する。一例として、前処理部12は、ランダム関数により発生させた乱数を用いて回帰係数を初期化してもよいし、予め定められた初期値を有するように、回帰係数を初期化してもよい。また、前処理部12は、回帰係数の初期化処理以外にも、回帰係数の更新処理で参照する各種のパラメータを初期化する処理を行ってもよい。
【0021】
更新部13は、入力データを参照して、前処理部12が初期化した回帰係数を更新する更新処理を実行する。更新部13は、一例として、スパース一般化線形回帰モデルの評価関数を参照し、当該評価関数の値が小さくなるよう回帰係数を更新する。
【0022】
更新部13は、一例として、回帰係数が所定の収束条件を満たすまで、入力データを参照して前記更新処理を繰り返し実行する。所定の収束条件の一例として、更新処理による回帰係数の変化量が閾値以下である、といった条件を挙げられる。ただし、回帰係数の更新処理は、上述した処理に限定されない。
【0023】
<情報処理方法の流れ>
以上のように構成された情報処理装置10が実行する情報処理方法S10の流れについて、
図2を参照して説明する。
図2は、情報処理方法S10の流れを示すフロー図である。
【0024】
情報処理方法S1は、スパース一般化線形回帰モデルを生成する方法であり、
図2に示すように、ステップS11~S13を含む。
【0025】
(ステップS11)
ステップS11(取得処理)において、取得部11は、説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する。取得部11による具体的な処理例については上述したためここでは説明を省略する。
【0026】
(ステップS12)
ステップS12(前処理)において、前処理部12は、取得処理S11で取得した入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する。前処理部12による具体的な処理例については上述したためここでは説明を省略する。
【0027】
(ステップS13)
ステップS13(更新処理)において、更新部13は、取得処理S11で取得した入力データを参照して回帰係数を更新する更新処理を実行する。更新部13による具体的な処理例については上述したためここでは説明を省略する。
【0028】
<本例示的実施形態の効果>
以上のように、本例示的実施形態に係る情報処理装置10は、各データセットの品質に関する情報を含む入力データを参照して回帰係数の初期化および更新を行う。このため、本例示的実施形態に係る情報処理装置10によれば、データセットの品質にばらつきがある場合であっても、好適なスパース一般化線形回帰モデルを生成することができる。
【0029】
〔例示的実施形態2〕
本発明の例示的実施形態2について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を繰り返さない。
【0030】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置10Aの構成について、
図3を参照して説明する。
図3は、情報処理装置10Aの構成を示すブロック図である。情報処理装置10Aは、スパース一般化線形回帰モデルを生成する装置である。より具体的には、スパース一般化線形回帰モデルの回帰係数を決定する装置である。
図3に示すように、情報処理装置10Aは、取得部11A、前処理部12A、更新部13A、および出力部14Aを備える。なお、図中の矢印はデータの流れの方向を端的に示したものであり、双方向性を排除するものではない。
【0031】
(取得部)
取得部11は、説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する。
【0032】
取得部11Aが取得する入力データは、スパース一般化線形回帰モデル(以下、単に「回帰モデル」ともいう)を生成するために用いられるデータである。取得部11Aが取得する入力データは、説明変数xn(1≦n≦N;Nはデータセットの数を表す自然数)および目的変数ynからなる複数のデータセットdn、品質情報wn、分布関数Aの関数形、並びに、正則化パラメータλを含む。
【0033】
なお、数学的表記法は本例示的実施形態を限定するものではないが、一例として、説明変数xnは、個々のデータセットにおいて、説明変数の数Mだけ成分を有するM次元ベクトルとして表現される。換言すれば、説明変数xnは、nを固定した場合、M個の成分を有するベクトルとして表現することができ、Mの値は、説明変数の数である。このため、説明変数xnを、説明変数ベクトルと表現することもある。また、説明変数ベクトルxnを、データセットの数Nだけ並べて表現される行列を、説明変数行列Xと表現することもある。
なお、上記の内容は本実施形態を限定するものではなく、説明変数xnが、個々のデータセットにおいて、1つの成分を有するスカラーとして表現される場合もある。
【0034】
(データセット)
データセットdnは、説明変数xnと目的変数ynのセットである。説明変数は、一例として、対象となる事象の原因を表現する変数と捉えることもできる変数である。説明変数は、他の表現として、独立変数、および、予測変数などと呼ばれることもある。目的変数は、一例として対象となる事象の結果を表現する変数と捉えることもできる変数である。目的変数は、他の表現として、従属変数、および、応答変数などと呼ばれることもある。
【0035】
(品質情報)
品質情報wnは、各データセットdnの品質に関する情報である。品質情報wnは、一例として、各データセットdnの信頼性を数値として表現したものが挙げられる。一例として、品質情報wnは、データセットdnの信頼性が高いほど大きく、データセットdnの信頼性が低いほど小さい値であってもよい。
【0036】
なお、品質情報wnは、一例として、個々のデータセットにおいて、説明変数の数Mだけ成分を有するM次元ベクトルとして表現される。換言すれば、品質情報wnは、nを固定した場合、M個の成分を有するベクトルとして表現することができ、Mの値は、品質情報の数である。このため、品質情報wnを、品質情報ベクトルと表現することもある。また、品質情報ベクトルwnを、データセットの数Nだけ並べて表現される行列を、品質情報行列Wと表現することもある。なお、上記の内容は本実施形態を限定するものではなく、品質情報wnが、個々のデータセットにおいて、1つの成分を有するスカラーとして表現される場合もある。
【0037】
(分布関数)
分布関数Aは、残差分布の形状に関する情報であり、一例として、残差分布の形状を表現する関数である。
【0038】
例示的実施形態1と同様に、本例示的実施形態において、残差分布の形状を表現する関数のことを、単に、分布関数と呼ぶこともある。分布関数の具体例は、本例示的実施形態を限定するものではないが、例えば、正規分布、ベルヌーイ分布、ポアソン分布、二項分布、ガウス分布等が挙げられる。本例示的実施形態に係る情報処理装置10の対象は、上述のように、一般化線形回帰モデルであり、本例示的実施形態で説明する処理は、種々の分布関数一般に対して適用可能である。
【0039】
(正則化パラメータ)
正規化パラメータは、一例として、後述する更新部13Aが回帰係数を更新する際に参照する評価関数に含まれる正規化項(ペナルティ項などとも呼ぶ)を規定するパラメータである。一例として、正規化パラメータは、上記正規化項の寄与の大きさを表す係数として導入される。
【0040】
ここで、具体的な正規化項は、一般的には、要求する制約条件に応じて適宜定められる。本例示的実施形態では、正規化項として、スパースネスの制約を表現するものを採用する。スパースネスの制約には種々の表現の仕方があるが、本例示的実施形態では、一例として、L0正規化項を用いたL0スパースネス、および、L1正規化項を用いたL1スパースネスが挙げられる。本例示的実施形態における正規化パラメータは、情報処理装置10Aが生成するスパースネス一般化線形回帰モデルの評価関数Eに含まれるL0正規化項の係数である。
【0041】
本例示的実施形態に係る情報処理装置10Aにおいては、入力データが正則化パラメータを含む構成が採用されている。このため、情報処理装置10Aによれば、入力データが正則化パラメータを含まない場合に比べて、より好適なスパース一般化線形回帰モデルを生成することができる。
【0042】
(前処理部)
前処理部12Aは、取得部11Aが取得した入力データに含まれるデータおよび情報を参照し、スパース一般化線形回帰モデルの回帰係数φを初期化する処理等を実行する。前処理部12Aは、一例として、説明変数xn、分布関数Aの関数形、品質情報wnを参照し、回帰係数φの初期解(初期値)、関数A(θ)の一階微分である一次導関数A'(θ)、関数A(θ)の二階微分である二次導関数A''(θ)、単位行列IM(M×M)、単位行列IN(N×N)、重み行列Wを生成する。ここで、単位行列IM(M×M)は、M行×M列の単位行列であり、単位行列IN(N×N)は、N行×N列の単位行列である。前処理部12Aが実行する前処理の詳細については後述する。なお、上述の説明において便宜的に導入したθは関数A、A'、A''を表現するものであり、本例示的実施形態を何ら限定するものではない。
【0043】
(更新部)
更新部13Aは、入力データを参照して、前処理部12が初期化した回帰係数φを更新する更新処理を実行する。更新部13Aは、一例として、
図3に示すように、更新準備部131、回帰係数更新部132、および収束判定部133を含む。
【0044】
更新準備部131は、回帰係数φを更新するための準備処理を行う。更新準備部131は、一例として、回帰係数φ、関数A'(θ)、関数A''(θ)を参照して、行列D、ベクトル^Y、ベクトルZ、行列V、を生成する。更新準備部131が実行する準備処理の詳細については後述する。ここで、「^Y」という表記は、通常、「チルダ付きのY」として表現される表記を、明細書において使用可能な文字を用いて表現したものである。具体的な表記法は、本実施形態を限定するものではない。
【0045】
回帰係数更新部132は、入力データの一部、前処理部12Aが生成した各種行列、更新準備部131が生成したデータを参照して、回帰係数φを更新する。回帰係数更新部132は、具体的には、行列D、ベクトル^Y、ベクトルZ、行列V、単位行列I(M×M)、単位行列I(N×N)、重み行列Wを参照して、回帰係数φを更新する。回帰係数更新部132が実行する回帰係数の更新処理については後述する。
【0046】
収束判定部133は、回帰係数φが所定の収束条件を満たすまで収束したかを判定する。収束判定部133が実行する判定処理の詳細については後述する。
【0047】
(出力部)
出力部14Aは、収束判定部133が収束したと判定した回帰係数φを出力する。出力部14Aは一例として表示パネルを備え、収束判定部133が収束したと判定した回帰係数φの値を表示する構成としてもよいし、図示しない記録媒体に、収束判定部133が収束したと判定した回帰係数φの値を格納する構成としてもよい。出力部14Aが出力した回帰係数φの値は、各種の解析において参照される。
【0048】
(データセットの具体例)
図4は、例示的実施形態2に係るデータセットd
nの具体例を示す図である。
図4の例では、説明変数x
nを示す横軸と目的変数y
nを示す縦軸とにより表される座標空間に、複数のドットd11および複数のドットd12が示されている。複数のドットd11および複数のドットd12は、例示的実施形態2に係るデータセットを表す。換言すると、
図4に示す複数のドットd11および複数のドットd12の各々が、各々のnに対応するデータセットd
nに含まれる説明変数x
nと目的変数y
nとの組を表している。説明変数x
nのより具体的な一例については、後述する例示的実施形態において説明するが、一例として、都市の工場の数であり、目的変数y
nは、一例として、測定士が測定した都市の空気中の化学物質暴露量を挙げることができる。ただしこの例は、本例示的実施形態を何ら限定するものではない。
【0049】
図4に示すように、データセットには、信頼性が相対的に高いデータセットと、信頼性が相対的に低いデータセットとが含まれる。ドットd11は、信頼性の高いデータセットd
nを表しており、ドットd12は、信頼性の低いデータセットd
nを表している。信頼性の高いデータセットd
nは、一例として、経験の長い測定士の測定結果を示すデータセットである。一方、信頼性の低いデータセットd
nは、一例として、経験の浅い測定士の測定結果を示すデータセットである。ただし、この例は、本例示的実施形態を何ら限定するものではない。
【0050】
上述したように、回帰モデルの生成処理のために用いるデータセットd
nの品質には、一般に、バラつきがある。例えば、経験の浅い測定士が測定した場合、測定結果が大きな誤差を含んでいる場合がある。
図4の例では、エリアa11に位置する2つのドットd12は、他のドットd11、d12に比べて品質が低い場合がある。
【0051】
本例示的実施形態に係る情報処理装置10Aでは、このようなデータセットの品質のバラつきを、品質情報wnによって考慮したうえで、好適なスパース一般化線形回帰モデルを生成することができる。
【0052】
<情報処理方法の流れ>
以上のように構成された情報処理装置10Aが実行する情報処理方法S10Aの流れについて、
図5を参照して説明する。
図5は、情報処理方法S10Aの流れを示すフロー図である。
図5に示すように、情報処理方法S10Aは、ステップS11A~ステップS14Aを含む。
【0053】
(ステップS11A)
ステップS11Aにおいて、取得部11Aは、入力データを取得する。入力データは、上述のように、説明変数xnおよび目的変数ynからなる複数のデータセットdn、品質情報wn、分布関数Aの関数形、並びに、正則化パラメータλ、を含む。
【0054】
(ステップS12A)
ステップS12Aにおいて、前処理部12Aは、取得処理S11Aで取得した入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数φを初期化する。ステップS12Aの詳細については後述する。
【0055】
(ステップS13A)
更新処理S13Aにおいて、更新部13Aは、取得処理S11Aで取得した入力データを参照して回帰係数φを更新する更新処理を実行する。一例として、更新部13Aは、一般化線形回帰モデルの評価関数Eを参照して、前記更新処理を実行する。評価関数Eは、一例として、正則化パラメータを係数とするL0正則化項を含む。更新部13Aは、一例として、評価関数Eが小さくなるよう回帰係数φを更新する。
【0056】
より具体的には、更新部13Aは、一例として、下記式(1)により与えられる評価関数Eを参照して更新処理を実行する。
【数1】
【0057】
式(1)において、データ数Nは、データセットdnの総数である。品質情報wn、分布関数A、説明変数xn、目的変数yn、正則化パラメータλは、入力データに含まれる情報またはデータである。Tは転置を表す記号である。|φ|0は回帰係数φのL0ノルムである。
【0058】
ステップS13Aにおいて、更新部13Aは、一例として、ニュートン・ラフソン法の手順に沿って回帰係数φを収束させる。ニュートン・ラフソン法を用いる場合、勾配∇Eとヘッセ行列H(φ)は、一例として、下記式(2)および式(3)により与えられる。
【数2】
【数3】
【0059】
本例示的実施形態に係る情報処理装置10Aにおいては、一般化線形回帰モデルの評価関数Eであって、正則化パラメータを係数とするL0正則化項を含む評価関数Eを参照して、更新処理を実行する。このため、情報処理装置10Aによれば、正則化パラメータを係数とするL0正則化項を含む評価関数を参照しない場合に比べて、より好適なスパース一般化線形回帰モデルを生成することができる。
【0060】
また、本例示的実施形態に係る情報処理装置10Aにおいては、上記式(1)により与えられる評価関数Eを参照して更新処理を実行する。このため、本例示的実施形態に係る情報処理装置10Aによれば、データの品質にばらつきがある場合であっても、好適なスパース一般化線形回帰モデルを生成することができる。
【0061】
(ステップS14A)
ステップS14Aにおいて、出力部14Aは、回帰係数φを出力する。
【0062】
(前処理)
図6は、前処理部12Aが行う前処理(
図5のステップS12Aの処理)の流れを示すフロー図である。
図6に示すように、前処理部12Aが行う前処理は、ステップS121~ステップS125を含む。なお、一部のステップは並行して、または順序を替えて実行されてもよい。
【0063】
(ステップS121)
ステップS121において、前処理部12Aは、特徴数Mとデータ数Nをカウントする。ここで、特徴数Mとは、ベクトルである変数xnの次元数である。
【0064】
(ステップS122)
ステップS122において、前処理部12Aは、一次導関数A'(θ)と二次導関数A''(θ)とを読み出す。一例として、前処理部12Aは、取得部11Aが取得した分布関数Aから一次導関数A'(θ)と二次導関数A''(θ)とを導出する。当該導出処理は、前処理部12Aが、数値的な演算によって実行する構成としてもよいし、解析的な演算によって実行する構成としてもよいし、それらの組み合わせによって実行する構成としてもよい。
【0065】
(ステップS123)
ステップS123において、前処理部12Aは、品質情報w
nを参照して重み行列Wを生成する。重み行列Wは、一例として、下記の式(4)により表される。
【数4】
【0066】
(ステップS124)
ステップS124において、前処理部12Aは、回帰係数φを初期化する。前処理部12Aは、一例として、ランダム関数により発生させた乱数を用いて回帰係数φを初期化する。
【0067】
(ステップS125)
ステップS125において、前処理部12Aは、単位行列IM、単位行列INを生成する。ここで、上述のように、単位行列IMは、M行×M列の単位行列であり、単位行列INは、N行×N列の単位行列である。
【0068】
(更新処理)
図7は、更新部13Aが行う更新処理(
図5のステップS13Aの処理)の流れを示すフロー図である。
図7に示すように、更新部13Aが行う更新処理は、ステップS131~ステップS133を含む。なお、一部のステップは並行して、または順序を替えて実行されてもよい。
【0069】
(ステップS131)
ステップS131~S133において、更新部13Aは、回帰係数φが所定の収束条件を満たすまで、入力データを参照して更新処理(ステップS131~S132の処理)を繰り返し実行する。まず、ステップS131において、更新準備部131は、更新準備処理を実行する。更新準備処理については後述する。
【0070】
(ステップS132)
ステップS132において、回帰係数更新部132は、回帰係数φを更新する。回帰係数更新部132は、例えば、下記の式(5)により回帰係数φを更新する。
【数5】
【0071】
より具体的には、回帰係数更新部132は、例えば、下記の式(6a)または式(6b)により回帰係数φを更新する構成とすることができる。
【数6】
【数7】
【0072】
式(6a)および式(6b)において、正則化パラメータλは、取得部11Aが取得した入力データに含まれるパラメータである。単位行列Iおよび重み行列Wは、前処理部12Aが生成する行列である。行列D、行列VおよびベクトルZは、更新準備部131がステップS131で算出する行列およびベクトルである。行列Xは、説明変数xn(1≦n≦N)を行列表現したものである。
【0073】
回帰係数更新部132は、一例として、データ数Nが特徴数Mよりも大きいか否かによって、異なるアルゴリズムにより回帰係数φを更新してもよい。一例として、回帰係数更新部132は、データ数Nが特徴数M以上である場合、式(6a)により回帰係数φを更新し、データ数Nが特徴数M未満である場合、式(6b)により回帰係数φを更新してもよい。
【0074】
(ステップS133)
ステップS133において、収束判定部133は、回帰係数φが所定の収束条件を満たすかを判定する。収束条件は、一例として、1回の更新処理による回帰係数φの変化量が閾値以下である、といった条件であってもよい。具体的には、例えば、収束条件は、以下の式(7)であってもよい。式(7)において、ηは、更新前の回帰係数であり、φ
newは更新後の回帰係数である。εは所定の閾値である。
【数8】
【0075】
回帰係数φが収束条件を満たしている場合(ステップS133;YES)、更新部13Aは更新処理を終了する。一方、回帰係数φが収束条件を満たしていない場合(ステップS133;NO)、更新部13AはステップS131の処理に戻る。
【0076】
(更新準備処理)
図8は、更新準備部131が行う更新準備処理(
図7のステップS131)の流れを示すフロー図である。
図8に示すように、更新準備部131が行う更新準備処理は、ステップS311~S314を含む。なお、一部のステップは並行して、または順序を替えて実行されてもよい。
【0077】
(ステップS311)
ステップS311において、更新準備部131は、以下の式(8)によりベクトルΘを算出する。ベクトルΘは、ベクトル^Yの算出処理で用いられる。式(8)において、φoldは、更新前の回帰係数である。
Θ=Xφold …(8)
【0078】
(ステップS312)
ステップS312において、更新準備部131は、行列Dおよび行列Vを生成する。行列Dおよび行列Vは、後段の回帰係数φの更新処理で用いられる。行列D、行列Vは、一例として、下記の式(9)により表される。式(9)において、η
m(1≦m≦M)は更新前の回帰係数φ
oldである。V
n(1≦n≦N)は、関数A''(x
nφ)である。
【数9】
【0079】
(ステップS313)
ステップS313において、更新準備部131は、ベクトル^Yを算出する。ベクトル^Yは、一例として、以下の式(10)で表される。
【数10】
ここで、A’の引数は、ステップS311において算出したベクトルΘの各成分である。
【0080】
(ステップS314)
ステップS314において、更新準備部131は、ベクトルZを算出する。ベクトルZは、後段の回帰係数φの更新処理で用いられる。更新準備部131は、一例として、以下の式(11)によりベクトルZを算出する。式(11)において、φ
oldは更新前の回帰係数であり、ベクトル^Yは、更新準備部131がステップS313で算出したベクトルである。
【数11】
【0081】
更新準備部131は、以上のような処理によって、行列D、ベクトル^Y、ベクトルZ、および行列Vを算出し、算出した行列D、ベクトル^Y、ベクトルZ、および行列Vを、回帰係数更新部132に提供する。そして、回帰係数更新部132は、上述した処理によって回帰係数を更新する。
【0082】
(情報処理装置10Aの効果)
従来の回帰モデルの生成において、データセットの総数が充分に多い場合は、信頼性の低いデータセットを用いることなく回帰モデルの生成を行うことも考えられる。一方、データセットの総数が少ない場合には、回帰モデルの生成のために信頼性の低いデータセットも使わざるを得ない場合がある。しかしながら、信頼性の低いデータセットを信頼性の高いデータセットと同様に扱うと、信頼性の低いデータセットの誤差が回帰モデルに強く影響し、適切な回帰モデルを生成できない場合があった。
【0083】
それに対し本例示的実施形態に係る情報処理装置10Aは、各データセットdnの品質に関する品質情報wnを参照して回帰係数φの初期化および更新を行う。このため、データセットdnの品質にばらつきがある場合であっても、好適なスパース一般化線形回帰モデルを生成し易い。
【0084】
また、本例示的実施形態に係る情報処理装置10Aにおいては、回帰係数φが所定の収束条件を満たすまで、入力データを参照して更新処理を繰り返し実行する構成が採用されている。このため、本例示的実施形態に係る情報処理装置10Aによれば、例示的実施形態1に係る情報処理装置10の奏する効果に加えて、より好適なスパース一般化線形回帰モデルを生成できるという効果が得られる。
【0085】
〔例示的実施形態3〕
本発明の例示的実施形態3について、図面を参照して詳細に説明する。なお、例示的実施形態1、2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を繰り返さない。
【0086】
本例示的実施形態に係る情報処理装置10Bの構成について、
図9を参照して説明する。
図9は、情報処理装置10Bの構成を示すブロック図である。情報処理装置10Bは、取得部11A、前処理部12A、更新部13Aに加えて、品質情報生成部15を備える。なお、図中の矢印はデータの流れの方向を端的に示したものであり、双方向性を排除するものではない。
【0087】
品質情報生成部15は、各データセットdnの信頼性に関する情報を取得し、取得した信頼性に関する情報を参照して、品質に関する情報である品質情報wnを生成する。ここで、信頼性に関する情報は、各データセットdnを取得する装置の精度や作業者の熟練度等を示す情報を用いることができる。信頼性に関する情報の具体例は本例示的実施形態を限定するものではないが、信頼性に関する情報は、一例として、測定士の熟練度に関する情報である。また、信頼性に関する情報は、一例として、測定士の測定経験の長さを示す情報であってもよい。この場合、一例として、信頼性に関する情報は、測定士の経験が長いほど大きい値であってもよい。
【0088】
品質情報生成部15は、一例として、各データセットdnの信頼性に関する情報を参照して、信頼性が高いほど品質情報wnの値が大きくなるよう、データセットdnのそれぞれについて品質情報wnを生成する。
【0089】
本実施形態によれば、情報処理装置10Bは、各データセットの信頼性を好適に加味したスパース一般化線形回帰モデルを生成することができる。
【0090】
〔ソフトウェアによる実現例〕
情報処理装置10、10A、10Bの一部または全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0091】
後者の場合、情報処理装置10、10A、10Bは、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図10に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置10、10A、10Bとして動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置10、10A、10Bの各機能が実現される。
【0092】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、または、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、または、これらの組み合わせなどを用いることができる。
【0093】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0094】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、またはプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、または放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0095】
〔応用例〕
上述した情報処理装置10、10A、10B(以下、「情報処理装置10等」という)は、各種問題に応用可能である。一例として、情報処理装置10等は、都市における工場の数を説明変数x
nとし、都市における空気中の化学物質曝露量を目的変数y
nとする回帰モデルを生成する装置として適用可能である。
図4に例示したように、データセットの信頼性は、経験の長い測定士が測定したか経験の浅い測定士が測定したか、または、測定装置の性能等の条件によりバラつきが生じる場合がある。経験の浅い測定士の測定結果であるデータセットの信頼性は低い場合がある。従来の回帰モデルの生成において、データの総数が充分に多い場合は、信頼性の低いデータを用いることなく回帰モデルの生成を行うことも考えられる。一方、データの総数が少ない場合には、回帰モデルの生成のために信頼性の低いデータも使わざるを得ない場合がある。しかしながら、信頼性の低いデータを信頼性の高いデータと同様に扱うと、信頼性の低いデータの誤差が回帰モデルに強く影響し、適切な回帰モデルを生成できない場合があった。
【0096】
それに対し本例示的実施形態に係る情報処理装置10等は、各データセットdnの品質に関する品質情報wnを参照して回帰係数φの初期化および更新を行う。このため、データセットdnの品質にばらつきがある場合であっても、好適なスパース一般化線形回帰モデルを生成し易い。
【0097】
また、情報処理装置10等は、一例として、震度計の計測値を説明変数xnとし、地震による被害状況を表す情報を目的変数ynとする回帰モデルを生成する装置として適用可能である。震度計の性能や震度計の設置場所によっては、測定結果であるデータセットdnの品質が低いものが含まれる場合がある。例えば、震度計の設置場所によっては付近を走行する車により測定結果にノイズが含まれてしまう場合がある。そのような場合であっても、震度計の設置場所等の条件に応じて品質情報wnをデータdnごとに設定することにより、情報処理装置10等が好適な回帰モデルを生成することができる。
【0098】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0099】
〔付記事項2〕
上述した実施形態の一部または全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0100】
(付記1)
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得手段と、
前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理手段と、
前記入力データを参照して前記回帰係数を更新する更新処理を実行する更新手段と、を備えている、
ことを特徴とする情報処理装置。
【0101】
(付記2)
前記更新手段は、前記回帰係数が所定の収束条件を満たすまで、前記入力データを参照して前記更新処理を繰り返し実行する、
ことを特徴とする付記1に記載の情報処理装置。
【0102】
(付記3)
前記入力データは、正則化パラメータを含む、
ことを特徴とする付記1または2に記載の情報処理装置。
【0103】
(付記4)
前記更新手段は、一般化線形回帰モデルの評価関数であって、前記正則化パラメータを係数とするL0正則化項を含む評価関数を参照して、前記更新処理を実行する、
ことを特徴とする付記3に記載の情報処理装置。
【0104】
(付記5)
前記更新手段は、下記式(12)により与えられる前記評価関数を参照して前記更新処理を実行する、
ことを特徴とする付記3または4に記載の情報処理装置。
【数12】
ここで、Nは前記データセットの個数を表す自然数、x
nは前記説明変数、φは回帰係数、y
nは前記目的変数、w
nは前記品質に応じた重み係数、Aは前記残差分布の形状を表現する関数、Tは転置を表す記号、λは正則化パラメータ、|φ|
0は、回帰係数φのL0ノルム、である。
【0105】
(付記6)
各データセットの信頼性に関する情報を取得し、取得した信頼性に関する情報を参照して、前記品質に関する情報を生成する品質情報生成手段を更に備えている、
ことを特徴とする付記1から5の何れか1つに記載の情報処理装置。
【0106】
(付記7)
情報処理装置が、
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得すること、
取得した入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化すること、
前記入力データを参照して前記回帰係数を更新する更新処理を実行すること、
を含んでいる、ことを特徴とする情報処理方法。
【0107】
(付記8)
前記情報処理装置が、前記更新処理を実行することにおいて、前記回帰係数が所定の収束条件を満たすまで、前記入力データを参照して前記更新処理を繰り返し実行する、
ことを特徴とする付記7に記載の情報処理方法。
【0108】
(付記9)
前記入力データは、正則化パラメータを含む、
ことを特徴とする付記7または8に記載の情報処理方法。
【0109】
(付記10)
前記情報処理装置が、前記更新処理を実行することにおいて、一般化線形回帰モデルの評価関数であって、前記正則化パラメータを係数とするL0正則化項を含む評価関数を参照して、前記更新処理を実行する、
ことを特徴とする付記9に記載の情報処理方法。
【0110】
(付記11)
前記情報処理装置が、前記更新処理を実行することにおいて、下記式(13)により与えられる評価関数を参照して前記更新処理を実行する、
ことを特徴とする付記9または10に記載の情報処理方法。
【数13】
ここで、Nは前記データセットの個数を表す自然数、x
nは前記説明変数、φは回帰係数、y
nは前記目的変数、w
nは前記品質に応じた重み係数、Aは前記残差分布の形状を表現する関数、Tは転置を表す記号、λは正則化パラメータ、|φ|
0は、回帰係数φのL0ノルム、である。
【0111】
(付記12)
前記情報処理装置が、各データセットの信頼性に関する情報を取得し、取得した信頼性に関する情報を参照して、前記品質に関する情報を生成すること、を更に含む、
ことを特徴とする付記7から11の何れか1つに記載の情報処理方法。
【0112】
(付記13)
コンピュータを情報処理装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得手段と、
前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理手段と、
前記入力データを参照して前記回帰係数を更新する更新処理を実行する更新手段と、として機能させる、
ことを特徴とするプログラム。
【0113】
(付記14)
前記更新手段は、前記回帰係数が所定の収束条件を満たすまで、前記入力データを参照して前記更新処理を繰り返し実行する、
ことを特徴とする付記13に記載のプログラム。
【0114】
(付記15)
前記入力データは、正則化パラメータを含む、
ことを特徴とする付記13または14に記載のプログラム。
【0115】
(付記16)
前記更新手段は、一般化線形回帰モデルの評価関数であって、前記正則化パラメータを係数とするL0正則化項を含む評価関数を参照して、前記更新処理を実行する、
ことを特徴とする付記16に記載のプログラム。
【0116】
(付記17)
前記更新手段は、下記式(14)により与えられる評価関数を参照して前記更新処理を実行する、
ことを特徴とする付記15または16に記載のプログラム。
【数14】
ここで、Nは前記データセットの個数を表す自然数、x
nは前記説明変数、φは回帰係数、y
nは前記目的変数、w
nは前記品質に応じた重み係数、Aは前記残差分布の形状を表現する関数、Tは転置を表す記号、λは正則化パラメータ、|φ|
0は、回帰係数φのL0ノルム、である。
【0117】
(付記18)
各データセットの信頼性に関する情報を取得し、取得した信頼性に関する情報を参照して、前記品質に関する情報を生成する品質情報生成手段を更に備えている、
ことを特徴とする付記13から17の何れか1項に記載のプログラム。
【0118】
(付記19)
付記13に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【0119】
〔付記事項3〕
上述した実施形態の一部または全部は、更に、以下のように表現することもできる。
【0120】
少なくとも1つのプロセッサを備え、前記プロセッサは、
説明変数および目的変数からなる複数のデータセット、各データセットの品質に関する情報、並びに残差分布の形状に関する情報を含む入力データを取得する取得処理と、
前記取得手段が取得した前記入力データに含まれる少なくとも何れかのデータまたは情報を参照し、スパースネスの制約を課した一般化線形回帰モデルの回帰係数を初期化する前処理と、
前記入力データを参照して前記回帰係数を更新する更新処理と、を実行する情報処理装置。
【0121】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記前処理と、前記更新処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0122】
1、10、10A、10B 情報処理装置
11、11A 取得部(取得手段)
12、12A 前処理部(前処理手段)
13、13A 更新部(更新手段)
14A 出力部
15 品質情報生成部
131 更新準備部
132 回帰係数更新部
133 収束判定部
S1、S10、S10A 情報処理方法