(57)【要約】【課題】  推論の信頼性を提示する機能を備えた推論装置を提供する。【解決手段】  推論部（２００）が、属性が既知である既知データから得られた特性値を用いて学習し、属性が未知である未知データの特性値に基づいて該未知データの属性を推論し、  ＣＰＵ（１００）が、特性値であらわされる空間における前記未知データが属する部分空間に関して、前記部分空間に属する第１の方法で属性が既知となったデータの分布情報と、第１の方法では属性が不明であるデータの分布情報とから、前記部分空間を評価する値を計算する。【選択図】  図４
2011123574.tif 000002
【特許請求の範囲】
【請求項１】
属性が既知である既知データから得られた特性値を用いて学習し、属性が未知である未知データの特性値に基づいて該未知データの属性を推論する推論手段と、
特性値であらわされる空間における前記未知データが属する部分空間に関して、前記部分空間に属する第１の方法で属性が既知となったデータの分布情報と、第１の方法では属性が不明であるデータの分布情報とから、前記部分空間を評価する値を計算する計算手段と、
前記推論手段によって得られた前記未知データの属性の推論結果と、前記計算手段によって得られた前記未知データが属する前記部分空間の評価値と、の少なくともいずれか一方を出力する出力手段と、を備えることを特徴とする推論装置。
【請求項２】
前記計算手段は、前記部分空間に属する前記第１の方法では属性が不明であるデータ、あるいは、前記第１の方法では属性が不明であるが前記第１の方法と異なる第２の方法で属性が既知となったデータの少なくともいずれか一方の数と、前記第１の方法で属性が既知となったデータ数とから、前記部分空間を評価する値を計算することを特徴とする請求項１に記載の推論装置。
【請求項３】
前記第２の方法は所定時間でのデータの特性の変化から属性を得るものであることを特徴とする請求項２に記載の推論装置。
【請求項４】
前記データは病変部に関する情報を含むものであり、前記特性値は病変部を代表する値であることを特徴とする請求項１に記載の推論装置。
【請求項５】
前記第１の方法は前記病変部の病理診断から属性を得るものであることを特徴とする請求項４に記載の推論装置。
【請求項６】
前記計算手段は、前記部分空間に属する前記第１の方法で属性が既知となったデータ数と前記第２の方法で属性が既知となったデータ数の割合を示す値と、前記第１の方法で属性が既知となったデータ数の所定値に対する比率を示す値とに基づいて前記評価値を計算することを特徴とする請求項２に記載の推論装置。
【請求項７】
属性が既知である既知データから得られた特性値を用いて学習し、属性が未知である未知データの特性値に基づいて該未知データの属性を推論する推論工程と、
特性値であらわされる空間における前記未知データが属する部分空間に関して、前記部分空間に属する第１の方法で属性が既知となったデータの分布情報と、第１の方法では属性が不明であるデータの分布情報とから、前記部分空間を評価する値を計算する計算工程と、
前記推論工程によって得られた前記未知データの属性の推論結果と、前記計算工程によって得られた前記未知データが属する前記部分空間の評価値と、の少なくともいずれか一方を出力する出力工程と、を備えることを特徴とする推論方法。
【請求項８】
請求項７に記載の推論方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性が既知なデータを学習し属性が未知なデータの属性を推論する推論装置に関し、特に推論装置の出力値を評価する技術に関する。
【背景技術】
【０００２】
コンピュータを用いたデータ処理技術の一つとして、既知の事象から抽出した知識に基づいて、未知の事象を推論する推論技術がある。未知の事象を推論する推論装置の多くは、教師付き学習によって推論に用いる知識を得ている。教師付き学習とは、データの特性をあらわす特性値（「観測値」と呼ばれる場合もある）と共に求めたいデータの属性（「クラス・ラベル」と呼ばれる場合もある）が与えられたデータ（すなわち、属性が既知のデータ（既知データ））を用いて、属性と特性値との間の対応関係（知識）を学習する手法である。教師付き学習によって得られた知識を用いて、推論装置は、属性が未知のデータ（未知データ）に対して、その未知データの特性値から属性を推論する。従って、教師付き学習で得られた知識の良し悪しが、その知識を用いた推論装置の推論精度に大きく影響する。
【０００３】
従来の推論装置では、既知データの分布と未知データの分布が等しいことを前提にして教師付き学習を行っていた。それゆえ、十分多い数の既知データを用いて既知データの分布を正確に学習できれば、未知データの属性を精度良く推論できると考えられていた。
【０００４】
未知データの属性を推論するための学習が十分に行われているか否か（あるいはその十分さの程度）を、学習に用いた既知データに基づいて導出できるのであれば、当該未知データに対する推論の信頼性としてこれをユーザに提示することができる。例えば、特性値（複数の要素から構成されるベクトル）によって定義されるベクトル空間において、未知データの特性値と、未知データの最近傍（またはｋ近傍）にある既知データの特性値との間の距離を計算する。そして、その距離が所定値以上であれば未学習の特性値（すなわち学習不足）であると判断し、推論装置が出力する推論結果の信頼性が低いことをユーザに知らせることができる。また、未知データの特性値に対してベクトル空間中の所定距離内にある既知データの数を求め、その数に基づいて当該未知データに対する学習の十分さの程度を求め、これを推論の信頼度としてユーザに提示するという方法も考えられる。また、特許文献１では、未知データに対する属性の予測値が、未知データのｋ近傍にある既知データの属性の多くと一致する時に推論結果の信頼度が高いとしている。
【０００５】
また、近年では医療分野で例えば病変部の診断の支援を、推論装置を用いて行おうとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３２３６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、例えば病変部に対して属性を推論する場合などでは、画像のみからでは病変部の属性が不明であり、ＤＮＤ判定や組織の切り出し片の観察などによる病理判断で属性が判断される場合がある。さらに、病変部の属性が時間とともに変化することがわかってきている。
【０００８】
本願出願人はこのようなデータの特性が推論装置の推論精度に影響を与えることを見出した。
【０００９】
本発明は、この様な課題に鑑みてなされたものである。上記の課題を解決する装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の推論装置は、属性が既知である既知データから得られた特性値を用いて学習し、属性が未知である未知データの特性値に基づいて該未知データの属性を推論する推論手段と、
特性値であらわされる空間における前記未知データが属する部分空間に関して、前記部分空間に属する第１の方法で属性が既知となったデータの分布情報と、第１の方法では属性が不明であるデータの分布情報とから、前記部分空間を評価する値を計算する計算手段と、
前記推論手段によって得られた前記未知データの属性の推論結果と、前記計算手段によって得られた前期未知データが属する前記部分空間の評価値と、の少なくともいずれか一方を出力する出力手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明に係る推論装置によれば、推論装置が出力した推論結果の信頼性を評価することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る推論装置の機器構成例を示す図である。
【図２】既知データの分布にバイアスが存在する可能性を示す図である。
【図３】既知データ、未知データ及び対応データの分布の一例を示す図である。
【図４】第１の実施形態に係る推論装置の制御手順を示すフローチャートである。
【図５】信頼度ＧＰＳｄの計算手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面に従って本発明に係る推論装置及びその制御方法の好ましい実施形態について説明する。ただし、発明の範囲は図示例に限定されるものではない。
【実施例】
【００１４】
［第１の実施形態］
図１は、第１の実施形態に係る推論装置の機器構成例を示す図である。
【００１５】
推論装置１は、制御部１０、モニタ１０４、マウス１０５、キーボード１０６を有する。制御部１０は、中央処理装置（ＣＰＵ）１００、主メモリ１０１、磁気ディスク１０２、表示メモリ１０３を有し、それぞれは共有バス１０７で接続されている。そして、コンピュータが備えるＣＰＵ１００が主メモリ１０１に格納されたプログラムを実行することにより、データベース２との通信、推論装置１の全体制御、等の各種制御が実行される。推論装置１は図示しない推論部２００を有し、データの属性やデータの特性値を取得する。そして、特性値から属性を推論するものである。
【００１６】
ＣＰＵ１００は、主として推論装置１の各構成要素の動作を制御する。主メモリ１０１は、ＣＰＵ１００が実行する制御プログラムを格納したり、ＣＰＵ１００によるプログラム実行時の作業領域を提供したりする。磁気ディスク１０２は、オペレーティングシステム（ＯＳ）、周辺機器のデバイスドライブ、後述する診断支援処理等を行うためのプログラムを含む各種アプリケーションソフト等を格納する。表示メモリ１０３は、モニタ１０４のための表示用データを一時記憶する。モニタ１０４は、例えばＣＲＴモニタや液晶モニタ等であり、表示メモリ１０３からのデータに基づいて画像を表示する。マウス１０５及びキーボード１０６はユーザ（医師）によるポインティング入力及び文字等の入力をそれぞれ行う。上記各構成要素は共通バス１０７により互いに通信可能に接続されている。
【００１７】
本実施形態において、未知データの中には、何らかの根拠に基づいて既知データと対応付けられているデータ（以下ではこれを対応データと呼ぶ）が存在しているものとする。これらデータは例えば病変部を含むものとする。
【００１８】
データベース２は、既知データ、未知データ、対応データに関する各種の情報（個々のデータの特性値ベクトルや、既知データ、未知データ、対応データの夫々の分布情報）を保持している。そして、推論装置１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３を介してデータベース２から各種の情報を読み出すことができる。あるいは、推論装置１に外部記憶装置、例えばＦＤＤ、ＨＤＤ、ＣＤドライブ、ＤＶＤドライブ、ＭＯドライブ、ＺＩＰドライブ等を接続し、それらのドライブから各種の情報を読み込むようにしてもよい。
【００１９】
推論精度に影響を与える状況を、図２を用いて説明する。
【００２０】
特性値によって定義されるベクトル空間（以下「空間」と呼ぶ場合もある）の少なくとも一部の部分空間（空間内の一部の領域）において、クラス毎に属性の調べ易さが他とは異なるような状況がある。このような場合では、一部のクラスに属するデータからしか既知データを得られない。この場合、該部分空間では既知データの分布と未知データの分布が異なる可能性が生じる。なお、以下ではこの様な状況を、既知データの分布にバイアス（統計的偏り）が存在している状況と呼ぶ。
【００２１】
図２を用いて、上記の状況を更に詳しく説明する。同図では、説明を簡単にするため、特性値は特性値Ｖ１と特性値Ｖ２から成る２次元データであると仮定する。記号○、□、△は、それぞれ異なる属性を持つ既知データを表す。記号？は、属性が不明の未知データを表す。二重線で囲った部分空間２１０は、上記の状況に記した部分空間を表す。
【００２２】
同図において、部分空間２１０では、属性□は比較的調べ易いため、属性□を持ったデータだけが既知データとして得られたことを示している。一方、部分空間２１０では、他の属性を持ったデータは調べ難いため、存在する可能性は否定できないものの、既知データとして得ることはできなかったことを示している。
【００２３】
同図に示した状況は、例えば、医用画像診断において、ある病変部の医用画像（Ｘ線写真、ＣＴ画像、ＭＲＩ画像、マンモグラム、超音波画像など）から得られた画像所見や画像特徴量などの情報（特性値）から、その病変部の疾患名を属性として推論する場合（第一の応用例）などで生じる。例えば、ある患者の胸部ＣＴ画像中に結節と呼ばれる異常影が写っていた場合、この結節の原因となる疾患名として原発性肺癌、（他の身体部位に生じた）癌の肺転移、または良性結節が考えられる。結節サイズが比較的大きい（２〜３ｃｍ以上）場合は、通常、生検を行い、組織診断（病理診断）を行うため、いずれの疾患名（属性）も確定できることが多い。ところが、結節サイズが小さい（数ｍｍ程度）場合は、通常、経過観察となり、組織診断を行わないため、疾患名を確定できないことが多い。
ただし、治療を行わずに２年間経過観察を継続した場合に、結節サイズが変わらなかったかまたは縮小した場合は、臨床的な判断として、疾患名は良性結節であると診断される。特性値Ｖ１を結節サイズ、特性値Ｖ２を他の様々な画像所見や画像特徴量をまとめて表した値だとした場合、特性値Ｖ１（結節サイズ）が数ｍｍ程度の小さな結節は、特性値Ｖ２（他の様々な画像所見や画像特徴量）も明確に現れていないため、部分空間２１０に位置する。そして、上述の通り、部分空間２１０において、一部の良性結節（属性□）は疾患名が明らかとなるが、原発性肺癌（属性○）や癌の肺転移（属性△）の疾患名はほとんど得られない。
【００２４】
また別の例では、図２に示した状況は、ある生物をカメラ撮影した画像から得られた画像特徴量（特性値）から、その生物の分類（生物種やその亜種など）を属性として推論する場合（第二の応用例）などで生じる。生物種によっては、画像撮影はできるが、保護の観点または物理的な制約から、直接捕獲してＤＮＡ判定などの方法で属性を確定することができない場合がある。ただし、稀に、怪我をして保護された個体の属性を確定できることがある。特性値Ｖ１を生物のサイズ、特性値Ｖ２を生物の体表に現れる模様、属性を生物種の亜種だとした場合、幼年期の生物はサイズが小さく、体表の模様も明確に現れていないため、部分空間２１０に位置する。この例では、属性□に属する亜種は、何らかの理由（捕獲容易、人工飼育容易、怪我による保護が多いなど）により、部分空間２１０においても属性の確定が可能な場合が多いものとする。一方、属性○または△に属する亜種は、部分空間２１０において属性の確定が困難であるとする。それゆえ、部分空間２１０では、属性□に属する亜種だけが既知データとして得られる状況が生じる。
【００２５】
上記例の様な状況下において通常の教師付き学習を行うと、部分空間２１０に属する未知データは、その真の属性が○や△であったとしても、属性□であると推論されてしまう。しかも、未知データと既知データの間の距離が近い（あるいは、近傍に多数の既知データが存在する）場合には、上記のような信頼性の導出方法では、推論結果の信頼性が高いと判断されてしまう。すなわち、推論結果のみならず、信頼性の判断においても間違ってしまう。
【００２６】
図３は、特性値によって定義されるベクトル空間における既知データ、未知データ及び対応データの分布の一例を示す図である。図２と同様に図３では、全てのデータは特性値Ｖ１とＶ２から成る２次元ベクトル空間に分布すると仮定する。なお、本実施形態では説明を容易にするために特性値ベクトルの次元を２次元と仮定するが、特性値ベクトルの次元は任意の次元であってよい。このベクトル空間は、部分空間３１０〜３９０に分割されているものとする。ベクトル空間を部分空間に分割する方法はどのような方法であってもよいが、同図の例では、特性値Ｖ１及びＶ２を均等間隔の区間に分割することで部分空間を構成している。記号○、□、△は、それぞれ異なる属性を持つ既知データを表す。これらの属性を得る方法（第１の方法）は、応用例によって異なる。例えば、上述した第一の応用例においては、第１の方法として、例えば病変部の病理診断によってその属性を確定できる。また、上述した第二の応用例においては、第１の方法として、例えば捕獲した個体のＤＮＡ判定などにより属性を確定できる。記号？は、属性が不明の未知データの中で、既知データとの対応関係がわかっていないデータを表す。記号○’、□’、△’は、未知データの中でそれぞれ既知データ○、□、△との対応関係がわかっている対応データを表す。図２と図３の比較から明らかな様に、図２中の記号？で示した未知データの一部が、図３中の記号○’、□’、△’で示した対応データに置き換わっている。
【００２７】
ここで、データベース２に含まれる未知データの夫々が対応データか否を判定する方法について説明する。何れの未知データが対応データであるかは、未知データと既知データとの対応関係を調べることによって得ることができる。この対応関係を調べる方法（第２の方法）は、応用例によって異なる。例えば、上述した第一の応用例においては、第２の方法として以下の様に対応関係を調べることができる。
【００２８】
まず、図２に示された状況を再度述べる。結節サイズ（特性値Ｖ１）が数ｍｍ程度の小さな結節は、他の様々な画像特徴量（特性値Ｖ２）も明確に現れていないため、部分空間２１０（図３の部分空間３１０）に位置する。そして、部分空間２１０（図３の部分空間３１０）において、経過観察により一部の良性結節（属性□）は疾患名が明らかとなるが、原発性肺癌（属性○）や癌の肺転移（属性△）の疾患名はほとんど得られない、という状況が生じる。
【００２９】
上述の状況において、任意の患者を経過観察した場合、当初は図３の部分空間３１０に位置する未知データとして観察された結節が、時間の経過とともにサイズが増大し、特性値が部分空間３４０（または３５０）に位置する様になったとする。この場合、他の条件（結節サイズの増大速度や、過去の疾患暦など）を勘案した上で、生検及び組織診断（病理診断）を行うことになるため、サイズ増大後の結節の多くは、属性を確定でき、既知データとなる。この様にして、対応データを得ることができる。つまり、未知データであった小結節が、サイズ増大後に属性○（原発性肺癌）と診断されて既知データになった場合、前記小結節は属性○’を持つ対応データとなる。同様にして、属性□’を持つ対応データや、属性△’を持つ対応データが得られる。なお、良性結節であった小結節が、サイズ増大中に原発性肺癌や肺転移に変化することもあり得るので、上記対応データを既知データとはできない（上記小結節の疾患名は確定できない）ことに注意が必要である。
【００３０】
また、上述した第二の応用例においては、第２の方法として以下の様に対応関係を調べることができる。
【００３１】
まず、図２に示された状況を再度述べる。特性値Ｖ１を生物のサイズ、特性値Ｖ２を生物の体表に現れる模様、属性を生物種の亜種だとした場合、幼年期の生物はサイズが小さく、体表の模様も明確に現れていないため、部分空間２１０（図３の部分空間３１０）に位置する。属性□に属する亜種は、何らかの理由（捕獲容易、人工飼育容易、怪我による保護が多いなど）により、部分空間２１０（図３の部分空間３１０）においても属性の確定が可能な場合が多い。一方、属性○または△に属する亜種は、部分空間２１０（図３の部分空間３１０）において属性の確定が困難である。それゆえ、部分空間２１０（図３の部分空間３１０）では、属性□に属する亜種だけが既知データとして得られる状況が生じる。
【００３２】
上述の状況において、既知データの一つである成長した個体Ｙが、未知データの一つである幼年期の個体Ｘに対して養育行動を取っていることが観測された場合、既知データＹと未知データＸの間には血縁関係が類推される。ただし、養育行動の存在が直ちに血縁関係を保障する訳ではないので、未知データＸの属性は確定できない。その一方で、既知データＹと未知データＸの間に血縁関係が存在する可能性は非常に高いので、未知データＸは既知データＹと確率的に対応づけられる。つまり、未知データＸは既知データＹの対応データとなる。
【００３３】
他にも対応データを求める方法はある。例えば、ある個体を継続的に観察可能な場合、その個体の成長過程を観測することによって、対応データを求めることができる。ある個体を幼年期に観察した時得られた特性値が図３の部分空間３１０に位置し、生物的特徴がはっきりしないため、未知データＸだったとする。一定期間が経過し、前記個体が成長した後、前記個体を観測して得られた特性値が部分空間３４０（または３５０）に位置し、生物的特徴がはっきりしたため、属性を確定でき、既知データＹになったとする。もし、何らかの手掛かりにより、幼年期に観測した未知データＸと成長後に観測した既知データＹとが同じ個体であることが保障されるなら、未知データＸの属性を確定できるので、Ｘは既知データとなる。しかし、前記個体を継続的に観測し、同じ個体であることを識別し続けることが困難な場合、未知データＸと既知データＹとが同じ個体であることは保障されない。ただし、状況証拠などから、未知データＸと既知データＹとが同じ個体である可能性が高い場合、未知データＸは既知データＹの対応データとなる。
【００３４】
以上の様にして、対応データを得ることができる。なお、本実施形態では、データベース２に含まれる未知データの夫々が対応データか否を判定する処理は、事前に実行されているものとする。そして、その結果がデータベース２に保持されているものとする。
【００３５】
次に、図４のフローチャートを用いて、制御部１０がどのように推論装置１を制御しているかについて説明する。なお、図４のフローチャートによって示される処理は、ＣＰＵ１００が主メモリ１０１に格納されているプログラムを実行することにより実現される。
【００３６】
ステップＳ４０１において、ＣＰＵ１００は、マウス１０５やキーボード１０６を用いたユーザ操作によって、属性の推論対象となる未知データｄを推論装置１に入力する。あるいは、ＣＰＵ１００は、推論装置１に接続された外部記憶装置から未知データｄを読み出してもよい。
【００３７】
ステップＳ４０２において、ＣＰＵ１００は、既存の推論手法を用いて未知データｄの属性を推論する。ここで、属性の推論結果として得られる情報は、推論手法に応じて異なる可能性がある。一般に、どの推論手法を用いても、最も可能性の高い属性Ｌｄを得ることはできる。さらに、ベイズ・ネットなどの確率的推論手法を用いれば、すべての属性（Ｌ１〜Ｌｎ，ｎ≧２）に対して、各属性が正解となる確率（ｐＬ１〜ｐＬｎ）を得ることができる。
【００３８】
ステップＳ４０３において、ＣＰＵ１００は、未知データｄの特性値に基づき、未知データｄが位置する部分空間ＰＳｄを判定する。図３の例では、ＣＰＵ１００は、未知データｄの特性値と各部分空間の境界線とを比較することにより、未知データｄが部分空間３１０〜３９０のどこに位置するかを判定する。
【００３９】
ステップＳ４０４において、ＣＰＵ１００は、未知データｄが位置する部分空間ＰＳｄ内のバイアス度ＢＰＳｄを、既知データの分布情報と、対応データの分布情報とに基づいて計算する。例えば、部分空間ＰＳｄ内に存在する既知データ数ＫＮＰＳｄと、部分空間ＰＳｄ内に存在する対応データ数ＲＮＰＳｄを用いて、式（１）によりバイアス度ＢＰＳｄを評価値として計算する。
ＢＰＳｄ＝ＲＮＰＳｄ／（ＫＮＰＳｄ＋ＲＮＰＳｄ＋１）・・・（１）
（１）式を用いて計算したバイアス度ＢＰＳｄは、値０以上値１未満となり、ＢＰＳｄ値が値１に近いほど既知データの分布のバイアスは大きい。例えば、図３において、上記未知データｄが部分空間３１０に存在する（ＰＳｄ＝１）とした場合、部分空間３１０内の既知データ数ＫＮＰＳｄ＝２、部分空間３１０内の対応データ数ＲＮＰＳｄ＝５なので、ＢＰＳｄ＝５／８＝０．６２５となる。一方、図３において、上記未知データｄが部分空間３２０〜３９０のいずれかに存在するとした場合、部分空間３２０〜３９０内の対応データ数はいずれもＲＮＰＳｄ＝０なので、ＢＰＳｄ＝０となる。つまり、図３の例では、上記未知データｄが部分空間３１０に存在する場合のみ、バイアス度ＢＰＳｄは比較的大きな値となる。
【００４０】
ステップＳ４０５において、ＣＰＵ１００は、上記バイアス度ＢＰＳｄを用いて、ステップＳ４０２で得た属性の推論結果の信頼度ＧＰＳｄを計算する。以下、図５を用いて、信頼度ＧＰＳｄの計算手順を例示する。
【００４１】
図５は、信頼度ＧＰＳｄの計算手順を示すフローチャートである。同図によって示される処理は、ＣＰＵ１００が主メモリ１０１に格納されているプログラムを実行することにより実現される。
【００４２】
ステップＳ５０１において、ＣＰＵ１００は、部分空間ＰＳｄ内に存在する既知データ数ＫＮＰＳｄが所定の閾値ＴｈＫＮ以上かどうかを判断し、ＫＮＰＳｄ値がＴｈＫＮ値以上の場合はステップＳ５０２に進み、ＫＮＰＳｄ値がＴｈＫＮ値未満の場合はステップＳ５０３に進む。
【００４３】
ステップＳ５０２において、ＣＰＵ１００は、学習度ＴＰＳｄに値１を代入する。一方、ステップＳ５０３において、ＣＰＵ１００は、（２）式を用いて学習度ＴＰＳｄを計算する。
ＴＰＳｄ＝ＫＮＰＳｄ／ＴｈＫＮ・・・（２）
なぜなら、一般に、図４のステップＳ４０２で用いる推論手法は、既知データを用いて機械学習を行うことにより、推論精度を向上させている。従って、一般に、部分空間ＰＳｄ内に存在する既知データ数ＫＮＰＳｄが多い程、部分空間ＰＳｄ内における属性の推論精度は高くなる。それゆえ、上述の方法で学習度ＴＰＳｄを求めることが妥当である。
【００４４】
ステップＳ５０４において、ＣＰＵ１００は、（３）式を用いて信頼度ＧＰＳｄを評価値として計算する。
ＧＰＳｄ＝ＷＢ＊（１−ＢＰＳｄ）＋ＷＴ＊ＴＰＳｄ  ・・・（３）
ここで、ＷＢはバイアス度ＢＰＳｄに掛ける重み、ＷＴは学習度ＴＰＳｄに掛ける重みであり、０≦ＷＢ≦１、０≦ＷＴ≦１、ＷＢ＋ＷＴ＝１の条件を満たす値を予め決めておく。ＷＢ値とＷＴ値を変更することにより、バイアス度ＢＰＳｄと学習度ＴＰＳｄが信頼度ＧＰＳｄに及ぼす影響を変更することができる。
【００４５】
以上の処理により、信頼度ＧＰＳｄとして、値０以上１以下の実数値が得られる。ＧＰＳｄ値が値１に近い程、ステップＳ４０２で得られた属性の推論結果が信頼できることを意味する。
【００４６】
以下、図４の説明に戻る。
【００４７】
ステップＳ４０６において、ＣＰＵ１００は、ステップＳ４０２で得られた属性の推論結果及びステップＳ４０５で得られた信頼度ＧＰＳｄを、表示メモリ１０３を介してモニタ１０４に出力（表示）する。この際、信頼度ＧＰＳｄの値を直接表示することもできるが、他の表示方法を採用してもよい。例えば、ステップＳ４０２で得られた属性の推論結果の表示方法（文字や図形の種類、表示色、表示位置、表示サイズなど）を変更することにより、上記推論結果の信頼性の高さを視覚的に表現してもよい。
【００４８】
以上のようにして、対応データの分布に基づいて既知データの分布のバイアスを求めることができる。対応データは既知データ数とある程度比例した割合でしか増えないため、既知データのバイアス度を求めるための情報として好適である。
【００４９】
以上のようにして、既知データの分布にバイアスが存在する可能性がある場合に、このバイアスの可能性を検出し、検出結果をユーザに提示することができる。また、推論装置が出力した推論結果の信頼性を適切に評価し、ユーザに知らせることができる。これにより、ユーザは推論結果の信頼性の高さに応じて、推論装置の推論結果をどの程度参照すべきか判断できるため、推論装置をより効果的に利用できる。
【００５０】
（変形例）
なお、ステップＳ４０３において部分空間ＰＳｄを取得（判定）する処理は、上記に限定されるものではない。例えば、未知データｄの特性値から所定の範囲内の空間（例えば、未知データｄを中心とする所定の半径の円内）を部分空間ＰＳｄとして動的に定義してもよい。
【００５１】
また、ステップＳ４０４においてバイアス度ＢＰＳｄを計算する処理は、上記に限定されるものではなく、既知データと対応データの分布情報に基づくものであれば式（１）を用いなくてもよい。例えば、データ間の距離を考慮した分布情報を用いてもよい。例えば、部分空間ＰＳｄ内の夫々のデータに関して、未知データｄとの間の距離に応じて漸減する加重係数（例えば距離の逆数）を算出する。そして、部分空間ＰＳｄ内の既知データに関する加重係数の和ＫＳＰＳｄと、部分空間ＰＳｄ内の対応データに関する加重係数の和ＲＳＰＳｄを求め、式（４）によりバイアス度ＢＰＳｄを計算してもよい。
ＢＰＳｄ＝ＲＳＰＳｄ／（ＫＳＰＳｄ＋ＲＳＰＳｄ＋１）・・・（４）
これによると、未知データの近傍の情報を重視したバイアス度を得ることができる。なお、上記のように、未知データｄからの距離に応じて夫々のデータの影響度が漸減するようなバイアス度ＢＰＳｄの計算方法を用いる場合には、部分空間ＰＳｄとして明確な境界を有する空間を定義しなくてもよい。この場合、未知データｄを中心とした明確な境界を有さない範囲が、部分空間ＰＳｄとなる。
【００５２】
また、ステップＳ４０４においてバイアス度ＢＰＳｄを計算する処理は、上記に限定されるものではなく、既知データの分布情報と、対応データを含む未知データの分布情報とに基づいて計算してもよい。例えば、部分空間ＰＳｄ内に存在する既知データ数ＫＮＰＳｄと、部分空間ＰＳｄ内に存在する未知データ数ＵＮＰＳｄを用いて、式（５）によりバイアス度ＢＰＳｄを計算してもよい。
ＢＰＳｄ＝ＵＮＰＳｄ／（ＫＮＰＳｄ＋ＵＮＰＳｄ＋１）・・・（５）
これによると、対応データが得られていない場合であってもバイアス度が計算できる。特に、未知データが無制限に増えない場合には有効である。
【００５３】
また、ステップＳ４０５における信頼度ＧＰＳｄの計算方法は、上記に示した方法以外であってもよい。例えば、１からＢＰＳｄを除算した値をＧＰＳｄとしてもよい。また、バイアス度ＢＰＳｄが所定の閾値ＴｈＢ以上の場合には信頼度ＧＰＳｄを０、閾値ＴｈＢ未満の場合には信頼度ＧＰＳｄを１としてもよい。この場合、ＧＰＳｄ＝０の時、ステップＳ４０２で得られた属性の推論結果が信頼できないことを意味する。また、ＧＰＳｄ＝１の時、ステップＳ４０２で得られた属性の推論結果が信頼できることを意味する。
【００５４】
また、ステップＳ４０６において、ステップＳ４０２で得た属性の推論結果及びステップＳ４０５で得た信頼度ＧＰＳｄを出力するのと共に、ステップＳ４０４で得たバイアス度ＢＰＳｄを出力してもよい。また、信頼度ＧＰＳｄは出力せずに属性の推論結果とバイアス度ＢＰＳｄを出力してもよい。また、バイアス度ＢＰＳｄが所定の閾値以上か否かに基づいてバイアスの有無を判定して、その判定結果を表示してもよい。
【００５５】
また、ステップＳ４０６において、上記出力内容を不図示の印刷装置に出力（印刷）してもよい。あるいは、上記出力内容を音声データに変換した後、不図示の音響出力装置に出力してもよい。
【００５６】
以上説明したように、本発明に係る推論装置によれば、既知データの分布にバイアスが存在する可能性がある場合に、このバイアスの存在やその程度やそれに係る推論の信頼性をユーザに提示することができる。そのため、推論装置が出力した推論結果の信頼性を適切に評価し、ユーザに知らせることができる、という効果がある。これにより、ユーザは推論結果の信頼性の高さに応じて、推論装置の推論結果をどの程度参照すべきか判断できるため、推論装置をより効果的に利用できる。
【符号の説明】
【００５７】
１  推論装置
２  データベース
３  ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）
１０  制御部
１００  ＣＰＵ（計算手段）
１０４  モニタ
２００  推論部
【図１】
2011123574.tif 000003
【図２】
2011123574.tif 000004
【図３】
2011123574.tif 000005
【図４】
2011123574.tif 000006
【図５】
2011123574.tif 000007