【実施例1】
【0012】
<特徴量ベクトルの再配置例>
AI(Artificial Intelligence)は、線形分離不可能問題を解く能力を持つが、AIが、どうしてそのような判断をしたかが不明である。特に、deep learningなどの機械学習手法は、予測精度は高いが説明能力が低い。たとえば、ある患者に対して「風邪をひきやすい」という診断結果をAIが出力した場合、医師は、AIがなぜそのような結果を得たかを答えることができない。もし、AIがその原因まで判断できれば、医師は、患者に対して適切な治療をおこなうことがきる。
【0013】
図1は、特徴量ベクトルの再配置例を示す説明図である。(A)特徴量空間SP1には、複数の特徴量ベクトルx
n(n=1,2,…,N。Nは画像の枚数)が存在する。複数の特徴量ベクトルx
nは、たとえば、非線形の予測モデルPM1により正解ラベルLa,Lbに識別される。(B)特徴量空間SP2には、複数の特徴量ベクトルx
nが存在する。複数の特徴量ベクトルx
nは、たとえば、線形の予測モデルPM2により正解ラベルLa,Lbに識別される。
【0014】
(A)deep learningなどの機械学習手法は、識別結果である予測モデルPM1を説明するため、新たに線形回帰を学習する。具体的には、たとえば、この機械学習手法は、予測モデルPM1を求めた後に局所的に直線近似するという後付け的な処理を実行する。しかしながら、このような後付け的な処理では、直線近似された予測モデルPM1の局所部分が、特徴量ベクトルx
nを正しく説明できるかが不明である。また、何より、直線近似というロジスティック回帰を実行するため、都合2回の機械学習を実行する必要がある。
【0015】
(B)の予測モデルPM2は線形であるため、その傾きを参照すれば、特徴量ベクトルx
nが特徴量空間SP2内のどのパラメータで重みづけされているがわかり、特徴量ベクトルx
nを正しく説明することができる。実施例1では、複数の特徴量ベクトルx
nについて、(A)のように非線形な予測モデルPM1を求めることなく、特徴量空間SP1の複数の特徴量ベクトルx
nを、他の特徴量空間SP2に再配置する。これにより、線形な予測モデルPM2が得られるため、特徴量ベクトルx
nが特徴量空間SP2内のどのパラメータで重みづけされているがわかり、その重要度に応じて特徴量ベクトルx
nを正しく説明することができる。
【0016】
すなわち、ユーザは特徴量ベクトルx
nのあるサンプルごとに(例えば、患者ごとに)、特徴量x
nに内包されるどの因子(特徴)が予測結果に寄与しているかが分かるため、どうしてそのような予測結果になったのかという説明がしやすくなる。したがって、機械学習における説明能力の向上を図ることができる。上記の例でいえば、ある患者に対して「風邪をひきやすい」という診断結果をAIがなぜ出力したか(たとえば、痩せているなど)、が分かることになる。また、(A)のように機械学習を2回も実行する必要がないため、機械学習の効率化も図ることができる。したがって、上記のような説明を迅速に提供することができる。
【0017】
<システム構成例>
図2は、データ分析システムのシステム構成例を示すブロック図である。
図2では、サーバ−クライアント型のデータ分析システム2を例に挙げて説明するが、スタンドアロン型でもよい。(A)は、データ分析システム2のハードウェア構成例を示すブロック図であり、(B)は、データ分析システム2の機能的構成例を示すブロック図である。(A)および(B)において同一構成には同一符号を付す。
【0018】
データ分析システム2は、クライアント端末200とサーバであるデータ分析装置220とがネットワーク210で通信可能に接続される構成である。
【0019】
(A)において、クライアント端末200は、補助記憶装置であるHDD(hard disk drive)201、主記憶装置であるメモリ202、プロセッサ203、キーボードやマウスである入力装置204、モニタ205を有する。データ分析装置220は、補助記憶装置であるHDD221、主記憶装置であるメモリ222、プロセッサ223、キーボードやマウスである入力装置224、モニタ225を有する。なお、主記憶装置、補助記憶装置、および、図示しない可搬型の記憶媒体を総称して、記憶デバイスと称す。記憶デバイスは、第1ニューラルネットワーク300およびこれらの学習パラメータを記憶する。
【0020】
(B)において、クライアント端末200は、クライアントデータベース(DB)251を有する。クライアントDB251は、HDD201やメモリ202などの記憶デバイスに格納される。クライアントDB251には、テストデータ集合252と、予測結果253と、が格納される。テストデータ集合252は、テストデータの集合である。予測結果253は、予測部262からネットワーク210経由で得られたデータである。なお、サーバ−クライアント型の場合、クライアント端末200は1台以上存在する。
【0021】
データ分析装置220は、学習部261と、予測部262と、サーバデータベース(DB)263と、を有する。学習部261は、
図1および
図2に示した処理を実行し、学習パラメータ265を出力する機能部である。
【0022】
予測部262は、学習パラメータ265を用いて、第1ニューラルネットワーク300を構築し、第1ニューラルネットワーク300にテストデータが与えられることで、予測処理を実行し、予測結果253をクライアント端末200に出力する機能部である。学習部261および予測部262は、HDD221、メモリ222などの記憶デバイスに記憶されたプログラムをプロセッサ223に実行させることによりその機能を実現する。
【0023】
サーバDB263は、訓練データ集合264と、学習パラメータ265と、を格納する。訓練データ集合264は、特徴量ベクトルの一例である画像x
nと、正解ラベルt
nと、を含む。学習パラメータ265は、学習部261からの出力データであり、後述する行列W
lD,行列W
lR,行列W
lH,行列W
A、重みベクトルw
oを含む。なお、学習パラメータが設定されたニューラルネットワークを予測モデルと称す。
【0024】
なお、データ分析装置220は複数台で構成されてもよい。たとえば、負荷分散のため、データ分析装置220が複数存在してもよい。また、データ分析装置220は、機能ごとに複数台で構成されてもよい。たとえば、学習部261およびサーバDB263を含む第1のサーバと、予測部262およびサーバDB263を含む第2のサーバとで構成されてもよい。また、また、学習部261および予測部262を含む第1のデータ分析装置と、サーバDB263を含む第2のデータ分析装置とで構成されてもよい。また、学習部261を含む第1のサーバと、予測部262を含む第2のデータ分析装置と、サーバDB263を含む第3のデータ分析装置とで構成されてもよい。
【0025】
<ニューラルネットワークの構造例>
図3は、実施例1にかかる第1ニューラルネットワークの構造例を示す説明図である。第1ニューラルネットワーク300は、データユニット群DUと、レポーティングユニット群RUと、ハーモナイジングユニット群HUと、リアロケーションユニットRAUと、ユニファイユニットUUと、デシジョンユニットDCUと、インポータンスユニットIUと、を有する。
【0026】
データユニット群DUは、複数のデータユニットDUl(lは、階層番号であり、1≦l≦L。Lは最下層の階層番号であり、
図1では、L=4)を直列に接続した構成である。最上段であるl=1のデータユニットDU1は、第1ニューラルネットワーク300の入力層301であり、l≦2のデータユニットDUlは、第1ニューラルネットワーク300の中間層(隠れ層ともいう)に相当する。データユニットDUlは、前段のデータユニットDU(l−1)からの出力データを入力して、自データユニットDUlの学習パラメータを用いて計算して出力データを出力するパーセプトロンである。
【0027】
ただし、データユニットDU1は、学習部261による学習時に訓練データを保持する。ここで、訓練データは、たとえば、特徴量ベクトルx
nの一例である画像x
nとその真値となる正解ラベルt
nとの組み合わせ{x
n,t
n}により構成されるサンプルデータである(n=1,2,…,N。Nは画像の枚数)。画像x
nは、2次元のマトリックス構造を持つデータであり、以降、ラスタ走査したd(d≧1を満たす整数)次元のベクトルとして取り扱う。説明の容易さのために、「x」と表記した場合は、行列形式の画像x
nをラスタ走査した1次元ベクトルとする。
【0028】
正解ラベルt
nは、画像x
nの種類数Kに対して、onehot表現で種類(たとえば、犬や猫などの動物)を示すK次元のベクトルである。onehot表現では、ベクトルのある要素が画像x
nの種類に対応しており、ただ1つの要素だけに1.0が格納され、他の要素は全て0.0である。1.0の要素に対応する種類(たとえば、犬)が正解となる種類である。なお、X線、CT、MRI、超音波等の医療用画像x
nを入力とした場合、ラベルt
nは、疾病の種類や患者の予後(良いor悪い)を表す真値である。
【0029】
画像x
n∈R
d(R
dはd次元の実数)を、d次元の実数R
dからなる特徴量ベクトルとする。データユニットDU(l+1)を示す関数h
l+1Dは、下記式(1)で表現される。
【0030】
【数1】
【0031】
式(1)中、添え字l(1≦l≦Lを満たす整数。)は、階層番号を示す(以下の式も同様)。Lは1以上の整数であり、最深の階層番号を示す。右辺のf
Dlは活性化関数である。活性化関数は、たとえば、シグモイド関数、双曲線正接関数(tanh関数)、ReLU(Rectified Linear Unit)関数など、様々な活性化関数を用いてよい。行列W
lDは、データユニットDUlの学習パラメータである。右辺のベクトルh
lDは、データユニットDUlに入力される入力ベクトル、すなわち、前段のデータユニットDUlからの出力ベクトルである。なお、層数l=1である場合のデータユニットDU1からの出力ベクトルh
1Dは、h
1D=x
nとなる。
【0032】
なお、データユニットDU1は、予測部262におる予測時にテストデータとして、特徴量ベクトルである画像x
nを保持する。
【0033】
レポーティングユニットRUl(2≦l≦L)は、同一階層のデータユニットDUlからの出力ベクトルh
lDを入力し、当該出力ベクトルh
lDの次元数を縮約させる。レポーティングユニットRUlを示す関数h
lRは、下記式(2)で表現される。
【0034】
【数2】
【0035】
式(2)中、行列W
lRは、レポーティングユニットRUlの学習パラメータである。 式(2)により、データユニットDUlからのd次元の出力ベクトルh
lDは、m次元の出力ベクトルh
lRに縮約される。また、σは、シグモイド関数である。
【0036】
ハーモナイジングユニットHUl(2≦l≦L)は、中間層のデータユニットDUlとリアロケーションユニットRAUとの間に、中間層のデータユニットDUlごとに設けられる。ハーモナイジングユニットHUlは、中間層のデータユニットDUlからの各出力データの次元数を同一のサイズに変換する。したがって、リアロケーションユニットRAUには、ハーモナイジングユニットHUlで同一の次元数に揃えられた出力データが入力される。
【0037】
すなわち、ハーモナイジングユニットHUlは、同一階層のデータユニットDUlからの出力ベクトルh
lDを入力し、出力ベクトルh
lDの次元数を同一の次元数に変換する。ハーモナイジングユニットHUlを示す関数h
lHは、下記式(3)で表現される。
【0038】
【数3】
【0039】
式(3)中、行列W
lHは、ハーモナイジングユニットHUlの学習パラメータである。これにより、データユニットDUlからのd次元の出力ベクトルh
lDは、m次元の出力ベクトルh
lHに変換される。mは、次元数を決定するハイパーパラメータである。dおよびmは、レポーティングユニットRUlのdおよびmと異なる値でもよい。また、f
Hは、活性化関数である。
【0040】
アテンションユニットAUは、各レポーティングユニットRUlからの出力ベクトルh
lRを用いて、各データユニットDUlの重みαを計算する。アテンションユニットAUを示す関数αは、下記式(4)で表現される。
【0041】
【数4】
【0042】
式(4)中、行列W
Aは、アテンションユニットAUの学習パラメータである。活性化関数の1つであるsoftmax関数では、層数L(下記式(5)の例ではL=4)に等しい次元のベクトルh
Rが計算される。下記式(5)に示すように、式(4)の右辺のベクトルh
Rは、h
lRを垂直方向にスタックしたベクトルである。
【0043】
【数5】
【0044】
したがって、行列W
Aは、L行M列(Mは、ベクトルh
Rの要素数)の行列となる。アテンションユニットAUにsoftmax関数を採用することにより、層数Lのベクトルh
Rの各要素(全要素の和は1)は、対応するデータユニットDUlの重みをあらわすことになる。
【0045】
リアロケーションユニットRAUは、ある特徴量空間の特徴量ベクトル(画像x
n)を他の特徴量空間に再配置する。具体的には、たとえば、
図1に示したように、特徴量空間SP1上での特徴量ベクトル群により得られる予測モデルは非線形となり得るため、リアロケーションユニットRAUは、特徴量空間SP2において線形な予測モデルが得られるように、特徴量ベクトル群を特徴量空間SP2に移し替える。リアロケーションユニットRAUを示す関数h
lTは、下記式(6)で表現される。
【0046】
【数6】
【0047】
関数f
Tは、ベクトル同士のアダマール積や、要素加算などを用いることができる。本実施例では、アダマール積とする(下記式(7)を参照)。式(7)では、ハーモナイジングユニットHUlからの出力ベクトルh
lHと特徴量ベクトルx
nとのアダマール積となる。
【0048】
【数7】
【0049】
ユニファイユニットUUは、リアロケーションユニットRAUからの出力ベクトルh
lTと、アテンションユニットAUからの出力ベクトルαとを統合する。すなわち、ユニファイユニットUUは、リアロケーションユニットRAUからの出力ベクトルh
lTを、アテンションユニットAUからの出力ベクトルαで重み付けする。ユニファイユニットUUを示す関数h
Uは、下記式(8)で表現される。
【0050】
【数8】
【0051】
式(8)中、右辺のα[k]は、式(4)の出力ベクトルαのk次元目の要素(重み)を示す。
【0052】
デシジョンユニットDCUは、予測値y
nを決定し、出力層303に出力する。具体的には、たとえば、デシジョンユニットDCUは、ユニファイユニットUUからの出力ベクトルh
Uに、学習パラメータの1つである重みベクトルw
oで重み付けして、シグモイド関数σに与えることにより、予測値y
nを得る。デシジョンユニットDCUを示す関数y
nは、下記式(9)で表現される。式(9)中、w
otのtは、転置を意味する。
【0053】
【数9】
【0054】
インポータンスユニットIUは、ニューラルネットワークの各層における特徴量の重要度を示す重要度ベクトルs
lnを算出し、出力層303に出力する。インポータンスユニットIUを示す関数s
lnは、下記式(10)で表現される。
【0055】
【数10】
【0056】
式(10)中、右辺のα[l]は、式(4)の出力ベクトルαのl階層目の要素(重み)を示す。関数f
Tは、式(6)と同様、ベクトル同士のアダマール積や、要素加算などを用いることができる。実施例1では、アダマール積とする。式(10)では、重要度ベクトルs
lnは、重みベクトルw
oとハーモナイジングユニットHUlからの出力ベクトルh
lHとのアダマール積となる。重要度ベクトルs
lnは、n番目の特徴量ベクトル(画像)x
nの階層lにおける重要度である。
【0057】
<データ分析装置220の機能的構成例>
図4は、データ分析装置220の機能的構成例を示すブロック図である。データ分析装置220は、入力層301と、中間層302と、出力層303と、変換部401と、再配置部402と、予測データ算出部403と、重要度算出部404と、設定部405と、統合部406と、縮約部407と、選択部408と、を有する。これらは、学習部261および予測部262の内部構成例である。なお、選択部408は、後述する実施例2の構成要素であるため、実施例2後述する。
【0058】
変換部401は、式(3)に示したように、各中間層DUl(l≧2)からの出力ベクトルh
lDと行列W
lHとに基づいて、出力ベクトルh
lDの次元数dを縮約させて、変換後の出力ベクトルh
lHを出力する。変換部401は、上述したハーモナイジングユニット群HUである。
【0059】
再配置部402は、式(6)、(7)に示したように、変換部401からの変換後の出力ベクトルh
lHと、入力層301に与えられた特徴量空間SP1の特徴量ベクトルx
nと、に基づいて、特徴量空間SP1の特徴量ベクトルx
nを第2特徴量空間SP2に再配置する。再配置部402は、上述したリアロケーションユニットRAUである。
【0060】
予測データ算出部403は、式(9)に示したように、再配置部402による再配置結果h
Tlと重みベクトルw
oとに基づいて、特徴量空間SP1の特徴量ベクトルx
nに対する予測ベクトルy
nを算出する。予測データ算出部403は、上述したデシジョンユニットDCUである。
【0061】
重要度算出部404は、式(10)に示したように、変換後の出力ベクトルh
lHと重みベクトルw
oとに基づいて、中間層302における階層lにおける特徴量ベクトルx
nの重要度ベクトルs
lnを算出する。重要度算出部404は、上述したインポータンスユニットIUである。
【0062】
たとえば、動物を表示する画像x
nについて、ある階層laの出力ベクトルh
laDが顔の輪郭が猫にふさわしいか否かを示す特徴量であり、ある階層lb(≠la)の出力ベクトルh
lbDが耳の形状が猫にふさわしいか否かを示す特徴量である場合、対応する重要度ベクトルs
lan、s
lbnを参照することにより、データ分析装置220が、当該画像x
nが顔のどの特徴を考慮してその動物を猫であると判別したかを、ユーザは説明することができる。たとえば、重要度ベクトルs
lanは低いが重要度ベクトルs
lbnが高い場合、データ分析装置220が、当該画像x
nが耳の形状を考慮してその動物を猫であると判別していると、ユーザは説明することができる。
【0063】
設定部405は、式(4)、(5)に示したように、中間層302からの出力ベクトルh
lDと行列W
Aとに基づいて、中間層302の重みαを設定する。設定部405は、上述したアテンションユニットAUである。
【0064】
統合部406は、式(8)に示したように、再配置結果h
Tlと、設定部405によって設定された重みαと、を統合する。統合部406は、上述したユニファイユニットUUである。この場合、予測データ算出部403は、統合部406による統合結果h
uと重みベクトルw
oとに基づいて、予測ベクトルy
nを算出する。また、重要度算出部404は、設定部405によって設定された重みαと、変換後の出力ベクトルh
lHと、重みベクトルw
oと、に基づいて、重要度ベクトルs
nlを算出する。
【0065】
縮約部407は、式(2)に示したように、中間層302からの出力ベクトルh
lDと行列W
lRとに基づいて、出力ベクトルh
lDの次元数dを縮約させて、縮約後の出力ベクトルh
lRを出力する。縮約部407は、上述したレポーティングユニット群RUである。この場合、設定部405は、縮約部407からの縮約後の出力ベクトルh
lRと行列W
Aとに基づいて、中間層302の重みαを設定する。
【0066】
学習部261は、特徴量空間SP1の特徴量ベクトルx
nと予測ベクトルy
nに対する正解ラベルt
nとを含む訓練データが与えられた場合に、予測ベクトルy
nと正解ラベルt
nとを用いて、第1学習パラメータである行列W
lD、第2学習パラメータである行列W
lH、第3学習パラメータである重みベクトルw
o、第4学習パラメータである行列W
A、および、第5学習パラメータである行列W
lRを、たとえば、正解ラベルt
nと予測値y
nとのクロスエントロピーが最小化するように、最適化する。
【0067】
予測部262は、最適化された学習パラメータ265を第1ニューラルネットワーク300に設定し、かつ、入力層301にテストデータとして特徴量ベクトルx´
nを与えることにより、採取的に予測データ算出部403に予測ベクトルy´
nを算出させる。
【0068】
<データ分析処理手順例>
図5は、実施例1にかかるデータ分析装置220によるデータ分析処理手順例を示すフローチャートである。
図5のうち、ステップS501〜S502が学習部261による学習処理であり、ステップS503〜S507が予測部262による予測処理である。まず、データ分析装置220は、訓練データ集合264を読み込む(ステップS501)。
【0069】
データ分析装置220は、第1ニューラルネットワーク300に、訓練データ{x
n,t
n}を与えることにより学習をおこない、学習パラメータ265(行列W
lD,行列W
lR,行列W
lH,行列W
A、重みベクトルw
o)を生成する(ステップS502)。学習(ステップS502)では、たとえば、学習部261が、統計的勾配法により、正解ラベルt
nと予測値y
nとのクロスエントロピーが最小化するように、学習パラメータ265を最適化する。データ分析装置220は、生成した学習パラメータ265をサーバDB263に保存する。
【0070】
つぎに、データ分析装置220は、テストデータ集合252を読み込み(ステップS503)、各テストデータの画像x´
nを、学習パラメータ265が反映されたニューラルネットワークに与えて、式(9)により、予測値y
n´を算出し(ステップS504)、式(10)により、画像x´
nごとに、重要度ベクトルs
lnを計算する(ステップS505)。
【0071】
そして、データ分析装置220は、予測値y
n´の集合である予測結果253と重要度ベクトルs
lnとを保存し(ステップS506)、予測結果253をクライアント端末200に出力する(ステップS507)。クライアント端末200は、予測結果253をモニタ205に表示する。
【0072】
このように、実施例1によれば、サンプルデータである特徴量ベクトルx
nの事前再配置により、ニューラルネットワークを多層化しても各特徴量の重要度を算出可能となり、サンプル(特徴量ベクトルx
n)ごとに、説明の容易化を高精度かつ効率的に実現することができる。また、サンプル(特徴量ベクトルx
n)の事前再配置により、線形な予測モデルが得られるため、学習時および予測時において、高精度かつ低負荷で予測値を算出することができる。
【実施例2】
【0073】
実施例2について説明する。実施例2は、実施例1よりもさらに重要度の解釈性を高める例であり、実施例1で得られた重要度ベクトルs
lnを用いる。なお、実施例1と同一構成には同一符号を付し、その説明を省略する。
【0074】
<ニューラルネットワークの構造例>
図6は、実施例2にかかる第2ニューラルネットワークの構造例を示す説明図である。第2ニューラルネットワーク600は、データユニット群DUと、レポーティングユニット群RUと、セレクションユニットSUと、ハーモナイジングユニット群HUaと、リアロケーションユニットRAUaと、ユニファイユニットUUaと、デシジョンユニットDCUaと、インポータンスユニットIUaと、を有する。
【0075】
セレクションユニットSUは、重要度ベクトルs
lnについて、平均重要度s
av∈R
dを計算する。セレクションユニットSUを示す関数s
avは、下記式(11)で表現される。
【0076】
【数11】
【0077】
平均重要度s
avの各要素は、階層およびサンプル数についての特徴量の平均重要度を示し、データ分析装置は、当該要素の平均重要度の絶対値が上位v個(vは1以上の任意の整数)の特徴量を特徴量ベクトルx
nから選択し、v次元の新しい特徴量ベクトルz
n∈R
dを生成する。
【0078】
ハーモナイジングユニットHUal(2≦l≦L)は、中間層のデータユニットDUlとリアロケーションユニットRAUとの間に、中間層のデータユニットDUlごとに設けられる。ハーモナイジングユニットHUalは、中間層のデータユニットDUlからの出力データの次元数を揃える変換を実施する。したがって、リアロケーションユニットRAUには、ハーモナイジングユニットHUalで、同一サイズの次元数のデータが入力される。
【0079】
ハーモナイジングユニットHUalは、同一階層のデータユニットDUlからの出力ベクトルh
lDを入力し、出力ベクトルh
lDの次元数を同一サイズの次元数に変換する。ハーモナイジングユニットHUalを示す関数h
lHは、下記式(12)で表現される。
【0080】
【数12】
【0081】
式(12)中、行列W
lHは、ハーモナイジングユニットHUalの学習パラメータ265である。これにより、データユニットDUlからのd次元の出力ベクトルh
lDは、v次元の出力ベクトルh
lHに変換される。また、f
Hは、活性化関数である。
【0082】
リアロケーションユニットRAUaは、ある特徴量空間の特徴量ベクトル(画像x
n)を他の特徴量空間に再配置する。具体的には、たとえば、
図1に示したように、特徴量空間SP1上での特徴量ベクトル群により得られた予測モデルが非線形である場合、リアロケーションユニットRAUは、特徴量空間SP2において線形な予測モデルが得られるように、特徴量ベクトル群を特徴量空間SP2に移し替える。リアロケーションユニットRAUaを示す関数h´
lTは、下記式(13)で表現される。
【0083】
【数13】
【0084】
関数f
Tは、ベクトル同士のアダマール積や、要素加算などを用いることができる。本実施例では、アダマール積とする(下記式(14)を参照)。式(14)では、ハーモナイジングユニットHUalからの出力ベクトルh
lHとセレクションユニットSUからの新しい特徴量ベクトルz
nとのアダマール積となる。
【0085】
【数14】
【0086】
ユニファイユニットUUaは、リアロケーションユニットRAUaからの出力ベクトルh´
lTと、アテンションユニットAUからの出力ベクトルαとを統合する。すなわち、ユニファイユニットUUaは、リアロケーションユニットRAUaからの出力ベクトルh´
lTを、アテンションユニットAUからの出力ベクトルαで重み付けする。ユニファイユニットUUaを示す関数h´
Uは、下記式(15)で表現される。
【0087】
【数15】
【0088】
式(15)中、右辺のα[k]は、式(4)の出力ベクトルαのk次元目の要素(重み)を示す。
【0089】
デシジョンユニットDCUaは、予測値y
nを決定する。具体的には、たとえば、デシジョンユニットDCUは、ユニファイユニットUUからの出力ベクトルh
Uに、学習パラメータ265の1つである重みベクトルw´
oで重み付けして、シグモイド関数σに与えることにより、予測値ya
nを得る。デシジョンユニットDCUを示す関数ya
nは、下記式(16)で表現される。式(16)中、w´
otのtは、転置を意味する。
【0090】
【数16】
【0091】
インポータンスユニットIUaは、第2ニューラルネットワーク600の各層における特徴量の重要度を示す重要度ベクトルs´
lnを算出する。インポータンスユニットIUを示す関数s´
lnは、下記式(17)で表現される。
【0092】
【数17】
【0093】
式(17)中、右辺のα[l]は、式(4)の出力ベクトルαのl階層目の要素(重み)を示す。関数f
Tは、式(13)と同様、ベクトル同士のアダマール積や、要素加算などを用いることができる。実施例2では、アダマール積とする。式(17)では、重みベクトルw´
oとハーモナイジングユニットHUalからの出力ベクトルh
lHとのアダマール積となる。
【0094】
<データ分析装置の機能的構成例>
つぎに、実施例2にかかるデータ分析装置220の機能的構成例について
図4を用いて説明する。実施例1と同一構成については、説明を省略する。実施例2では、あらたに選択部408が追加されている。選択部408は、特徴量ベクトルx
nと重要度ベクトルs
nlとに基づいて、特徴量ベクトルx
nを構成する要素ごとの重要度ベクトルs
avを算出し、重要度ベクトルs
avに基づいて、特徴量ベクトルx
nから一部の要素を選択して特徴量ベクトルz
nを生成する。選択部408は、上述したセレクションユニットSUである。
【0095】
この場合、変換部401は、式(12)を適用し、再配置部402は、式(13)、(14)に示したように、式(12)が適用された変換後の出力データ出力ベクトルh
lHと、選択部408からの特徴量ベクトルz
nと、に基づいて、特徴量ベクトルz
nを第2特徴量空間SP2に再配置する。また、統合部406は、式(15)を適用し、予測データ算出部403は、式(16)を適用し、重要度算出部404は、式(17)を適用する。
【0096】
<データ分析処理手順例>
図7は、実施例2にかかるデータ分析装置220によるデータ分析処理手順例を示すフローチャートである。
図7のうち、ステップS701〜S702が学習部261による学習処理であり、ステップS703〜S707が予測部262による予測処理である。まず、データ分析装置220は、訓練データ集合264および特徴量の重要度を読み込む(ステップS701)。
【0097】
データ分析装置220は、第2ニューラルネットワーク600に、訓練データ{x
n,t
n}を与えることにより学習をおこない、学習パラメータ265(行列W
lD,行列W
lR,行列W´
lH,行列W
A、重みベクトルw´
o)を生成する(ステップS702)。学習(ステップS702)では、たとえば、学習部261が、統計的勾配法により、正解ラベルt
nと予測値ya
nとのクロスエントロピーが最小化するように、学習パラメータ265を最適化する。データ分析装置220は、生成した学習パラメータ265をサーバDB263に保存する。
【0098】
つぎに、データ分析装置220は、テストデータ集合252を読み込み(ステップS703)、各テストデータの画像x´
nを、学習パラメータ265が反映されたニューラルネットワークに与えて、式(16)により、予測値ya´
nを算出し(ステップS704)、式(17)により、画像z´
nごとに、重要度ベクトルs´
lnを計算する(ステップS705)。
【0099】
そして、データ分析装置220は、予測値ya´
nの集合である予測結果253と重要度ベクトルs´
lnとを保存し(ステップS706)、予測結果253をクライアント端末200に出力する(ステップS707)。クライアント端末200は、予測結果253をモニタ205に表示する。
【0100】
このように、実施例2によれば、サンプルデータである特徴量ベクトルx
nを重要度が高い要素のサンプルデータである特徴量ベクトルz
nに厳選することにより、厳選された特徴量ベクトルz
nの階層lについての重要度s
ln、s´
lnを得ることができ、実施例1よりもさらに重要度s
ln、s´
lnの解釈性を高めることができる。また、実施例1と同様、サンプル(特徴量ベクトルz
n)の事前再配置により、線形な予測モデルが得られるため、学習時および予測時において、高精度かつ低負荷で予測値を算出することができる。
【実施例3】
【0101】
実施例3について説明する。実施例3では、データ分析装置220が、画像データ以外の情報及び回帰に分類される手法を扱えることを示すために、ボストンの住宅価格を予測した場合の例を示す。以下に示す非特許文献3で用いられたデータにより性能検証を実施した。
【0102】
<非特許文献3>
Used in Belsley, Kuh & Welsch, 'Regression diagnostics ...', Wiley,1980. N.B. Various transformations are used in the table on pages 244-261.
【0103】
図8は、特徴量ベクトルFeaturesと正解データTargetとを示す説明図である。実験では、10−fold cross validationを用いて、A.(1)〜(4)の4因子(CRIM、ZN、INDUS、CHAS)のみの場合で実施例1を適用し、B.(1)〜(13)の13因子すべてを用いた場合で実施例1を適用し、C.実施例2の特徴量ベクトルz
nが(1)〜(4)の4因子(CRIM、ZN、INDUS、CHAS)であり、実施例1の特徴量ベクトルx
nが(1)〜(13)の13因子の場合で実施例2を適用し、決定係数r
2(r
2=0.0〜1.0)の尺度で評価した。回帰問題のため、デシジョンユニットDCU,DCUaの計算方法をそれぞれ下記式(18)、(19)に変更する。
【0104】
【数18】
【0105】
式(18)、(19)では、単に、シグモイド関数が除去されたのみであることに留意する。学習部261は、統計的勾配法により正解ラベルt
nと、予測値y
n、y´
nとの自乗誤差が最小化するように、上述した学習パラメータ265を最適化する。
【0106】
図9は、実験結果を示す説明図である。BおよびCの結果は、決定係数r
2が0.8を超えたことから、実施例1および実施例2は、それぞれ強い相関で予測することができた。特に、実施例2は、決定係数r
2がr
2=0.873と最も良い結果を得た。
【0107】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0108】
以上説明したように、上述した実施例によれば、データ分析装置220は、変換部401と、再配置部402と、重要度算出部404と、を有する。したがって、特徴量ベクトル(x
n、x´
n)の事前再配置により、線形な予測モデルが得られるため、学習時および予測時において、高精度かつ低負荷で予測値を算出することができる。また、特徴量ベクトル(x
n、x´
n)にどのような特徴があるかを、重要度算出部404からの階層lごとの重要度により把握することができる。これにより、分析対象としてニューラルネットワークに与えられた特徴ベクトル(x
n、x´
n)についての説明の容易化を高精度かつ効率的に実現することができる。
【0109】
また、データ分析装置220は、予測データ算出部403を有するため、特徴ベクトル(x
n、x´
n)に対し、分析対象としてニューラルネットワークからの予測結果(y
n、y´
n)が得られた理由についての説明の容易化を高精度かつ効率的に実現ができる。
【0110】
また、データ分析装置220は、設定部405と統合部406とを有することにより、予測データ算出部403は、再配置結果に基づく予測結果を高精度に算出することができる。
【0111】
また、データ分析装置220は、縮約部407を有することにより、次元縮約によりデータ分析の効率化を図ることができる。
【0112】
また、データ分析装置220は、学習パラメータ265の学習により、高精度な予測モデルを構築することができる。
【0113】
また、データ分析装置220は、選択部408を有することにより、特徴量ベクトルx
nを重要度が高い要素の特徴量ベクトルz
nに厳選することができ、重要度s
ln、s´
lnの解釈性を高めることができる。
【0114】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0115】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0116】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。