(57)【要約】【課題】判定精度の高い学習モデルを作成する。【解決手段】学習モデル作成装置は、複数のユーザについて、入力情報と、この入力情報に対応したラベルとを少なくとも組とする学習データを受け付ける受付部と、ユーザごとの学習データが示すユーザの特徴に基づいて、ユーザごとに、ユーザの特徴と、他のユーザの特徴との相違を示す指標値を算出する算出部と、複数のユーザの学習データに基づいて、ラベルが未知の入力データに対応したラベルを判定するための学習モデルを作成する際に、ユーザごとに算出された指標値に基づいて、他のユーザと特徴の相違が大きいユーザの学習データが学習モデルに寄与する度合いを小さくして学習モデルを作成する学習モデル作成部とを備える。【選択図】図１
2015230570.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザについて、入力情報と、当該入力情報に対応したラベルとを少なくとも組とする学習データを受け付ける受付部と、
前記ユーザごとの学習データが示す当該ユーザの特徴に基づいて、前記ユーザごとに、当該ユーザの特徴と、他のユーザの特徴との相違を示す指標値を算出する算出部と、
前記複数のユーザの学習データに基づいて、ラベルが未知の入力データに対応したラベルを判定するための学習モデルを作成する際に、前記ユーザごとに算出された指標値に基づいて、他のユーザと特徴の相違が大きいユーザの学習データが前記学習モデルに寄与する度合いを小さくして前記学習モデルを作成する学習モデル作成部と
を備えることを特徴とする学習モデル作成装置。
【請求項２】
前記複数のユーザの学習データに基づいて、前記ユーザごとに、当該ユーザの特徴をベクトルで示したユーザモデルを作成するユーザモデル作成部を更に備え、
前記算出部は、前記ユーザごとに作成された前記ユーザモデルのベクトルが示す大きさまたは方向、あるいは大きさと方向の両方を、前記ユーザごとに、他のユーザと比較して前記指標値を算出する
ことを特徴とする請求項１に記載の学習モデル作成装置。
【請求項３】
前記算出部は、前記ユーザごとに作成された前記ユーザモデルの平均のユーザモデルと、前記ユーザごとのユーザモデルとを比較して前記指標値を算出する
ことを特徴とする請求項２に記載の学習モデル作成装置。
【請求項４】
前記算出部は、前記ユーザごとに、当該ユーザの学習データ数と、他のユーザの学習データ数とを比較して前記指標値を算出する
ことを特徴とする請求項１に記載の学習モデル作成装置。
【請求項５】
前記学習モデル作成部は、前記ユーザごとに算出された指標値が所定の閾値を超えるか否かに基づいて、前記ユーザの学習データが前記学習モデルに寄与する度合いを変更する
ことを特徴とする請求項１乃至４のいずれか一項に記載の学習モデル作成装置。
【請求項６】
前記学習モデル作成部は、前記ユーザごとに、当該ユーザの学習データが前記学習モデルに寄与する度合いを更新する処理と、当該更新された度合いをもとに前記学習モデルを更新する処理とを、所定の収束条件を満たすまで繰り返して前記学習モデルを作成する
ことを特徴とする請求項１に記載の学習モデル作成装置。
【請求項７】
学習モデルを作成する学習モデル作成装置と、前記学習モデルに基づいてラベルが未知の入力データに対応したラベルを判定する判定装置とを有する判定システムであって、
前記学習モデル作成装置は、
複数のユーザについて、入力情報と、当該入力情報に対応したラベルとを少なくとも組とする学習データを受け付ける受付部と、
前記ユーザごとの学習データが示す当該ユーザの特徴に基づいて、前記ユーザごとに、当該ユーザの特徴と、他のユーザの特徴との相違を示す指標値を算出する算出部と、
前記複数のユーザの学習データに基づいて、ラベルが未知の入力データに対応したラベルを判定するための前記学習モデルを作成する際に、前記ユーザごとに算出された指標値に基づいて、他のユーザと特徴の相違が大きいユーザの学習データが前記学習モデルに寄与する度合いを小さくして前記学習モデルを作成する学習モデル作成部とを備え、
前記判定装置は、
前記学習モデル作成部が作成した学習モデルを格納する格納部と、
前記格納された学習モデルに基づいて、前記ラベルが未知の入力データに対応したラベルを判定する判定部と
を備えることを特徴とする判定システム。
【請求項８】
学習モデル作成装置によって実行される学習モデル作成方法であって、
複数のユーザについて、入力情報と、当該入力情報に対応したラベルとを少なくとも組とする学習データを受け付けるステップと、
前記ユーザごとの学習データが示す当該ユーザの特徴に基づいて、前記ユーザごとに、当該ユーザの特徴と、他のユーザの特徴との相違を示す指標値を算出するステップと、
前記複数のユーザの学習データに基づいて、ラベルが未知の入力データに対応したラベルを判定するための学習モデルを作成する際に、前記ユーザごとに算出された指標値に基づいて、他のユーザと特徴の相違が大きいユーザの学習データが前記学習モデルに寄与する度合いを小さくして前記学習モデルを作成するステップと
を含むことを特徴とする学習モデル作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習モデル作成装置、判定システムおよび学習モデル作成方法に関する。
【背景技術】
【０００２】
従来、機械学習においては、判別対象のデータの入力を受け付け、そのデータの内容の種別（これをラベルとよぶ）を判定して出力する手法として、教師つき学習と呼ばれるものがある。この教師つき学習では、複数のユーザから与えられる学習データを基に学習モデルを作成する。次いで、ラベルが未知であるデータの入力を受け付け、作成した学習モデルに基づいてそのデータのラベルを判定する。なお、学習データは、テキスト、画像、音声等のデータと、そのデータの内容の種別であるラベルとの組を複数のユーザから集めたものである。また、学習モデルは、データに対応するラベルを判定するためのパラメータである。
【０００３】
ラベルが未知であるデータの判定精度は元となる学習モデルによる影響が大きい。このため、学習モデルの作成においては、各ユーザからの学習データを基に、各ユーザ固有の学習モデル（ユーザモデル）を作成し、各ユーザのユーザモデルの単純平均によって、判定に用いる学習モデルを作成するものがある（非特許文献１参照）。また、ラベルの信頼度が所定の基準を満たす学習データ（エキスパートデータ）を基に、非エキスパートデータごとに信頼度を算出し、算出した信頼度を学習データに加味して学習モデルを作成するものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８２６８６号公報
【非特許文献】
【０００５】
【非特許文献１】Hiroshi  Kajino,  Yuta  Tsuboi,  Hisashi  Kashima,  "A  Convex  Formulation  for  Learning  from  Crowds",  Proceedings  of  the  Twenty-Sixth  AAAI  Conference  on  Artificial  Intelligence
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、誤ったラベルを付与されたデータ（以後、これを誤った学習データと呼ぶ）を与えるユーザが存在した場合であっても、そのユーザのユーザモデルも単純平均によって、判定に用いる学習モデルの作成に影響を及ぼすことから、判定精度が落ちてしまう場合があった。また、エキスパートデータが少ない場合には、非エキスパートデータの信頼度を算出することが困難となる。このため、高精度な判定が可能な学習モデルの作成が困難となる場合があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、判定精度の高い学習モデルを作成することを可能とする学習モデル作成装置、判定システムおよび学習モデル作成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、実施形態にかかる学習モデル作成装置は、複数のユーザについて、入力情報と、当該入力情報に対応したラベルとを少なくとも組とする学習データを受け付ける受付部と、前記ユーザごとの学習データが示す当該ユーザの特徴に基づいて、前記ユーザごとに、当該ユーザの特徴と、他のユーザの特徴との相違を示す指標値を算出する算出部と、前記複数のユーザの学習データに基づいて、ラベルが未知の入力データに対応したラベルを判定するための学習モデルを作成する際に、前記ユーザごとに算出された指標値に基づいて、他のユーザと特徴の相違が大きいユーザの学習データが前記学習モデルに寄与する度合いを小さくして前記学習モデルを作成する学習モデル作成部とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、判定精度の高い学習モデルを作成することができる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態にかかる判定システムの構成の一例を示すブロック図である。
【図２】図２は、学習データを説明する説明図である。
【図３】図３は、ユーザモデル作成部を説明する説明図である。
【図４】図４は、異常度の算出を説明する説明図である。
【図５】図５は、異常度の算出を説明する説明図である。
【図６】図６は、異常度の算出を説明する説明図である。
【図７】図７は、第１の実施形態にかかる判定システムの処理フローを説明する説明図である。
【図８】図８は、第２の実施形態にかかる判定システムの構成の一例を示すブロック図である。
【図９】図９は、第２の実施形態にかかる学習モデル作成の処理を示すフローチャートである。
【図１０】図１０は、実施形態にかかる判定システムの学習モデル作成装置および判定装置における処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して実施形態にかかる学習モデル作成装置、判定システムおよび学習モデル作成方法を詳細に説明する。なお、以下の説明において、同様の構成要素には共通の符号を付与するとともに、重複する説明を省略する。
【００１２】
（第１の実施形態）
図１は、第１の実施形態にかかる判定システムの構成の一例を示すブロック図である。図１に示すように、判定システム１は、複数のユーザの学習データＤ１を受け付けて学習モデルＭ１を作成する学習モデル作成装置１０と、ラベルが未知であるデータＤ２の入力を受け付け、学習モデル作成装置１０が作成した学習モデルＭ１に基づいてデータＤ２のラベルを判定する判定装置２０とを有する。
【００１３】
学習モデル作成装置１０は、学習データ変換部１０１と、学習データ格納部１０２と、ユーザモデル作成部１０３と、異常度算出部１０４と、学習モデル作成部１０５とを有する。
【００１４】
学習データ変換部１０１は、学習データＤ１の入力を受け付ける。学習データＤ１は、複数のユーザから与えられ、教師つき学習における教師データに相当するデータである。具体的には、学習データＤ１は、ユーザの入力情報であるテキスト、画像、音声等のデータと、そのデータの内容の種別であるラベルとを少なくとも組としたデータである。
【００１５】
図２は、学習データＤ１を説明する説明図である。図２に示すように、学習データＤ１は、ユーザの入力情報がテキストである場合、「野球をしたい」などのテキストと、そのテキスト内容の種別を示す「スポーツ」等のラベルと、ユーザを識別するためのユーザＩＤとを有する。この学習データＤ１は、例えばコンソールからの入力の他、インターネット上の掲示板、ブログ、ＳＮＳ（ソーシャル・ネットワーキング・サービス）などへのユーザの書き込みを収集したものであってもよい。
【００１６】
学習データ変換部１０１は、入力された学習データＤ１について、データの特徴をｎ次元のベクトルで表記した特徴ベクトルと、ラベルの内容を数値化した数値ラベルの組に変換する。特徴ベクトルへの変換は、機械学習で一般的に用いられている公知の手法を利用する。例えば、データがテキストの場合には、形態素解析、ｎ−ｇｒａｍまたは区切り文字により特徴ベクトルへ変換する手法がある。一般に、形態素解析は日本語のテキストに、空白区切りは英語のテキストに適用されることが多く、テキストの種別（日本語／英語）によって手法を変更してもよい。
【００１７】
形態素解析の場合は、予め設定された辞書データをもとに、データを品詞に分割し、分割された要素をもとに特徴ベクトルへ変換する。例えば、「今日は、サッカーを、する」というテキストは、「今日／は／、／サッカー／を／、／する」と分割され、分割された要素をもとに特徴ベクトルに変換する。
【００１８】
また、ｎ−ｇｒａｍの場合は、データを先頭から１文字ずつずらしながらｎ文字の組をつくり、それらを特徴ベクトルに変換する。例えば、「今日は、サッカーを、する」というテキストは、ｎ−ｇｒａｍ（ｎ＝６）の場合、「今日は、サッ／日は、サッカ／…／カーを、する」という要素が作られ、これらの要素をもとに特徴ベクトルに変換する。
【００１９】
また、区切り文字の場合は、データを予め定めた区切り文字（空白、句読点、カンマ等）によって分割し、分割された要素をもとに特徴ベクトルへ変換する。例えば、「今日は、サッカーを、する」というテキストは、区切り文字（”、”）の場合、「今日は／サッカーを／する」と分割され、分割された要素をもとに特徴ベクトルへ変換する。
【００２０】
特徴ベクトルへの変換には、各要素の出現回数をそのまま特徴ベクトルとする方式、出現回数によらず、ある要素が出現する（１）／出現しない（０）で数値化する方式等がある。ラベルに関しても所定の規則に従って数値化する。例えば、「スポーツ」／「非スポーツ」のラベルがある場合は、「スポーツ」を「１」、「非スポーツ」を「０」のように数値化する。
【００２１】
学習データ格納部１０２は、学習データ変換部１０１による変換済の学習データＤ１と、ユーザＩＤの組を格納する。学習データ格納部１０２は、一般のデータベース（ＭｙＳＱＬやＰｏｓｔｇｒｅＳＱＬ等）を用いてもよいし、表形式やテキスト形式での格納などであってもよい。学習データ格納部１０２における、格納方法の種類は問わない。また、学習データ格納部１０２は、ＲＡＭ（Random  Access  Memory）上に確保された作業領域で代用してもよい。
【００２２】
ユーザモデル作成部１０３は、学習データ格納部１０２から変換済の学習データＤ１とユーザＩＤの組を取り出し、ユーザＩＤ（ユーザ）ごとに固有の学習モデルであるユーザモデルを作成する。
【００２３】
図３は、ユーザモデル作成部１０３を説明する説明図である。図３に示すように、ユーザモデル作成部１０３は、ユーザＩＤごとの学習データＤ１１、Ｄ１２に対応したユーザモデルＵ１、Ｕ２を作成する。ユーザモデルＵ１、Ｕ２は、ユーザＩＤが「１」、「２」におけるユーザの特徴ベクトルと数値化ラベルとの組をもとに作成される、ユーザごとの学習モデルである。ユーザモデルＵ１、Ｕ２の作成には、一般の機械学習手法である、ロジスティック回帰、サポートベクターマシン、パーセプトロン等を用いてもよい。作成されたユーザモデルＵ１、Ｕ２は、ｎ次元のベクトルで表記される。
【００２４】
異常度算出部１０４は、ユーザごとの学習データＤ１が示す各ユーザの特徴に基づいて、ユーザごとに、ユーザの特徴と、他のユーザの特徴とが、どの程度相違するかを示す指標値である異常度を算出する。具体的には、各ユーザの学習データＤ１や、ユーザモデルＵ１、Ｕ２を互いに比較することで、あるユーザが他のユーザとどの程度相違するかを示す異常度を算出する。この異常度の算出方法には、大きく分けて、各ユーザの学習データＤ１の違いにより算出する第１の算出方法、ユーザモデルＵ１、Ｕ２の違いにより算出する第２の算出方法、第１の算出方法と第２の算出方法を組み合わせた第３の算出方法がある。
【００２５】
第１の算出方法では、各ユーザの学習データＤ１の要素の違いを基に、各ユーザの異常度を算出する。例えば、他のユーザと比べて学習データの要素が極端に少ない、もしくは多いユーザの異常度を高く算出する。
【００２６】
図４は、異常度の算出を説明する説明図であり、より具体的には、第１の算出方法による異常度の算出を説明する図である。図４に示すように、第１の算出方法の具体例としては、全てのユーザの学習データ数の平均（図示例では「４０」）を算出し、算出した平均と各ユーザの学習データ数との差を、各ユーザの異常度と定義する方法がある。また、全てのユーザの学習データ数の中央値（図示例では「３０」）と、各ユーザの学習データ数の差を、各ユーザの異常度と定義する方法がある。なお、第１の算出方法は、図４の例に限定するものではなく、各ユーザの学習データＤ１の要素を互いに比較する方法であれば他の方法を用いてもよい。
【００２７】
第２の算出方法では、ユーザモデルＵ１、Ｕ２を表すベクトルの大きさや方向の違いを基に、各ユーザの異常度を算出する。例えば、ユーザモデルＵ１、Ｕ２を表すベクトルの大きさや方向が、他とは異なるユーザの異常度を高く算出する。
【００２８】
図５、図６は、異常度の算出を説明する説明図であり、より具体的には、第２の算出方法による異常度の算出を説明する図である。ここで、図５、図６におけるＶ１、Ｖ２およびＶ３はユーザＩＤが「１」、「２」、「３」のユーザモデルを２次元のベクトルとして表記したものである。また、図５におけるＶａは、Ｖ１、Ｖ２およびＶ３の平均のベクトルである。また、図６におけるＶ１ｎ、Ｖ２ｎおよびＶ３ｎは、Ｖ１、Ｖ２およびＶ３を正規化したベクトルである。また、図６におけるＶａｎは、Ｖ１ｎ、Ｖ２ｎおよびＶ３ｎの平均のベクトルである。
【００２９】
図５に示すように、第２の算出方法としては、各ユーザのユーザモデルであるＶ１、Ｖ２およびＶ３の平均をとり、平均とＶ１、Ｖ２およびＶ３との距離Ｄ１、Ｄ２、Ｄ３をユーザごとの異常度と定義する方法がある。この場合、Ｖａと、Ｖ１、Ｖ２およびＶ３との距離Ｄ１、Ｄ２、Ｄ３が大きくなるほど、異常度は高くなる。
【００３０】
また、図６に示すように、第２の算出方法としては、各ユーザのユーザモデルであるＶ１、Ｖ２およびＶ３について正規化し、正規化したＶ１ｎ、Ｖ２ｎおよびＶ３ｎの平均をとる。そして、平均したＶａｎと、Ｖ１、Ｖ２およびＶ３とのなす角度をユーザごとの異常度と定義する方法がある。この場合、Ｖａｎと、Ｖ１、Ｖ２およびＶ３とのなす角度が大きくなるほど、異常度は高くなる。なお、第２の算出方法は、図５、６の例に限定するものではなく、各ユーザのユーザモデルＵ１、Ｕ２をもとに比較を行う方法であれば他の方法を用いてもよい。
【００３１】
第３の算出方法としては、例えば、（第１の算出方法で算出された異常度）＋（第２の算出方法で算出された異常度）と算出する方法がある。なお、第１の算出方法および第２の算出方法の組み合わせは、上述した単純加算以外に乗算を用いてもよく、特に限定しない。
【００３２】
学習モデル作成部１０５は、入力された学習データＤ１に基づいて、判定装置２０がデータＤ２に対応したラベルを判定するための学習モデルＭ１を作成する。具体的には、学習モデル作成部１０５は、ユーザモデル作成部１０３が作成した各ユーザのユーザモデルを統合した学習モデルＭ１を作成し、判定装置２０へ出力する。この学習モデルＭ１の作成に際し、学習モデル作成部１０５は、異常度算出部１０４が算出した各ユーザの異常度に基づいて、他のユーザと特徴の相違が大きい、すなわち異常度の大きいユーザのユーザモデルが学習モデルＭ１に寄与する度合いを小さくして、学習モデルＭ１を作成する。異常度に応じてユーザの学習データＤ１の寄与を変更する方法としては、異常度から各ユーザモデルの重みを定義し、その重み付き平均により学習モデルを作成する方法、所定の閾値未満の重みに対応するユーザモデルを排除した上で学習モデルを作成する方法などがある。
【００３３】
重み付き平均により学習モデルを作成する方法において、ユーザモデルの重みの定め方としては、例えば異常度の逆数を重みとする方法がある。異常度の逆数を重みとする場合、異常度が０の時には、逆数の計算ができないため、予め設定しておいた数値を重みとする等の例外処理を行う。なお、重要度から重みを定める方法は上記に限定しない。
【００３４】
例えば、ｗiをユーザＩＤ＝ｉのユーザモデルとし、λｉをユーザモデルｗｉの重み、Ｋをユーザの総数としたとき、学習モデルｗ０は以下の式（１）で算出してもよい。
【００３５】
【数１】
2015230570.tif 000003
【００３６】
式（１）を用いる方法では、異常度の高いユーザモデルｗｉは、学習モデルｗ０への寄与が小さくなる。
【００３７】
所定の閾値未満の重みに対応するユーザモデルを排除した上で学習モデルを作成する方法としては、重みλｉがある所定の閾値を下回っているユーザモデルｗｉは用いずに学習モデルｗ０を作成する方法がある。この閾値の設定方法は、ユーザがコンソール等より予め定める方法、重みλｉの平均を閾値とする方法があるが、それらに限定しない。
【００３８】
例えば、所定の閾値をａとした場合の学習モデルｗ０は、以下の式（２）で算出してもよい。
【００３９】
【数２】
2015230570.tif 000004
【００４０】
また、重みが閾値ａ以上となるユーザモデルｗｉは、すべて均等に扱って学習モデルｗ０を算出してもよい。この場合、学習モデルｗ０は、以下の式（３）で与えられる。
【００４１】
【数３】
2015230570.tif 000005
【００４２】
なお、すべてのユーザモデルの重みλｉが閾値ａを下回った場合は、学習モデルｗ０は０ベクトルとしてもよい。
【００４３】
判定装置２０は、データ変換部２０１と、判定部２０２と、学習モデル格納部２０３と、判定結果出力部２０４とを有する。
【００４４】
データ変換部２０１は、ラベルが未知であるデータＤ２を入力として受け付ける。このデータＤ２は、例えばコンソールからの入力の他、例えば、入力がテキストの場合には、インターネット上の掲示板、ブログ、ＳＮＳなどへの任意の書き込みを収集したものであってもよい。データ変換部２０１は、学習データ変換部１０１と同様、受け付けたデータＤ２を特徴ベクトルに変換する。特徴ベクトルに変換されたデータＤ２は判定部２０２へ出力される。
【００４５】
判定部２０２は、特徴ベクトルに変換されたデータＤ２を受け取ると、学習モデル格納部２０３に格納されている学習モデルＭ１を参照し、データＤ２に対応するラベルを判定する。具体的には、特徴ベクトルと学習モデルＭ１との内積が０より大きければ数値化ラベル＝１、０より小さければ数値化ラベル＝０、０であれば数値化ラベル＝−１（「−１」は「判定不能」を示す）のように、判定部２０２は、特徴ベクトルと学習モデルＭ１との内積の値をもとにラベル判定を行う。
【００４６】
学習モデル格納部２０３は、学習モデル作成装置１０にて作成された学習モデルＭ１を格納する。学習モデル格納部２０３は、一般のデータベース（ＭｙＳＱＬやＰｏｓｔｇｒｅＳＱＬ等）を用いてもよいし、表形式やテキスト形式での格納などであってもよい。学習モデル格納部２０３における、格納方法の種類は問わない。
【００４７】
判定結果出力部２０４は、判定部２０２で得られた判定結果（数値化ラベル）を、数値化ラベルとラベル表記との対応テーブルなどを参照し、数値化する前のラベルに変換する。そして、判定結果出力部２０４は、変換したラベルをユーザに識別可能な判定結果Ｒ１として出力する。ただし、判定部２０２で得られた判定結果が「−１」の場合には、「判定不能」などの文字列を判定結果Ｒ１として出力する。ここで、判定結果出力部２０４が行う判定結果Ｒ１の出力は、ディスプレイへの表示出力、ＨＤＤ（Hard  Disk  Drive）等の記憶媒体へ書き込み、ネットワーク上の他の情報処理装置（例えばＰＣ（Personal  Computer）等）への送信などであってよい。
【００４８】
図７は、第１の実施形態にかかる判定システム１の処理フローを説明する説明図である。図７に示すように、学習モデル作成装置１０は、複数のユーザについて、入力情報と、その入力情報に対応したラベルとを少なくとも組とする学習データＤ１１、Ｄ１２、Ｄ１３…を受け付ける。そして、学習モデル作成装置１０は、学習データ変換部１０１において、ユーザごとの学習データＤ１１、Ｄ１２、Ｄ１３が示す特徴ベクトルへの変換等の学習データ変換の処理を行う（Ｓ１）。
【００４９】
次いで、学習モデル作成装置１０は、ユーザモデル作成部１０３において、変換後のデータをもとにユーザモデルを作成し、異常度算出部１０４において、ユーザごとに、このユーザの特徴と、他のユーザの特徴との相違を示す異常度を算出する。そして、学習モデル作成装置１０は、学習モデル作成部１０５において、算出した異常度と、ユーザモデルとに基づいて学習モデルＭ１を作成する処理（Ｓ２）を行う。このＳ２では、ユーザごとに算出された異常度に基づいて、他のユーザと特徴の相違が大きいユーザのユーザモデルが学習モデルＭ１に寄与する度合いを小さくする。
【００５０】
判定装置２０は、ラベルが未知のデータＤ２の入力を受け付ける。そして、判定装置２０は、データ変換部２０１において、受け付けたデータＤ２の特徴ベクトルへの変換等のデータ変換の処理を行う（Ｓ３）。次いで、判定装置２０は、判定部２０２において、データ変換後のデータＤ２を受け取り、Ｓ２で作成された学習モデルＭ１を参照し、データＤ２に対応するラベルを判定する（Ｓ４）。そして、判定装置２０は、判定したラベル（図示例では「スポーツ」）を判定結果Ｒ１として出力する。
【００５１】
以上のように、学習モデル作成装置１０は、複数のユーザについて、入力情報と、その入力情報に対応したラベルとを少なくとも組とする学習データＤ１を受け付ける。そして、学習モデル作成装置１０は、ユーザごとの学習データＤ１が示す特徴に基づいて、ユーザごとに、このユーザの特徴と、他のユーザの特徴との相違を示す異常度を算出する。そして、学習モデル作成装置１０は、判定装置２０がデータＤ２に対応したラベルを判定するための学習モデルＭ１を学習データＤ１に基づいて作成する際に、ユーザごとに算出された異常度に基づいて、他のユーザと特徴の相違が大きいユーザの学習データＤ１が学習モデルＭ１に寄与する度合いを小さくする。
【００５２】
このため、学習モデル作成装置１０は、誤った学習データＤ１を与えるユーザが存在した場合であっても、そのユーザの学習データＤ１が学習モデルＭ１に寄与する度合いを小さくすることができ、判定精度の高い学習モデルＭ１を作成することができる。例えば、誤った学習データＤ１を与えるユーザが少数の場合には、それらのユーザが与える学習データＤ１やユーザモデルは多数のユーザのものと大きく異なるものとなる。したがって、誤った学習データＤ１を与えるユーザは異常度が高くなる。異常度の高いユーザの学習データＤ１は学習モデルＭ１へ寄与する度合いが小さくなるため、エキスパードデータなどで信頼度を加味することなく、判定精度の高い学習モデルＭ１の作成が可能となる。また、判定装置２０では、学習モデル作成装置１０で作成された学習モデルＭ１を参照してデータＤ２のラベル判定を行うことから、誤った学習データＤ１を与えるユーザの影響を抑えた、精度の高い判定を行うことが可能となる。
【００５３】
（第２の実施形態）
次に、第２の実施形態について説明する。上述した第１の実施形態では、各ユーザのユーザモデルを作成した後、ユーザごとの異常度を求め、求めた異常度を重みに変換する。そして、ユーザモデルと重みを用いて学習モデルＭ１を作成する。すなわち、第１の実施形態では、上述した処理を順次行って学習モデルＭ１を作成する順次法を例示した。第２の実施形態では、学習モデル（ユーザごとのユーザモデルおよびそれらを統合した学習モデル）と、ユーザごとの重みの更新を繰り返し、所定の収束条件を満たしたところで学習モデルとして出力する繰り返し法を例示する。
【００５４】
図８は、第２の実施形態にかかる判定システム１ａの構成の一例を示すブロック図である。図８に示すように、判定システム１ａの学習モデル作成装置１０ａは、初期化部１１１、学習モデル更新部１１２及びパラメータ更新部１１３を有する学習モデル作成部１１０としているところが判定システム１と異なっている。
【００５５】
初期化部１１１は、学習データ格納部１０２から学習データＤ１を受け取ると、各ユーザ（任意のユーザＩＤ＝ｋをユーザｋとする）のユーザモデルｗｋ、学習モデルｗ０、重みλｋ、正則化パラメータη（実数）を予め定めておいた値で初期化する。次いで、初期化部１１１は、ユーザモデルｗｋ、学習モデルｗ０および学習データＤ１を学習モデル更新部１１２に出力し、重みλｋ、正則化パラメータηをパラメータ更新部１１３へ出力する。
【００５６】
学習モデル更新部１１２は、各ユーザのユーザモデルｗｋと学習モデルｗ０を更新する。ここで、学習モデル更新部１１２における更新処理の詳細について説明する。先ず、ユーザＩＤ＝ｋのユーザｋが与えたｉ番目の学習データＤ１を（ｘｋｉ，ｙｋｉ）で表す。ここで、ｘｋｉはｎ次元の特徴ベクトル、ｙｋｉはラベルを表し、このラベルは０または１の値をとるものとする。なお、特徴ベクトルｘｋｉは列ベクトルである。
【００５７】
また、ユーザｋの与えた学習データＤ１の要素の総数をＩｋとしたとき、Ｉｋ個の特徴ベクトルの転置を縦に並べて作ったＩｋ×ｎ行列を次の式（４）のＸｋで表す。
【００５８】
【数４】
2015230570.tif 000006
【００５９】
ここで、ｘＴｋｉはｘｋｉの転置を表す。また、行列Ａの逆行列はＡ−１と表記する。
【００６０】
学習モデル更新部１１２は、各ユーザのユーザモデルｗｋと学習モデルｗ０を次の式（５）に従って更新する。なお、式（５）におけるｗｋは更新前のユーザモデル、ｗｎｅｗｋは更新後のユーザモデルを示す。また、ｗ０は更新前の学習モデル、ｗｎｅｗ０は更新後の学習モデルを示す。
【００６１】
【数５】
2015230570.tif 000007
【００６２】
ここで、βは予め定めておく必要がある正の実数であり、Ｈとｇは次の式（６）で与えられる。
【００６３】
【数６】
2015230570.tif 000008
【００６４】
Ｂｋは、（ｉ，ｉ）成分が（１−σ（ｗＴｋｘｋｉ））σ（ｗＴｋｘｋｉ）のＩｋ次対角行列である。また、Ｄｋは、ｉ成分がｙｋｉ−σ（ｗＴｋｘｋｉ）のＩｋ次列ベクトルである。また、Ｉはｎ次単位行列である。ここで、σは次の式（７）で与えられる関数（シグモイド関数）である。
【００６５】
【数７】
2015230570.tif 000009
【００６６】
学習モデル更新部１１２における更新は、所定の終了条件（収束条件）が満たされるまで実施される。ここで、終了条件としては、更新の回数が予定の数を超えた場合、更新の前後における学習モデルの変化が所定の値以下である場合などがある。
【００６７】
パラメータ更新部１１３は、各ユーザのユーザモデルにおける重みλｋと、正則化パラメータηを次の式（８）に従って更新する。この重みλｋは、他のユーザとの相違を示す指標値である。
【００６８】
【数８】
2015230570.tif 000010
【００６９】
ここで、Ｔｒ[Ａ]は行列Ａのトレースを示す。なお、異常度の定め方としては、例えば重みの逆数を異常度とする方法が考えられるが、この方法以外であってもよく、特に限定しない。
【００７０】
上述した、学習モデル更新部１１２による学習モデル（ユーザごとのユーザモデルおよびそれらを統合した学習モデル）の更新と、パラメータ更新部１１３によるユーザごとの重みの更新を繰り返すことで得られる学習モデルｗ０は、式（５）より以下の式（９）となる。
【００７１】
【数９】
2015230570.tif 000011
【００７２】
上記の式（９）より、学習モデルｗ０は、各ユーザモデルｗｋの重み付き平均の定数倍で与えられることがわかる。なお、第１の実施形態における、所定の閾値未満を切り捨てる場合と同様、ある閾値ａを定め、重みが閾値ａを下回っているユーザモデルは上記の式で用いずに学習モデルｗ０を作成してもよい。
【００７３】
図９は、第２の実施形態にかかる学習モデル作成の処理を示すフローチャートである。図９に示すように、学習モデル作成部１１０における処理が開始されると、初期化部１１１は、ユーザモデルｗｋ、学習モデルｗ０、重みλｋ、正則化パラメータη（実数）を初期化する（Ｓ１１）。次いで、学習モデル更新部１１２は、初期化されたユーザモデルｗｋと学習モデルｗ０を更新する（Ｓ１２）。
【００７４】
次いで、パラメータ更新部１１３は、ユーザモデルにおける重みλｋと、正則化パラメータηを更新する（Ｓ１３）。次いで、学習モデル更新部１１２は、Ｓ１３で更新された重みλｋと、正則化パラメータηをもとに、ユーザモデルｗｋと学習モデルｗ０を更新する（Ｓ１４）。次いで、学習モデル作成部１１０は、更新の回数が予定の数を超えたか否か、更新の前後における学習モデルの変化が所定の値以下であるか否かなど、所定の収束条件を満たすか否かを判定する（Ｓ１５）。
【００７５】
所定の収束条件を満たさない場合（Ｓ１５：ＮＯ）、学習モデル作成部１１０はＳ１３へ処理を戻す。これにより、所定の収束条件を満たさない間は、ユーザモデルにおける重みλｋおよび正則化パラメータηの更新と、ユーザモデルｗｋおよび学習モデルｗ０の更新とが交互に繰り返し実施されることとなる。
【００７６】
所定の収束条件を満たす場合（Ｓ１５：ＹＥＳ）、学習モデル作成部１１０は処理を終了し、収束条件を満たすまでに演算された学習モデルｗ０を判定装置２０へ出力する。
【００７７】
また、上述した実施形態において説明した学習モデル作成装置１０および判定装置２０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上述した実施形態にかかる学習モデル作成装置１０および判定装置２０における処理と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上述した実施形態と同様の処理を実現してもよい。以下に、上述したプログラムを実行するコンピュータの一例を説明する。
【００７８】
図１０は、実施形態にかかる判定システム１の学習モデル作成装置１０および判定装置２０における処理がコンピュータを用いて具体的に実現されることを示す図である。図１０に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００７９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００８０】
ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記のプログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、例えばハードディスクドライブ１０３１に記憶される。例えば、図１に例示した学習モデル作成装置１０の機能構成（学習データ変換部１０１、学習データ格納部１０２、ユーザモデル作成部１０３、異常度算出部１０４、学習モデル作成部１０５）や判定装置２０の機能構成（データ変換部２０１、判定部２０２、判定結果出力部２０４、学習モデル格納部２０３）と同様の情報処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００８１】
また、上述したプログラムを実行する際の作業領域などは、ＲＡＭ１０１２に確保される。処理に必要な設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８２】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。また、学習モデル作成装置１０および判定装置２０を備える判定システム１は、上述した一つのコンピュータで実現されるものであってよいことは言うまでもないことである。
【符号の説明】
【００８３】
１、１ａ…判定システム
１０、１０ａ…学習モデル作成装置
２０…判定装置
１０１…学習データ変換部
１０２…学習データ格納部
１０３…ユーザモデル作成部
１０４…異常度算出部
１０５、１１０…学習モデル作成部
１１１…初期化部
１１２…学習モデル更新部
１１３…パラメータ更新部
２０１…データ変換部
２０２…判定部
２０３…学習モデル格納部
２０４…判定結果出力部
Ｄ１、Ｄ１１、Ｄ１２、Ｄ１３…学習データ
Ｄ２…データ
Ｍ１…学習モデル
Ｕ１、Ｕ２…ユーザモデル
Ｒ１…判定結果
１０００…コンピュータ
【図１】
2015230570.tif 000012
【図２】
2015230570.tif 000013
【図３】
2015230570.tif 000014
【図４】
2015230570.tif 000015
【図５】
2015230570.tif 000016
【図６】
2015230570.tif 000017
【図７】
2015230570.tif 000018
【図８】
2015230570.tif 000019
【図９】
2015230570.tif 000020
【図１０】
2015230570.tif 000021