JP7409080B2 - 学習データ生成方法、学習データ生成プログラムおよび情報処理装置 - Google Patents

学習データ生成方法、学習データ生成プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP7409080B2
JP7409080B2 JP2019237904A JP2019237904A JP7409080B2 JP 7409080 B2 JP7409080 B2 JP 7409080B2 JP 2019237904 A JP2019237904 A JP 2019237904A JP 2019237904 A JP2019237904 A JP 2019237904A JP 7409080 B2 JP7409080 B2 JP 7409080B2
Authority
JP
Japan
Prior art keywords
learning
learning data
data
result
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019237904A
Other languages
English (en)
Other versions
JP2021105928A (ja
Inventor
俊一 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019237904A priority Critical patent/JP7409080B2/ja
Priority to US17/086,485 priority patent/US11347972B2/en
Publication of JP2021105928A publication Critical patent/JP2021105928A/ja
Application granted granted Critical
Publication of JP7409080B2 publication Critical patent/JP7409080B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multimedia (AREA)

Description

本発明は、学習データ生成方法、学習データ生成プログラムおよび情報処理装置に関する。
近年、製造業や医療をはじめとする多岐にわたる分野において、機械学習が利用されている。機械学習では、例えば、学習データを用いて所定のタスクが学習される。所定のタスクには、画像から製造された物品の欠陥を判別すること、または従業員の出勤簿データから当該従業員の健康状態を判定することなどが挙げられる。機械学習の一例として、ニューラルネットワーク(NN:Neural Network)を学習モデルとして用いる深層学習が知られている。
しかしながら、機械学習に用いる学習データとして、正例または負例の一方のラベルに関するデータそのものを収集することが難しい場合がある。例えば、医療の分野では、異常状態を示すデータが少ないために、異常状態を示す学習データを収集することが困難である。そこで、予測に利用された入力データに対して、実際の結果を教師ラベルとして付与することによって、新たな学習データを生成することが行われている。
特開2019-185483号公報
異常状態を示す学習データを収集する他の方法として、予測に利用された入力データと、新たに取得した入力データとの類似度に基づいて、当該新たに取得した入力データに対して教師ラベルを付与し、新たな学習データを生成することが考えられる。しかしながら、この方法によれば、入力データ同士を比較しているため、本来の予測に用いるタスクにとって重要な箇所を見逃した教師ラベルの推定となっている可能性が高い。つまり、当該新たな学習データを用いて学習モデルを更新すると、却って精度劣化を招く場合もある。
本発明の1つの側面では、学習モデルの精度を向上させることが可能な学習データを生成するデータ生成方法、データ生成プログラムおよび情報処理装置を提供することを目的とする。
発明の一観点によれば、コンピュータに、第1期間における対象の時系列な第1状態が入力されることによって前記第1期間の後における前記対象の第1結果を推定する機械学習モデルから、前記第1状態の特徴である第1の特徴を取得し、前記第1結果が確定した後の期間を含む第2期間における時系列な第2状態を前記機械学習モデルに入力することにより、前記第2状態の特徴である第2の特徴を取得し、前記第1の特徴と前記第2の特徴とに基づいて、前記第2状態を説明変数とするとともに前記第1結果の確定した結果を変更した第2結果を目的変数とした学習データを生成する、処理を実行させる学習データ生成プログラムが提供される。
一実施形態によれば、学習モデルの精度を向上させることが可能な学習データを生成するデータ生成方法、データ生成プログラムおよび情報処理装置を提供することができる。
図1(a)は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。図1(b)は、実施例1にかかる端末装置の機能構成を示す機能ブロック図である。 図2は、実施例1にかかる情報処理装置によって実行される処理の一例を示すフローチャートである。 図3は、療養ありと予想されるときの出力例を示す図である。 図4は、療養なしと予想されるときの出力例を示す図である。 図5は、所定の行為を実施する前の状態と所定の行為を実施した後の特徴を示すコアテンソルの比較を説明する図である。 図6は、グラフ構造とテンソルとの関係の一例を示す図である。 図7は、部分グラフ構造の抽出の一例を示す図である。 図8は、ディープテンソルの学習例を説明する図である。 図9は、実施例2にかかる情報処理装置の機能構成を示す機能ブロック図である。 図10は、センサデータDBに記憶される情報の例を示す図である。 図11は、学習データDBに記憶される情報の例を示す図である。 図12は、学習データの例を説明する図である。 図13は、コアテンソルデータDBに記憶される情報の例を示す図である。 図14は、テンソル化を説明する図である。 図15は、類似度算出および教師ラベル推定を説明する図である。 図16は、実施例2の処理の流れを示すフローチャートである。 図17は、実施例2の処理の流れを示すフローチャートである。 図18は、比較例による教師ラベルの推定の問題点を説明する図である。 図19は、ハードウェア構成例を説明する図である。 図20は、ハードウェア構成例を説明する図である。
以下に、本願の開示する学習データ生成方法、学習データ生成プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
(実施例1)
図1(a)は、実施例1にかかる情報処理装置100の機能構成を示す機能ブロック図である。図1(a)に示すように、情報処理装置100は、通信部101、記憶部102、制御部110を有する。
通信部101は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部101は、端末装置200から、処理開始指示、学習データ、学習データの特徴量などを受信する。また、通信部101は、管理者の端末装置200に対して、学習結果および予測結果などを出力する。さらに、通信部101は、通信部201に対して、学習モデルを配信する。
記憶部102は、プログラムおよびデータを記憶する記憶装置(例えばメモリまたはハードディスク)によって実現される。記憶部102は、センサデータDB103、学習データDB104、学習結果DB105を記憶する。センサデータDB103は、対象の複数の状態を記憶するデータベースである。例えば、対象の複数の状態とは、従業員の出勤簿データの出欠区分に相当する。また、他の例として、対象の複数の状態は、製造ラインの工程毎に設置されたセンサが検出したセンサ値であっても良い。
学習データDB104は、学習データに関する情報が記憶されているデータベースである。具体的には、学習データDB104は、学習モデルの学習に利用されるデータである。学習モデルとは、パラメータが組み込まれたプログラムであり、入力に対して一定の結果を出力する。学習データDB104は、例えば、対象の複数の状態と1つの教師ラベルの組となる各学習データを記憶する。また、学習データDB104は、所定の行為を実施する前の状態を有する学習データと、所定の行為を実施した後の状態を有する学習データとを識別可能な状態で記憶している。
学習結果DB105は、学習結果に関する情報が記憶されているデータベースである。例えば、学習結果DB105は、制御部110による学習データの判別結果、および機械学習によって最適化されたNNの各種パラメータなどを記憶する。また、学習結果DB105は、学習により最適化された各種パラメータが設定された学習済みの学習モデルを記憶する。
制御部110は、情報処理装置100全体の処理を司る処理部であり、例えばプロセッサにより実現される。制御部110は、第1の抽出部121、第2の抽出部122、判定部123、および実行部124を有する。
第1の抽出部121は、第1期間における対象の時系列な第1状態が入力されることによって第1期間の後における対象の第1結果を推定する機械学習モデルから、第1状態の特徴である第1の特徴を取得する。
つまり、第1の抽出部121は、学習データDB104に記憶された学習データから所定の行為を実施する前の状態を有する第1の学習データを特定する。そして、第1の抽出部121は、第1の学習データから、複数の状態の相関と第1の学習データの目的変数の特徴とを示す第1の特徴を抽出する。ここで、所定の行為とは、例えば、教師ラベルが正例である学習データの対象に対して、教師ラベルが負例になるように実施される行為である。本実施例において、例えば、正例とは療養ありの従業員であり、負例とは療養なしの従業員である。また、例えば、所定の行為とは、療養ありの従業員に対してカウンセリングを実施する行為に相当する。また、所定の行為とは、欠陥ありの物品が製造される製造ラインのうち一部の工程に対する改良であっても良い。
第2の抽出部122は、第1結果が確定した後の期間を含む第2期間における時系列な第2状態を機械学習モデルに入力することにより、第2状態の特徴である第2の特徴を取得する。
つまり、第2の抽出部122は、学習データDB104に記憶された学習データから所定の行為を実施する後の状態を有する第2の学習データを特定する。そして、第2の抽出部122は、第2の学習データから、複数の状態の相関と第2の学習データの目的変数の特徴とを示す第2の特徴を抽出する。
判定部123は、第1の特徴と第2の特徴とに基づいて、第2の状態を説明変数とするとともに第1結果の確定した結果を変更した第2結果を目的変数とした学習データを生成する。つまり、判定部123は、第1結果が確定した後に、第2状態を説明するとともに、第1結果が確定した後の結果を目的変数とした学習データを生成する。そして、判定部123は、第1の特徴と第2の特徴とに基づいて、学習データの目的変数を変更するか否かを判定する。
判定部123は、第1の特徴と第2の特徴とのそれぞれに基づいて、第2の学習データの目的変数を変更するか否かを判定する。そして、判定部123は、第2の学習データの目的変数を変更すると判定された場合に、第2の学習データの目的変数の教師ラベルを第1の教師ラベルとは異なるラベルに変更した第3の学習データを生成する。続いて、判定部123は、生成された第3の学習データを学習データDB104に登録する。
実行部124は、学習データDB104の学習データを取得する。そして、実行部124は、学習データの対象の複数の状態を説明変数としてNNに入力する。続いて、実行部124は、NNの出力結果と複数の状態に対する結果を示す教師ラベルとの誤差が小さくなるように、NNの学習を実行する。複数の状態に対する結果は、例えば、従業員の療養有無である。また、他の例として、複数の状態に対する結果は、製造ラインの各工程を経て製造された物品の欠陥の有無であっても良い。
図1(b)は、実施例1にかかる端末装置200の機能構成を示す機能ブロック図である。図1(b)に示すように、端末装置200は、通信部201、制御部202、表示部203、および入力部204を有する。
通信部201は、処理開始指示、学習データ、学習データの特徴量などを情報処理装置100に対して出力する。また、通信部201は、学習結果および予測結果などを情報処理装置100から受信する。さらに、通信部201は、通信部101により配信された学習モデルを受信する。
制御部202は、端末装置200全体の処理を司る。制御部202は、例えばプロセッサによって実現される。制御部202は、学習モデルを用いて、対象の複数の状態から予測結果を特定し、特定した予測結果を表示部203に表示させる。例えば、制御部202は、従業員の出勤簿データの出欠区分に関する情報を入力部204に入力されたときに、従業員の療養の有無を予測し、予測結果を表示部203に表示させる。
表示部203は、学習結果または予測結果を表示する。表示部203は、例えば、表示装置などである。
入力部204は、各種の情報を入力する。入力部204は、例えば、キーボード、タッチパネル、またはマウスによって実現される。
図2は、実施例1にかかる情報処理装置100によって実行される処理の一例を示すフローチャートである。まず、第1の抽出部121は、学習データDB104に記憶された学習データから所定の行為を実施する前の状態を有する第1の学習データを特定する。そして、第1の抽出部121は、第1の学習データから、複数の状態の相関と第1の学習データの目的変数の特徴とを示す第1の特徴を抽出する。例えば、図5に示すように、第1の抽出部121は、従業員Xの最新日から所定期間前までの出勤簿データである予測元期間のデータを用いて、第1の特徴量を抽出する。つまり、第1の抽出部121は、第1期間における対象の時系列な第1状態が入力されることによって第1期間の後における対象の第1結果を推定する機械学習モデルから、第1状態の特徴である第1の特徴量を抽出する(S1)。
続いて、第2の抽出部122は、学習データDB104に記憶された学習データから所定の行為を実施する後の状態を有する第2の学習データを特定する。そして、第2の抽出部122は、第2の学習データから、複数の状態の相関と前記第2の学習データの目的変数の特徴とを示す第2の特徴を抽出する。つまり、第2の抽出部122は、第1結果が確定した後の期間を含む第2期間における時系列な第2状態を前記機械学習モデルに入力することにより、第2状態の特徴である第2の特徴量を抽出する。(S2)。
続いて、判定部123は、第1の特徴量と第2の特徴量とに基づいて、第2の学習データの目的変数を変更するか否かを判定する。制御部110は、第2の学習データの目的変数を変更すると判定された場合に、第2の学習データの目的変数の教師ラベルを第1の教師ラベルとは異なる教師ラベルに変更した第3の学習データを生成する。具体的には、判定部123は、第1の特徴量と第2の特徴量との差分が予め設定された閾値以下であるときは、第2の学習データの目的変数を変更した第3の学習データを生成する。つまり、判定部123は、第1の特徴量と第2の特徴量とに基づいて、第2の状態を説明変数とするとともに第1結果の確定した結果を変更した第2結果を目的変数とした学習データを生成する。(S3)。
続いて、実行部124は、第3の学習データの説明変数と第3の学習データの目的変数とのそれぞれを学習させる。このとき、実行部124は、第1の学習データおよび第2の学習データとともに、実行部124は、第3の学習データも学習させる。そして、実行部124は、学習モデルを生成する。実行部124は、説明変数をニューラルネットワークに入力したときの出力結果と目的変数である正解情報との誤差が小さくなるようにニューラルネットワークのパラメータを変更した学習モデルを生成する(S4)。
ここで、端末装置200が、学習モデルに基づいて、複数の状態に対する結果を予測したときの予測結果の出力例を説明する。
図3は、療養ありと予想されるときの出力例を示す図である。図3に示すように、療養ありと予測された場合、端末装置200は、療養ありと予測したことを示す画像を表示部203の画面に表示する。例えば、表示部203は、カウンセリングの必要があることを示す画像を表示する。なお、図3に示すように、端末装置200は、従業員ID、名前、または生年月日等の個人情報とともに、出勤簿データを示すデータIDを表示することもできる。
図4は、療養なしと予想されるときの出力例を示す図である。図4に示すように、療養なしと予測された場合、端末装置200は、療養なしと予測したことを示す画像を表示部203の画面に表示する。例えば、表示部203は、カウンセリングの必要がないことを示す画像を表示する。なお、図4に示すように、端末装置200は、図3に示す出力例と同様に、従業員ID、名前、または生年月日等の個人情報とともに、出勤簿データを示すデータIDを表示することもできる。
[効果]
上述したように、情報処理装置100は、学習モデルの精度を向上させることが可能な学習データを生成することができる。また、情報処理装置100は、所定の行為を実施した後の学習データに教師ラベルを付与する際の教師ラベル付与の精度を高めることができる。
(実施例2)
実施例2では、ディープテンソル(DeepTensor:DT)を用いて、学習データに教師ラベルを付与する方法を説明する。DTは、グラフ構造のデータを深層学習する技術である。つまり、DTは、入力としてグラフ構造を用い、グラフ構造をテンソルデータ(以下では、テンソルと記載する場合がある)に変換する。そして、DTでは、予測に寄与するグラフの部分構造をコアテンソルとして抽出することで、高精度な予測を実現する。言い換えると、コアテンソルは、複数の状態の相関を示す部分パターンであるとともに、学習データのうち予測結果を決定するための特徴を示している。
図5は、所定の行為を実施する前の状態と所定の行為を実施した後の特徴を示すコアテンソルの比較を説明する図である。情報処理装置100は、DTを用いることで、所定の行為を実施する前の状態と所定の行為を実施した後の特徴を示すコアテンソルの変化に基づき、教師ラベルの変更の可否を判定することができる。
まず、情報処理装置100は、過去の複数の学習データを用いて学習モデルを生成する際に、学習データの学習から得られるコアテンソル群を取得する。
次に、情報処理装置100は、学習済みの学習モデルを用いて、最新日から所定時間経過前までの予測元期間の学習データから、最新日から所定時間経過後までの予測先期間の分類結果の予測をする際に生成される、所定行為を実施する前の特徴を示すコアテンソルを取得する。
そして、最新日が予測先期間を経過した後で、情報処理装置100は、最新日から所定時間経過前である予測元期間の学習データにテンソル分解を行って生成される、所定行為を実施した後の特徴を示すコアテンソルを取得する。
さらに、情報処理装置100は、所定行為を実施する前の特徴を示すコアテンソルと各学習時のコアテンソルとの類似度1を算出し、所定行為を実施した後の特徴を示すコアテンソルと各学習時のコアテンソルとの類似度2を算出する。情報処理装置100は、類似度1と類似度2とを比較する。
[ディープテンソルの説明]
ここで、実施例2で用いるディープテンソルについて説明する。ディープテンソルとは、グラフ情報に基づくテンソルを入力とするディープラーニングに関する技術である。ディープテンソルは、ニューラルネットワークを学習させるとともに、予測に寄与する部分グラフ構造(グラフ情報の特徴量)の抽出方法も学習する。この抽出方法の学習は、入力したテンソルに対するテンソル分解のパラメータを最適化することによって実現される。
次に、図6および図7を用いてグラフ構造について説明する。図6は、グラフ構造とテンソルとの関係の一例を示す図である。図6に示すグラフ20は、4つのノードがノード間の関係性(例えば「相関係数が所定値以上」)を示すエッジで結ばれている。なお、エッジで結ばれていないノード間は、当該関係性がないことを示している。グラフ20を2階のテンソル、すなわち行列で表す場合、例えば、ノードの左側の番号に基づく行列表現は、「行列A」で表される。一方、ノードの右側の番号(囲み線で囲んだ数字)に基づく行列表現は、「行列B」で表される。これらの行列の各成分は、ノード間が結ばれている(接続している)場合「1」で表され、ノード間が結ばれていない(接続していない)場合「0」で表される。
以下の説明では、この様な行列を接続行列ともいう。ここで、「行列B」は、「行列A」の2,3行目および2,3列目を同時に置換することで生成できる。ディープテンソルでは、この様な置換処理を用いることで順序の違いを無視して処理を行う。すなわち、「行列A」および「行列B」は、ディープテンソルでは順序性が無視され、同じグラフとして扱われる。なお、3階以上のテンソルについても同様の処理が実行される。
図7は、部分グラフ構造の抽出の一例を示す図である。図7に示すグラフ21は、6つのノードがエッジによって結ばれたものである。グラフ21は、行列(テンソル)で表すと行列22に示すように表現できる。行列22に対して、特定の行および列を入れ替える演算、特定の行および列を抽出する演算、ならびに、接続行列における非ゼロ要素をゼロに置換する演算を組み合わせることで、部分グラフ構造を抽出できる。例えば、行列22の「ノード1,4,5」に対応する行列を抽出すると、行列23となる。次に、行列23の「ノード4,5」間の値をゼロに置換すると、行列24となる。行列24に対応する部分グラフ構造は、グラフ25となる。
このような部分グラフ構造の抽出処理は、テンソル分解と呼ばれる数学的演算によって実現される。テンソル分解とは、入力されたn階テンソルをn階以下のテンソルの積で近似する演算である。例えば、入力されたn階テンソルを1つのn階テンソル(コアテンソルと呼ばれる。)、および、より低階のn個のテンソル(n≧2の場合、通常は2階のテンソル、つまり行列が用いられる。)の積で近似する。この分解は一意ではなく、入力データが表すグラフ構造中の任意の部分グラフ構造をコアテンソルに含めることができる。
なお、出勤簿データは、複数のノードと複数のノードを接続するエッジとから成るグラフデータを構成することができる。ここで、複数のノードは、日付、月度および出欠区分のノードから構成される。日付、月度および出欠区分のノードは、日付、月度および出欠区分の数だけそれぞれ存在する。各ノードには、日付、月度および出欠区分の状況に応じた値が格納される。例えば、日付が1なら値「1」、出欠区分が「休暇」なら値「2」で「出社」なら値「1」などが設定される。エッジは、日付のノードと、月度のノードと、出欠区分のノードのうち関連のあるノードとを接続する。
続いて、ディープテンソルの学習について説明する。図8は、ディープテンソルの学習例を説明する図である。図8に示すように、情報処理装置100は、療養ありなどの教師ラベル(ラベルA)が付された出勤簿データから入力テンソルを生成する。そして、情報処理装置100は、入力テンソルに対してテンソル分解を行い、初回にランダムに生成されたターゲットコアテンソルに類似するようにコアテンソルを生成する。そして、情報処理装置100は、コアテンソルをNNに入力して分類結果(ラベルA:70%、ラベルB:30%)を得る。その後、情報処理装置100は、分類結果(ラベルA:70%、ラベルB:30%)と教師ラベル(ラベルA:100%、ラベルB:0%)との分類誤差を算出する。
ここで、情報処理装置100は、誤差逆伝搬法を拡張した拡張誤差伝搬法を用いて予測モデルの学習およびテンソル分解の方法の学習を実行する。すなわち、情報処理装置100は、NNが有する入力層、中間層、および出力層に対して、分類誤差を下層に伝搬させる形で、分類誤差を小さくするようにNNの各種パラメータを修正する。さらに、情報処理装置100は、分類誤差をターゲットコアテンソルまで伝搬させ、予測に寄与するグラフの部分構造、すなわち体調不良者の特徴を示す特徴パターンもしくは通常者の特徴を示す特徴パターンに近づくように、ターゲットコアテンソルを修正する。
なお、学習後の予測時には、テンソル分解により、ターゲットコアテンソルに類似するように、入力テンソルをコアテンソル(入力テンソルの部分パターン)に変換し、コアテンソルをニューラルネットに入力することで、予測結果を得ることができる。
[機能構成]
図9は、実施例2にかかる情報処理装置100の機能構成を示す機能ブロック図である。図9に示すように、情報処理装置100は、通信部101、記憶部102、および制御部110を有する。
通信部101は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部101は、処理開始指示、学習データ、学習データがテンソル化された入力テンソルなどを受信する。また、通信部101は、学習結果や予測結果などを出力する。
記憶部102は、プログラムやデータを記憶する記憶装置(例えばメモリやハードディスク)によって実現される。記憶部102は、センサデータDB103、学習データDB104、予測対象データDB108、コアテンソルデータDB106、更新用データDB107、および学習結果DB105を記憶する。
センサデータDB103は、従業員等の出勤に関する出勤簿データが記憶されるデータベースである。ここで記憶される出勤簿データは、各企業で使用される出勤簿をデータ化したものであり、公知の様々な出勤管理システムなどから取得することができる。
図10は、センサデータDB103に記憶される情報の一例を示す図である。図10に示すように、センサデータDB103には、「従業員No」、「日付」、「曜日」、「出欠区分」、「出勤時刻」、「退勤時刻」、「残業時間」、および「出張」に関する情報が、互いに対応付けられて記憶されている。なお、「出欠区分」には、出社、療養、休暇などの種別が格納される。また、日付および曜日などは、出勤簿データを構成する要素の一例である。
図10の例は、従業員No.100の従業員の出勤簿データを示している。例えば、図10の2行目は、「2015年4月2日木曜日」の出勤簿データであり、この日は、出張がなく、「8:49」に出社して「0:00」に退社し、残業時間が「360分」である例を示す。また、図10の7行目は、「2015年8月24日水曜日」の出勤簿データであり、この日から「2016年10月1日火曜日」まで「療養」したことを示す。なお、出勤簿データの単位は、日ごとに限らず、週単位や月単位であってもよい。
学習データDB104は、テンソル化対象となる学習データに関する情報を記憶するデータベースである。具体的には、学習データDB104には、学習モデルの学習に利用されるデータであり、出勤簿データを6か月の期間で切出されたデータと、教師ラベルの組となる各学習データとが記憶される。
例えば、6か月の出勤簿データを1つの学習データとし、その後の3か月以内に療養した療養期間がある場合に、教師ラベルとして「療養あり」が設定され、その後の3か月以内に療養期間がない場合に、教師ラベルとして「療養なし」が設定される。なお、教師ラベル「療養あり」が「正例」、教師ラベル「療養なし」が「負例」と記載される場合がある。また、6か月の出勤簿データに療養期間が含まれている場合、そのデータは学習データとして採用しないこともできる。これは、予測時に、予測元のデータ(入力)となる6か月分の出勤簿データにすでに「療養」が入っている従業員は、明らかに直近で療養しているとわかっており、この先3か月の療養予測の対象にはしないためである。
図11は、学習データDB104に記憶される情報の例を示す図である。図11に示すように、学習データDB104には、「従業員」、「データID」、「データ(説明変数)」、および「教師ラベル(目的変数)」に関する情報が互いに対応付けられて記憶されている。ここで記憶される「従業員」は、従業員を特定する識別子であり、「データID」は、学習データを識別する識別子である。このデータIDは、各DBで共通する情報であり、このデータIDにより各DBのデータを関連付けることができる。「データ(説明変数)」は、学習対象となるデータであり、「教師ラベル(目的変数)」は、学習時に目的変数となる情報である。
図11の例では、従業員1(山田太郎)の1月から6月までの出勤簿データには、データIDとして「001」が設定されており、「教師ラベル(目的変数)」として「療養あり」が設定されていることを示している。また、従業員1の2月から7月までの出勤簿データには、データIDとして「002」が設定されており、教師ラベルとして「療養なし」が設定されていることを示している。また、従業員2(鈴木ジェーン)の1月から6月までの出勤簿データには、データIDとして「011」が設定されており、教師ラベルとして「療養なし」が設定されていることを示している。また、従業員2の2月から7月までの出勤簿データには、データIDとして「012」が設定されており、教師ラベルとして「療養なし」が設定されていることを示している。
図12は、学習データの例を説明する図である。ここで、教師ラベルの設定例について詳細に説明する。学習データは、6か月ごとの出勤簿データと、その6か月以降から3か月以内に療養実績があるか否かを示すラベルとから構成される。図12の(a)は、ラベル(療養あり)が付される体調不良者の出勤簿データである。図12の(b)は、療養しなかったラベル(療養なし)が付される通常者の出勤簿データである。図12に示すように、実施例2にかかる情報処理装置100は、「6か月分の出勤簿データ、ラベル(療養あり)」と、「6か月分の出勤簿データ、ラベル(療養なし)」とを学習データとして、予測モデルを学習する。なお、情報処理装置100は、学習後、ある人の6か月分の出勤簿データから3か月以内に療養するか否かを予測する。なお、図12内の網掛けは、休暇を示している。
予測対象データDB108は、学習済みの学習モデルを用いて、療養するか療養しないかを予測する予測対象のデータに関する情報を記憶するデータベースである。予測対象データDB108には、「年度」、「データID」、「従業員」、および「データ」が互いに対応付けられて記憶されている。
ここで記憶される「年度」は、予測対象の出勤簿データの年度を示し、「データID」は、予測対象データを識別する識別子である。「従業員」は、療養の可能性を予測した授業員の識別子であり、「データ」は、学習モデルに入力する対象のデータである。
コアテンソルデータDB106は、各段階で取得されるコアテンソルに関する情報を記憶するデータベースである。具体的には、コアテンソルデータDB106は、学習時のコアテンソル、予測時のコアテンソル、および更新時のコアテンソルの各段階で取得されたコアテンソルのデータを記憶する。
図13は、コアテンソルデータDB106に記憶される情報の例を示す図である。図13に示すように、コアテンソルデータDB106には、複数のデータIDの各々について、「学習時のコアテンソル」、「予測時のコアテンソル」、および「更新時のコアテンソル」が互いに対応付けられ記憶されている。図13に示すように、該当するコアテンソルの欄にはコアテンソルのデータが格納され、該当しない欄には「-」などが設定されている。図13の例では、データID「X」が付与された学習データから、「学習時のコアテンソル」として「コアテンソルX」が生成されたことを示している。
なお、「学習時のコアテンソル」は、学習モデルの学習時に、学習データから生成されるコアテンソルのデータを示している。「予測時のコアテンソル」は、学習済みの学習モデルを用いた予測時に、予測対象データから生成されるコアテンソルのデータを示している。「更新時のコアテンソル」は、学習済みであって更新対象である学習モデルを用いて、予測時の予測が正しいか間違っているかを判定できる時点の出勤簿データから生成される、コアテンソルのデータを示している。
更新用データDB107は、学習済みの学習モデルの更新に利用される更新用の学習データに関する情報が記憶されているデータベースである。すなわち、更新用データDB107には、後述する制御部110によって生成される再学習用の学習データが記憶されている。更新用データDB107には、「データID」、「データ」、「教師ラベル」が互いに対応付けられて記憶されている。ここで記憶される「データID」は、更新用の学習データを識別する識別子である。「データ」は、更新時に説明変数となる出勤簿データである。「教師ラベル」は、更新時に目的変数となる出勤簿データである。
学習結果DB105は、学習結果に関する情報が記憶されているデータベースである。例えば、学習結果DB105には、制御部110による学習データの判別結果(分類結果)、機械学習やディープラーニングによって学習された、NNの各種パラメータ、およびディープテンソルの各種パラメータなどが記憶されている。なお、学習結果DB105には、学習により最適化された各種パラメータが設定された学習済みの学習モデルそのものが記憶されていてもよい。
制御部110は、情報処理装置100全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部110は、学習部111、予測部112、ラベル推定部113、および更新部114を有する。なお、学習部111、予測部112、ラベル推定部113、および更新部114は、プロセッサなどが有する電子回路の一例、またはプロセッサなどが実行するプロセスの一例である。
学習部111は、図8で説明したディープテンソルを用いた深層学習により、ニューラルネットワークを適用した学習モデルの学習を実行する処理部である。具体的には、学習部111は、学習データDB104に記憶される各学習データを読み込み、各学習データのデータを説明変数、教師ラベルを目的変数として、学習モデルの学習を実行する。そして、学習部111は、学習が完了すると、最適化されたニューラルネットワークのパラメータなどを、学習結果として学習結果DB105に格納する。なお、学習部111は、学習が完了すると、最適化されたニューラルネットワークのパラメータなどが設定された学習モデルそのものを、学習結果として学習結果DB105に格納することもできる。
ここで、学習部111は、学習データを学習モデル(NN)に入力する際に、学習データをテンソル化したテンソルデータを生成して入力することで、ディープテンソルを用いた学習処理を実行する。
図14は、テンソル化を説明する図である。図14に示すように、学習部111が生成するテンソルは、横方向に「月度」、縦方向に「日付」、奥行き方向に「出欠区分」を示しており、左側が「出張あり」、右側が「出張なし」のデータを示している。日付は、上から1日目を順に示し、出欠区分は、手前から出社、休暇、および休日を示している。例えば、図14の(a)は、月度1の1日目に出社して出張した要素を示し、図14の(b)は、月度2の1日目に休暇を取得して出張しなかった要素を示している。なお、本実施例では、上述したテンソルを簡略化して図14の(c)のように記載される場合がある。すなわち、テンソルは、月度、日付、出欠区分、出張有無の各要素を重ねたキューブ状で表現され、各月度かつ日付の出張有無が区別して表現され、各月度かつ日付の出欠区分が区別して表現される。
また、学習部111は、各学習データに基づく学習時に、各学習データに対するテンソル分解などにより生成されるコアテンソルを取得する。そして、学習部111は、学習データのIDに対応付けて、取得した各コアテンソルをコアテンソルデータDB106に格納する。すなわち、学習部111は、各学習データに対して「学習時のコアテンソル」を取得する。
例えば、学習部111は、学習データDB104のデータID「4」の学習データ(データ、教師ラベル(療養なし))を読み込み、データ「1月から6月までの出勤簿データ」を説明変数としてNNに入力する。続いて、学習部111は、NNの出力結果と教師ラベル「療養なし」との誤差が小さくなるように、NNの学習を実行する。また、学習部111は、学習時に、当該データ「1月から6月までの出勤簿データ」から生成されるコアテンソルAを取得して、コアテンソルデータDB106に格納する。
予測部112は、学習済みの学習モデルを用いて、各従業員が療養する危険性が高いか否かを予測する処理部である。具体的には、予測部112は、学習モデルの学習が完了すると、学習結果DB105からパラメータ等を取得して、学習済みの学習モデルを構築する。そして、予測部112は、予測対象データDB108から予測対象データを読み込んで、学習時と同様にテンソル化して学習済みの学習モデルに入力し、その出力結果に基づき、療養の可能性を予測して、記憶部102に格納したり、表示部203に出力したりする。
また、予測部112は、各予測対象データに基づく予測時に、各予測対象データに対するテンソル分解などにより生成されるコアテンソルを取得する。そして、予測部112は、予測対象データのIDに対応付けて、取得した各コアテンソルをコアテンソルデータDB106に格納する。すなわち、予測部112は、各予測対象データに対して「予測時のコアテンソル」を取得する。
例えば、予測部112は、予測対象データDB108のデータID「PPP」の予測対象データを読み込み、データ「2019年6月から12月までの出勤簿データ」を学習済みの学習モデル(NN)に入力する。続いて、予測部112は、学習済みの学習モデルの出力結果として、正例(療養あり)である確率と負例(療養なし)である確率とを取得する。そして、予測部112は、各確率のうち高い方の確率を予測結果と決定する。また、予測部112は、予測時に、当該データ「2019年6月から12月までの出勤簿データ」から生成されるコアテンソルPPPを取得して、コアテンソルデータDB106に格納する。なお、予測部112は、予測結果が「正例(療養あり)」である予測対象データについてのみ、コアテンソルを取得して保持することもできる。
ラベル推定部113は、予測時のコアテンソルと更新時のコアテンソルとの変化に基づき、新たな学習データに付与する教師ラベルを推定する処理部である。具体的には、ラベル推定部113は、ある従業員の出勤簿データについて、予測時のコアテンソルと学習時のコアテンソルとの類似度を算出する。また、ラベル推定部113は、更新タイミングである現在のコアテンソルと学習時のコアテンソルとの類似度を算出する。そして、ラベル推定部113は、類似度の比較に基づく教師ラベルを新たな学習データに付与して、更新用データDB107に格納する。
図15は、類似度算出および教師ラベル推定を説明する図である。例えば、従業員Xの出勤簿データを例にして説明する。図15に示すように、予測時(過去)に、予測部112は、従業員Xの最新日から6か月前までの出勤簿データである予測元期間のデータを用いて、最新日から3か月後の予測先期間で、従業員Xが療養するか否かを予測する。このとき、予測部112は、予測元期間のデータに基づくコアテンソルを取得する(S11)。
また、予測部112は、「正例」すなわち「療養する」と予測し、現在の日時が予測した時期を経過すると、各従業員の出勤簿データを参照して、予測が正解であったか否かを判定する。ここでは、予測先期間経過後に、従業員Xが、「療養する」ことなく、通常通りに出社できたとする。この場合、予測時は「正例」だったにも関わらず、正解は「負例」となる。この場合、新たに生成する学習データには教師ラベル「負例」が付与されることが一般的である。しかし、予測が間違っていたのか、従業員Xに対する所定の行為により正解が変化したのかが特定できないため、このまま教師ラベルを付与すると信頼性が低くなる。
そこで、ラベル推定部113は、結果が「正例」ではなく「負例」に変わった従業員Xの出勤簿データのうち、予測先期間経過後の現在の最新日から6か月前までの出勤簿データである新予測元期間のデータからコアテンソルを生成する(S12)。
続いて、ラベル推定部113は、予測時の予測元期間に基づくコアテンソルと、各学習データから生成されたコアテンソル(学習時のコアテンソル)との類似度を、コサイン類似度やk-meansクラスタリング等の手法を用いて算出する(S13)。
例えば、ラベル推定部113は、予測時のコアテンソルと、教師ラベル「正例」が付与された学習データAに基づくコアテンソルAとの類似度「0.9」を算出する。同様に、ラベル推定部113は、予測時のコアテンソルと教師ラベル「正例」が付与された学習データBに基づくコアテンソルBとの類似度「0.8」、予測時のコアテンソルと教師ラベル「負例」が付与された学習データCに基づくコアテンソルCとの類似度「0.7」を算出する。
続いて、ラベル推定部113は、更新時の新予測元期間に基づくコアテンソルと、各学習時のコアテンソルとの類似度を、コサイン類似度やk-meansクラスタリング等の手法を用いて算出する(S14)。
例えば、ラベル推定部113は、更新時のコアテンソルと、教師ラベル「正例」が付与された学習データAに基づくコアテンソルAとの類似度「0.9」を算出する。同様に、ラベル推定部113は、更新時のコアテンソルと教師ラベル「正例」が付与された学習データBに基づくコアテンソルBとの類似度「0.9」、更新時のコアテンソルと教師ラベル「負例」が付与された学習データCに基づくコアテンソルCとの類似度「0.4」を算出する。
その後、ラベル推定部113は、更新時から予測時に対する類似度の差分を算出し、正例に変化しているか、または、負例に変化しているかを判定する。そして、ラベル推定部113は、判定結果に基づき、新予測元期間のデータに付与する教師ラベルを決定する。
具体的には、ラベル推定部113は、負例を根拠に換算することにより、類似度の変化を算出する。例えば、ラベル推定部113は、「正例群」の変化については、「予測時の類似度-更新時の類似度」により差分を算出する。ラベル推定部113は、「負例群」の変化については、「更新時の類似度-予測時の類似度」により差分を算出する。
図15の例で説明すると、ラベル推定部113は、「正例群」について、コアテンソルAに対する類似度の差分「0.9-0.9=0」を算出し、コアテンソルBに対する類似度の差分「0.8-0.9=-0.1」を算出する。また、ラベル推定部113は、「負例群」について、コアテンソルCに対する類似度の差分「0.4-0.7=-0.3」を算出する。そして、ラベル推定部113は、各差分の合計値「0+(-0.1)+(-0.3)=-0.4」が閾値(例えば0.1)より小さいことから、負例から遠ざかっている(正例に近づいている)と判定する。この結果、ラベル推定部113は、新予測元期間のデータに付与する教師ラベルを、実際の結果「負例」ではなく、推定結果「正例」を付与した更新用の学習データを生成する。
なお、類似度の比較は様々な手法によって実行されても良い。例えば、ラベル推定部113は、教師ラベルが「正例」である学習データとの類似度の変化量と、教師ラベルが「負例」である学習データとの類似度の変化量とのうち、変化量が大きい方の教師ラベルを採用することができる。図15の例では、ラベル推定部113は、正例側の変化量として「0+0.1=0.1」を算出し、負例側の変化量として「-0.3」を算出し、値が大きい「正例」を採用する。
また、正例から負例に変化したことの確からしさを判定する場合、学習データのうち「負例」との類似度を算出し、その類似度の変化が閾値以上の場合に「負例」を選択し、閾値未満の場合に「正例」を選択することもできる。
図9に戻り、更新部114は、更新用データDB107に記憶される更新用の学習データを用いて、学習時と同様の手法により、学習済みの学習モデルの更新を実行する処理部である。すなわち、更新部114は、学習済みの学習モデルの再学習を実行する。
例えば、更新部114は、更新用データDB107のデータID「PPP」の学習データ(データ、教師ラベル(療養あり))を読み込み、データ「2019年6月から12月までの出勤簿データ」を学習済みの学習モデル(NN)に入力する。続いて、更新部114は、学習モデルの出力結果と教師ラベル「療養あり」との誤差が小さくなるように、学習モデルの学習を実行する。
なお、更新部114は、再学習が完了すると、最適化されたニューラルネットワークのパラメータ、または、最適化されたニューラルネットワークのパラメータなどが設定された学習モデルを、学習結果として学習結果DB105に格納する。
[処理の流れ]
図16と図17は、処理の流れを示すフローチャートである。図16および図17に示すように、処理開始が指示されるまで(S101:No)、S101を繰り返す。そして、処理開始が指示されると(S101:Yes)、学習部111は、学習データを読み込み(S102)、コアテンソルを生成および保存を実行し(S103)、コアテンソルを用いた学習モデルの学習を実行する(S104)。
そして、学習部111は、学習が終了するまで(S105:No)、S102以降を繰り返す。一方、図16に示すように、学習が終了すると(S105:Yes)、予測部112は、予測対象データを読み込み(S106)、学習時と同様の手法によりテンソル化などを実行して、学習モデルにより予測を実行する(S107)。また、予測部112は、予測時に生成された予測時のコアテンソルを取得して保存する(S108)。
また、予測部112は、予測対象データがなくなるまで(S109:No)、S106以降を繰り返す。一方、図16に示すように、すべての予測対象データに対する予測が終了する(S109:Yes)と、所定期間が経過するまで(S110:No)、S110を繰り返し、所定期間が経過して、予測した日時に到達すると(S110:Yes)、ラベル推定部113は、予測結果が「正例」となった予測対象データ群を抽出し(S111)、実際の結果が「負例」に変化した予測対象データを抽出する(S112)。
そして、ラベル推定部113は、抽出した予測対象データの予測時のコアテンソルと、各学習データの学習時のコアテンソルとの類似度を算出する(S113)。
さらに、ラベル推定部113は、予測結果が変化した従業員の現時点の出勤簿データに基づくコアテンソル(更新時のコアテンソル)を取得し(S114)、更新時のコアテンソルと各学習データの学習時のコアテンソルとの類似度を算出する(S115)。その後、ラベル推定部113は、予測時の類似度と現在(更新時)の類似との差分を算出する(S116)。
そして、ラベル推定部113は、差分が閾値以上である場合(S117:Yes)、教師ラベルを「負例」のまま補正せずに、「負例」の更新用の学習データを生成する(S118)。一方、ラベル推定部113は、差分が閾値未満である場合(S117:No)、教師ラベルを「負例」から「正例」に補正し、「正例」の更新用の学習データを生成する(S119)。
ラベル推定部113は、対象のデータはないときは(S120:Yes)、処理を終了する。一方、対象のデータがあるときは(S120:No)、S112に移行する。
[効果]
上述したように、情報処理装置100は、予測結果に基づいた施策効果を考慮した教師ラベル付与を行い、新たな学習データとして採用することで学習モデル精度を維持できる。情報処理装置100は、インバランスな予測タスクにおいて、希少なサンプルデータ(正例)が損なわれることを防ぐことで学習モデルの精度維持を実現できる。
(実施例1または実施例2と、比較例との違い)
ここで、比較例を用いて、実施例1または実施例2の効果について具体的に説明する。図1および図9に示す情報処理装置100は、従業員の6か月間の出勤簿データを説明変数とし、療養経験がある「正例」または療養経験がない「負例」を示す教師ラベルを目的変数とする各学習データを用いて、6か月間の出勤簿データからその後の3か月以内に療養する可能性があるか否かを予測する学習モデルを学習する。
そして、学習が完了すると、情報処理装置100は、予測対象である従業員の出勤簿データを学習済みの学習モデルに入力して得られる結果に基づき、当該従業員が療養する危険性が高いか否かを予測する。
その後、情報処理装置100は、予測対象である従業員の出勤簿データに対して、実際に療養した、または療養していない、のいずれかを示す結果を教師ラベルとして新たに付与した学習データを生成し、当該学習データを用いて学習モデルを更新する。このようにして、情報処理装置100は、学習モデルを定期的に更新することで、学習モデルによる予測の精度を維持することができる。
続いて、図18に基づいて比較例の処理について説明する。予測時に「正例」と予測された場合、療養しないように施策が行われることが一般的である。そして、その施策の結果、予測とは異なる結果「負例」となることがあるので、実際の結果をそのまま教師ラベルとして付与することは、学習ノイズとなる可能性がある。このため、一般的には、教師ラベルが既知である各学習データと、予測対象データとの類似度を算出し、類似度が最も高い学習データの教師ラベルを予測対象データに付与することで、学習モデルの更新用の学習データを生成することが行われる。
ここでは、ある従業員の出勤簿データを例にして説明する。予測時(過去)に、そのときの最新日から6か月遡った予測元期間の出勤簿データAを学習済みの学習モデルに入力して、「正例」の予測結果を取得する。
そして、「正例」と判定された従業員に対して、カウンセリング等が行われ、3か月後(現在)も、ある従業員は療養することなく出勤できたとする。この場合、元々正例と予測されたにも関わらず、負例となったのは施策によるものか、最初から負例(予測が誤検知)だったのかが不明である。
このため、比較例では、現在の最新日から6か月遡った出勤簿データBを説明変数として抽出し、出勤簿データと、学習に利用された各学習データ(過去データ)との類似度を算出し、類似度にしたがって、設定する教師ラベルを決定する。
例えば、出勤簿データB「出勤、出勤、午前休、午後休」と、教師ラベル「正例」が設定される過去データA「休、休、午前休、午後休」との類似度「2/4」を算出する。同様に、出勤簿データB「出勤、出勤、午前休、午後休」と、教師ラベル「負例」が設定される過去データB「出勤、出勤、午前休、出勤」との類似度「3/4」を算出する。
この結果、過去データBとの類似度の方が高いので、出勤簿データB「出勤、出勤、午前休、午後休」に、過去データBと同様の教師ラベル「負例」を設定した更新用の学習データを生成する。つまり、出勤簿データBと過去データとの間の類似度評価では、負例の過去データBに近いため、結果としては誤検知であった可能性が高まる。このため、新たな学習データとして追加する際は、そのまま負例ラベルが付与される。すなわち、施策効果でなく予測が外れていたと推定される。
ところが、このような単純な類似度比較は、一意にデータ同士を比較しているため、本来の予測タスクに重要な箇所を見逃した教師ラベルの推定となっている可能性が高い。図18は、比較例による教師ラベルの推定の問題点を説明する図である。図18に示すように、健康を損なう重要な箇所は「午前休」と「午後休」が連続で繋がっている箇所であるとする。この場合、単純な類似度比較では負例に近いと評価されたが、重要箇所に注目すると、正例に近いと判断されるべきである。したがって、新たな学習データとして、そのまま負例サンプルとして採用してしまうと、施策効果が考慮されていない異質な学習データとなり、学習精度の低下を招く。
(実施例3)
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[数値等]
また、上記実施例で用いたデータ例、数値、各閾値、教師ラベル数、具体例等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。また、学習モデルには、ニューラルネットワークなど様々なモデルを採用することができる。
[更新用の学習データ]
例えば、上記フローチャート等では、「正例」と予測されたが、実際に「負例」となった予測対象データについて、教師ラベルの補正を行う例を説明したが、これに限定されるものではない。例えば、すべての予測対象データについて、教師ラベルの補正を行うことができる。また、予測結果と実際の結果が異なる予測対象データについてのみ、上記処理を実行することができる。また、予測結果と実際の結果が同じ予測対象データについては、実際の結果をそのまま教師ラベルとして用いた更新用の学習データを生成することができる。なお、実際の結果は、出勤簿データにより特定することができる。
[学習]
上述した学習処理は、任意の回数だけ実行することもできる。例えば、すべての学習データを用いて実行することもでき、所定回数だけ実行することもできる。また、分類誤差の算出方法は、最小二乗法など公知の算出手法を採用することができ、NNで用いられる一般的な算出手法を採用することもできる。なお、学習データや出勤簿データは、外部の装置から取得することもできる。
[想定システム]
上記実施例では、出勤簿データを学習して療養する可能性がある従業員を予測する例で説明したが、これに限定されるものではない。例えば、電子部品の動作データを用いた故障予測、通信データを用いた攻撃予測、道路の交通量データを用いた渋滞予測などにも適用することができる。
[ニューラルネットワーク]
本実施例では、RNN(Recurrent Neural Networks)やCNN(Convolutional Neural Network)など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播法以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値(重み係数)、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
また、ニューラルネットワークにおける学習とは、出力層が正しい値となるように、パラメータ、すなわち、重みとバイアスを修正していくことである。誤差逆伝播法においては、ニューラルネットワークに対して、出力層の値がどれだけ正しい状態(望まれている状態)から離れているかを示す「損失関数(loss function)」を定め、最急降下法等を用いて、損失関数が最小化するように、重みやバイアスの更新が行われる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、学習処理、更新用の学習データの生成処理、更新処理を別々の装置で実現することもできる。
[ハードウェア]
図19は、ハードウェア構成例を説明する図である。図19に示すように、情報処理装置100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、およびプロセッサ100dを有する。また、図19に示した各部は、バス等で相互に接続される。
通信装置100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、図1および図9に示した機能を動作させるプログラムおよびDBを記憶する。
プロセッサ100dは、図1および図9に示した各処理部と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、図6等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、情報処理装置100が有する各処理部と同様の機能を実行する。具体的には、プロセッサ100dは、制御部110、学習部111、予測部112、ラベル推定部113、更新部114、第1の抽出部121、第2の抽出部122、判定部123、実行部124等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、学習部111、予測部112、ラベル推定部113、更新部114等と同様の処理を実行するプロセスを実行する。
このように情報処理装置100は、プログラムを読み出して実行することでデータ生成方法を実行する情報処理装置として動作する。また、情報処理装置100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
図20は、ハードウェア構成例を説明する図である。図20に示すように、端末装置200は、通信装置200a、HDD(Hard Disk Drive)200b、メモリ200c、プロセッサ200d、表示装置200e、入力装置200fを有する。また、図20に示した各部は、バス等で相互に接続される。
通信装置200aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD200bは、図1に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ200dは、図1に示した各処理部と同様の処理を実行するプログラムをHDD200b等から読み出してメモリ200cに展開することで、図1等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、端末装置200が有する各処理部と同様の機能を実行する。具体的には、プロセッサ200dは、制御部202等と同様の機能を有するプログラムをHDD200b等から読み出す。そして、プロセッサ200dは、制御部202等と同様の処理を実行するプロセスを実行する。
このように端末装置200は、プログラムを読み出して実行することでデータ生成方法を実行する情報処理装置として動作する。また、端末装置200は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、端末装置200によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
100 情報処理装置
101 通信部
102 記憶部
103 センサデータDB
104 学習データDB
105 学習結果DB
106 コアテンソルデータDB
107 更新用データDB
108 予測対象データDB
110 制御部
111 学習部
112 予測部
113 ラベル推定部
114 更新部
121 第1の抽出部
122 第2の抽出部
123 判定部
124 実行部
200 端末装置
201 通信部
202 制御部
203 表示部
204 入力部

Claims (9)

  1. コンピュータに、
    第1期間における対象の時系列な第1状態が入力されることによって前記第1期間の後における前記対象の第1結果を推定する機械学習モデルから、前記第1状態の特徴である第1の特徴を取得し、
    前記第1結果が確定した後の期間を含む第2期間における時系列な第2状態を前記機械学習モデルに入力することにより、前記第2状態の特徴である第2の特徴を取得し、
    前記第1の特徴と前記第2の特徴とに基づいて、前記第2状態を説明変数とするとともに前記第1結果の確定した結果を変更した第2結果を目的変数とした学習データを生成する、
    処理を実行させることを特徴とする学習データ生成プログラム。
  2. 前記説明変数をニューラルネットワークに入力したときの出力結果と前記目的変数である正解情報との誤差が小さくなるように前記ニューラルネットワークのパラメータを変更した学習モデルを生成する、
    処理を実行させることを特徴とする請求項1に記載の学習データ生成プログラム。
  3. 対象の複数の状態を示す前記説明変数と、前記複数の状態に対する結果を示す前記目的変数と、を含む学習データのうち、前記対象に対して所定の行為を実施する前の第1の学習データから、前記複数の状態の相関と、前記第1の学習データの前記目的変数の特徴と、を示す前記第1の特徴を抽出し、
    前記学習データのうち、前記対象に対して前記所定の行為を実施した後の第2の学習データから、前記複数の状態の相関と、前記第2の学習データの前記目的変数の特徴と、を示す前記第2の特徴を抽出し、
    前記第1の特徴と前記第2の特徴とに基づいて、前記第2の学習データの前記目的変数を変更するか否かを判定する、
    処理を実行させることを特徴とする請求項1に記載の学習データ生成プログラム。
  4. 前記説明変数は、従業員の出欠区分の状態であって、
    前記目的変数は、前記従業員の療養の有無であって、
    前記所定の行為は、前記従業員に対するカウンセリングである、
    ことを特徴とする請求項3に記載の学習データ生成プログラム。
  5. 前記所定の行為は、教師ラベルが正例である学習データの対象に対して、前記教師ラベルが負例になるようにする行為であることを特徴とする請求項3に記載の学習データ生成プログラム。
  6. 前記第1の特徴を抽出する処理は、
    前記複数の状態の相関を示す部分パターンであるとともに前記第1の学習データのうち予測結果を決定する特徴を有する第1のコアテンソルと、予測結果が特定された学習データの第3のコアテンソルとの第1の類似度を算出する処理を含み、
    前記第2の特徴を抽出する処理は、
    前記複数の状態の相関を示す部分パターンであるとともに前記第2の学習データのうち予測結果を決定する特徴を有する第2のコアテンソルと、前記第3のコアテンソルとの第2の類似度を算出する処理を含み、
    前記判定する処理は、
    前記第1の類似度と前記第2の類似度との差分が予め設定された閾値を超える場合に、前記第2の学習データの前記目的変数の教師ラベルを変更する処理を含むことを特徴とする請求項3に記載の学習データ生成プログラム。
  7. 前記第1の特徴を抽出する処理は、
    学習モデルの学習に利用された、教師ラベルがそれぞれに付与される各学習データに基づいて生成される学習時の複数のコアテンソルを取得し、
    前記第1の学習データから第1のコアテンソルを生成し、
    前記第1のコアテンソルと前記学習時の複数のコアテンソルとの各第1の類似度を算出する処理を含み、
    前記第2の特徴を抽出する処理は、
    学習モデルの学習に利用された、教師ラベルがそれぞれに付与される各学習データに基づいて生成される学習時の複数のコアテンソルを取得し、
    前記第2の学習データから第2のコアテンソルを生成し、
    前記第2のコアテンソルと前記学習時の複数のコアテンソルとの各第2の類似度を算出する処理を含み、
    前記判定する処理は、
    前記各第1の類似度と前記各第2の類似度とに基づき、教師ラベルを決定する処理を含むことを特徴とする請求項3に記載の学習データ生成プログラム。
  8. コンピュータが、
    第1期間における対象の時系列な第1状態が入力されることによって前記第1期間の後における前記対象の第1結果を推定する機械学習モデルから、前記第1状態の特徴である第1の特徴を取得し、
    前記第1結果が確定した後の期間を含む第2期間における時系列な第2状態を前記機械学習モデルに入力することにより、前記第2状態の特徴である第2の特徴を取得し、
    前記第1の特徴と前記第2の特徴とに基づいて、前記第2状態を説明変数とするとともに前記第1結果の確定した結果を変更した第2結果を目的変数とした学習データを生成する
    処理を実行することを特徴とする学習データ生成方法。
  9. 第1期間における対象の時系列な第1状態が入力されることによって前記第1期間の後における前記対象の第1結果を推定する機械学習モデルから、前記第1状態の特徴である第1の特徴を取得する第1の特徴部と、
    前記第1結果が確定した後の期間を含む第2期間における時系列な第2状態を前記機械学習モデルに入力することにより、前記第2状態の特徴である第2の特徴を取得する第2の特徴部と、
    前記第1の特徴と前記第2の特徴とに基づいて、前記第2状態を説明変数とするとともに前記第1結果の確定した結果を変更した第2結果を目的変数として学習データを生成する判定部と
    を有することを特徴とする情報処理装置。
JP2019237904A 2019-12-27 2019-12-27 学習データ生成方法、学習データ生成プログラムおよび情報処理装置 Active JP7409080B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019237904A JP7409080B2 (ja) 2019-12-27 2019-12-27 学習データ生成方法、学習データ生成プログラムおよび情報処理装置
US17/086,485 US11347972B2 (en) 2019-12-27 2020-11-02 Training data generation method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019237904A JP7409080B2 (ja) 2019-12-27 2019-12-27 学習データ生成方法、学習データ生成プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2021105928A JP2021105928A (ja) 2021-07-26
JP7409080B2 true JP7409080B2 (ja) 2024-01-09

Family

ID=76547388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019237904A Active JP7409080B2 (ja) 2019-12-27 2019-12-27 学習データ生成方法、学習データ生成プログラムおよび情報処理装置

Country Status (2)

Country Link
US (1) US11347972B2 (ja)
JP (1) JP7409080B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7331369B2 (ja) * 2019-01-30 2023-08-23 日本電信電話株式会社 異常音追加学習方法、データ追加学習方法、異常度算出装置、指標値算出装置、およびプログラム
JP2022095024A (ja) * 2020-12-16 2022-06-28 キヤノン株式会社 学習データ生成装置、学習データ生成方法及びコンピュータプログラム
US20230196301A1 (en) * 2021-12-22 2023-06-22 Avaya Management L.P. Systems and methods for determining and managing probability of attendance
CN114417889A (zh) * 2022-01-14 2022-04-29 山东新一代信息产业技术研究院有限公司 一种基于seq2seq架构的任务型对话系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142331A1 (ja) 2018-01-19 2019-07-25 株式会社日立製作所 障害予測システムおよび障害予測方法
JP2019212155A (ja) 2018-06-07 2019-12-12 富士通株式会社 学習用データ生成プログラムおよび学習用データ生成方法
JP2019215698A (ja) 2018-06-13 2019-12-19 アズビル株式会社 画像検査支援装置および方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012165517A1 (ja) * 2011-05-30 2012-12-06 日本電気株式会社 確率モデル推定装置、方法、および記録媒体
US10853826B2 (en) * 2012-02-07 2020-12-01 Yeast, LLC System and method for evaluating and optimizing media content
US10496927B2 (en) * 2014-05-23 2019-12-03 DataRobot, Inc. Systems for time-series predictive data analytics, and related methods and apparatus
US10558924B2 (en) * 2014-05-23 2020-02-11 DataRobot, Inc. Systems for second-order predictive data analytics, and related methods and apparatus
US20170371073A1 (en) * 2015-01-30 2017-12-28 Nec Corporation Prediction apparatus, prediction method, and non-transitory storage medium
JP6555015B2 (ja) * 2015-08-31 2019-08-07 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
US20180218380A1 (en) * 2015-09-30 2018-08-02 Nec Corporation Information processing system, information processing method, and information processing program
EP3301675B1 (en) * 2016-09-28 2019-08-21 Panasonic Intellectual Property Corporation of America Parameter prediction device and parameter prediction method for acoustic signal processing
WO2018216629A1 (ja) * 2017-05-22 2018-11-29 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6870527B2 (ja) * 2017-08-04 2021-05-12 富士通株式会社 部品見積もりプログラム、部品見積もりシステム及び部品見積もり方法
JP7124404B2 (ja) 2018-04-12 2022-08-24 富士通株式会社 機械学習プログラム、機械学習方法および機械学習装置
JP6481794B1 (ja) 2018-04-20 2019-03-13 富士通株式会社 学習用データ生成方法、学習用データ生成プログラム
US10388272B1 (en) * 2018-12-04 2019-08-20 Sorenson Ip Holdings, Llc Training speech recognition systems using word sequences
US10573312B1 (en) * 2018-12-04 2020-02-25 Sorenson Ip Holdings, Llc Transcription generation from multiple speech recognition systems
KR102137151B1 (ko) * 2018-12-27 2020-07-24 엘지전자 주식회사 노이즈 캔슬링 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142331A1 (ja) 2018-01-19 2019-07-25 株式会社日立製作所 障害予測システムおよび障害予測方法
JP2019212155A (ja) 2018-06-07 2019-12-12 富士通株式会社 学習用データ生成プログラムおよび学習用データ生成方法
JP2019215698A (ja) 2018-06-13 2019-12-19 アズビル株式会社 画像検査支援装置および方法

Also Published As

Publication number Publication date
US11347972B2 (en) 2022-05-31
US20210201079A1 (en) 2021-07-01
JP2021105928A (ja) 2021-07-26

Similar Documents

Publication Publication Date Title
JP7409080B2 (ja) 学習データ生成方法、学習データ生成プログラムおよび情報処理装置
US11829867B2 (en) Computer-readable recording medium and learning data generation method
JP7063080B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
JP7067235B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
US8149441B2 (en) Expected time to collect a print job
Bosnes et al. Predicting blood donor arrival
JP2019185422A (ja) 故障予知方法、故障予知装置および故障予知プログラム
JP6481794B1 (ja) 学習用データ生成方法、学習用データ生成プログラム
CN111259922A (zh) 基于客户退单预警的订单数据处理方法、装置
JP7063079B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
KR101729283B1 (ko) 목표 달성 진단 장치 및 진단 방법
JP6832329B2 (ja) データ構造
JP7067236B2 (ja) 機械学習用データ生成方法および機械学習用データ生成プログラム
Das et al. Functional regression-based monitoring of quality of service in hospital emergency departments
WO2020223184A1 (en) Analytical model training method for customer experience estimation
US20230008936A1 (en) System and method for adaptive learning for hospital census simulation
JP2021096511A (ja) 学習データ生成方法、学習データ生成プログラムおよび情報処理装置
US11915180B2 (en) Systems and methods for identifying an officer at risk of an adverse event
JP6843109B2 (ja) 医療用のデータ構造
JP2021068163A (ja) 予測プログラム、予測方法及び予測装置
CN116362429B (zh) 基于社区网格信息采集的城域房屋租赁预测方法及系统
US20220108196A1 (en) Improved computer-implemented event forecasting and information provision
CA3136409A1 (en) Systems and methods for automated modeling of service processes
CN114444810A (zh) 基于改进sru模型的可用停车位预测方法
Ravichandran Study and Analysis of Effort Prediction for Software Maintenance Activity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231204

R150 Certificate of patent or registration of utility model

Ref document number: 7409080

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150