JP7067236B2 - 機械学習用データ生成方法および機械学習用データ生成プログラム - Google Patents

機械学習用データ生成方法および機械学習用データ生成プログラム Download PDF

Info

Publication number
JP7067236B2
JP7067236B2 JP2018081906A JP2018081906A JP7067236B2 JP 7067236 B2 JP7067236 B2 JP 7067236B2 JP 2018081906 A JP2018081906 A JP 2018081906A JP 2018081906 A JP2018081906 A JP 2018081906A JP 7067236 B2 JP7067236 B2 JP 7067236B2
Authority
JP
Japan
Prior art keywords
tensor
category
learning
unit
dimension
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
JP2018081906A
Other languages
English (en)
Other versions
JP2019191782A (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 JP2018081906A priority Critical patent/JP7067236B2/ja
Publication of JP2019191782A publication Critical patent/JP2019191782A/ja
Application granted granted Critical
Publication of JP7067236B2 publication Critical patent/JP7067236B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、学習用データ生成方法、学習用データ生成プログラムおよびデータ構造に関する。
グラフ構造のデータを深層学習することが可能なグラフ構造学習技術(以降、このようなグラフ構造学習を行う装置の一形態を「ディープテンソル(DeepTensor:DT)」と呼ぶ。)が知られている。DTは、入力としてグラフ構造を用い、グラフ構造をテンソルデータ(以下では、テンソルと記載する場合がある)として扱う。そして、DTでは、予測に寄与するグラフの部分構造(テンソルの部分パターン)をコアテンソルとして抽出することで、高精度な予測を実現する。
特開平08-329196号公報
しかしながら、上記DTでは、特徴を多次元で示すテンソルのカテゴリを示す次元において、出現頻度の低いカテゴリがいくつかあると、そのカテゴリごとに異なる特徴の部分パターンとして扱われることとなる。このため、出現頻度の低いいくつかのカテゴリが、予測において重要な部分パターンの認識に影響を及ぼすことがあり、予測精度の劣化を招く場合がある。
1つの側面では、予測精度の劣化を抑制することができる学習用データ生成方法、学習用データ生成プログラムおよびデータ構造を提供することを目的とする。
第1の案では、学習用データ生成方法は、コンピュータが、取得する処理と、特定する処理と、生成する処理とを実行する。取得する処理は、予測にかかる対象ごとに、当該対象の特徴を多次元で示す第1のテンソルを取得する。特定する処理は、取得した第1のテンソルのうち、カテゴリを示す次元を特定する。生成する処理は、第1のテンソルについて、特定した次元におけるカテゴリの出現頻度に基づき、出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一した第2のテンソルを生成する。
本発明の1実施態様によれば、予測精度の劣化を抑制することができる。
図1は、実施形態にかかる機械学習の全体例を説明する説明図である。 図2は、訓練データの例を説明する説明図である。 図3は、グラフ構造とテンソルとの関係の一例を示す説明図である。 図4は、部分グラフ構造の抽出の一例を示す説明図である。 図5は、ディープテンソルの学習例を説明する説明図である。 図6は、実施形態にかかる学習装置の機能構成例を示すブロック図である。 図7は、出勤簿データDBに記憶される勤怠情報の例を示す説明図である。 図8は、テンソル化を説明する説明図である。 図9は、統一化を説明する説明図である。 図10は、統一化を説明する説明図である。 図11は、予測に影響を与える部分パターンを識別するコアテンソルの絞り込みを説明する説明図である。 図12は、学習時の処理の一例を示すフローチャートである。 図13は、テンソル化の処理の一例を示すフローチャートである。 図14は、予測時の処理の一例を示すフローチャートである。 図15は、ハードウェア構成例を説明する説明図である。
以下、図面を参照して、実施形態にかかる学習用データ生成方法、学習用データ生成プログラムおよびデータ構造を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する学習用データ生成方法、学習用データ生成プログラムおよびデータ構造は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
近年、従業員の体調管理などは、企業にとっても取り組むべき重要な事項に位置づけられており、従業員の出勤簿データから、数か月先のメンタル不調(療養の有無)を予測し、カウンセリング等の対応を早期に実施することが行われている。一般的には、職場支援スタッフなどの専任スタッフが、膨大な人数の従業員の出勤簿データを閲覧し、頻繁な出張、長時間残業、連続する欠勤、無断欠勤、これらの組合せなどの特徴的なパターンの勤務状態に該当する従業員を目視で探している。このような特徴的なパターンは、各専任スタッフにより基準が異なることもあり、明確に定義することが難しい。
そこで、本実施形態では、ディープテンソルを用いた深層学習の一例として、従業員等の出勤簿データを学習対象とし、体調不良者の出勤簿データおよび通常者の出勤簿データをディープテンソルに入力して従業員のメンタル不調を予測する予測モデルを学習する例を説明する。
[全体例]
図1は、実施形態にかかる機械学習の全体例を説明する説明図である。図1に示すように、学習装置100は、社員の日々の出勤、退勤時間、休暇取得、出張などの状況を含む出勤簿データ203、204を機械学習200して予測モデル201を生成し、学習後の予測モデル201を用いて、予測対象のある社員の出勤簿データ205から、当該社員が療養するか療養しないかを予測するコンピュータ装置の一例である。
具体的には、学習装置100は、療養したことがある体調不良者の出勤簿データ203と、療養したことがない通常者の出勤簿データ204とを正解付きの教師データとして、グラフ構造のデータを深層学習(ディープラーニング・Deep Learning;DL)するディープテンソルによって予測モデル201を生成する。その後、学習結果を適用した予測モデル201を用いて新規なグラフ構造のデータの正確な事象(ラベル)の推定を実現する。具体的には、予測したい人の出勤簿データ205に対して予測モデル201を適用することで、療養する(1)または療養しない(0)とするラベル推定を行う。
ここで、ディープテンソルに入力する訓練データ(教師データ)について説明する。図2は、訓練データの例を説明する図である。図2に示すように、出勤簿データ203は、ラベル(療養)が付される体調不良者の出勤簿データである。また、出勤簿データ204は、療養しなかったラベル(通常)が付される通常者の出勤簿データである。
例えば、学習装置100は、「6か月分の出勤簿データ、ラベル(3か月以内に療養あり)」と、「6か月分の出勤簿データ、ラベル(3か月以内に療養なし)」とを訓練データとして予測モデル201を学習する。学習装置100は、学習後、予測したい人の6か月分の出勤簿データ205から3か月以内に療養するか否かを予測する。
次に、ディープテンソルについて説明する。ディープテンソルとは、テンソル(グラフ情報)を入力とするディープラーニングであり、ニューラルネットワークの学習とともに、判別に寄与する部分グラフ構造を自動的に抽出する。この抽出処理は、ニューラルネットワークの学習とともに、入力テンソルデータのテンソル分解のパラメータを学習することによって実現される。
次に、図3および図4を用いてグラフ構造について説明する。図3は、グラフ構造とテンソルとの関係の一例を示す図である。図3に示すグラフ20は、4つのノードがノード間の関係性(例えば「相関係数が所定値以上」)を示すエッジで結ばれている。なお、エッジで結ばれていないノード間は、当該関係性がないことを示す。グラフ20を2階のテンソル、つまり行列で表す場合、例えば、ノードの左側の番号に基づく行列表現は「行列A」で表され、ノードの右側の番号(囲み線で囲んだ数字)に基づく行列表現は「行列B」で表される。これらの行列の各成分は、ノード間が結ばれている(接続している)場合「1」で表され、ノード間が結ばれていない(接続していない)場合「0」で表される。以下の説明では、この様な行列を接続行列ともいう。ここで、「行列B」は、「行列A」の2,3行目および2,3列目を同時に置換することで生成できる。ディープテンソルでは、この様な置換処理を用いることで順序の違いを無視して処理を行う。すなわち、「行列A」および「行列B」は、ディープテンソルでは順序性が無視され、同じグラフとして扱われる。なお、3階以上のテンソルについても同様の処理となる。
図4は、部分グラフ構造の抽出の一例を示す図である。図4に示すグラフ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階のテンソル、つまり行列が用いられる。)の積で近似する。この分解は一意ではなく、入力データが表すグラフ構造中の任意の部分グラフ構造をコアテンソルに含める事ができる。
続いて、ディープテンソルの学習について説明する。図5は、ディープテンソルの学習例を説明する図である。図5に示すように、学習装置100は、療養ありなどの教師ラベル(ラベルA)が付された出勤簿データ203、204から生成された入力テンソル210を取得する。そして、学習装置100は、入力テンソル210にテンソル分解を行って、初回にランダムに生成されたターゲットコアテンソル211に類似するようにコアテンソル212を生成する。そして、学習装置100は、コアテンソル212をニューラルネットワーク(NN:Neural Network)213に入力して分類結果(ラベルA:70%、ラベルB:30%)を得る。その後、学習装置100は、分類結果(ラベルA:70%、ラベルB:30%)と教師ラベル214(ラベルA:100%、ラベルB:0%)との分類誤差を算出する。
ここで、学習装置100は、誤差逆伝搬法を拡張した拡張誤差伝搬法を用いて予測モデル201の学習およびテンソル分解の方法の学習を実行する。すなわち、学習装置100は、コアテンソル212が有する入力層、中間層、出力層に対して、分類誤差を下層に伝搬させる形で、分類誤差を小さくするようにコアテンソル212の各種パラメータを修正する。さらに、学習装置100は、分類誤差をターゲットコアテンソル211まで伝搬させ、予測に寄与するグラフの部分構造、すなわち療養者の特徴を示す特徴パターンもしくは通常者の特徴を示す特徴パターンに近づくように、ターゲットコアテンソル211を修正する。
このようなディープテンソルによる学習において、学習装置100は、予測にかかる対象ごとに、予め設定された期間の対象者の特徴を多次元で示す複数の要素から成るテンソル(入力テンソル210)を取得する。次いで、学習装置100は、取得した入力テンソル210のうち、カテゴリを示す次元を特定する。次いで、学習装置100は、取得した入力テンソル210について、特定した次元におけるカテゴリの出現頻度に基づき、出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一したテンソルを生成する。次いで、学習装置100は、生成したテンソルをテンソル分解して、ディープテンソルによる学習を実行する。
例えば、学習装置100は、通常者と療養者のそれぞれの出勤簿データ203、204から生成されたテンソルを用いて学習する際に、出欠区分などのカテゴリを示す次元を特定する。そして、学習装置100は、出欠区分における出勤、年次休暇、半休、忌引、妻出産などのカテゴリの出現頻度に基づき、出現頻度が稀なカテゴリのうちの少なくとも2つを一つのカテゴリに統一したテンソルを生成する。このようにすることで、学習装置100は、出現頻度の低い少なくとも2つのカテゴリ(例えば忌引や妻出産)が、予測において重要な部分パターンの認識に影響を及ぼすことを抑止し、予測精度の劣化を抑制することができる。また、出現頻度の低いいくつかのカテゴリが一つの統一カテゴリとして扱われることで、テンソル表現上から要素数を削減することができ、処理時間の向上が見込める。
なお、本実施形態では、出現頻度が稀な忌引、妻出産の2つを一つのカテゴリに統一する場合を例示するが、出現頻度が稀な2つ以上のカテゴリを一つに統一してもよい。例えば、出現頻度が稀な慶事などのカテゴリがある場合は、忌引、妻出産、慶事を一つのカテゴリに統一してもよい。このように、多くのカテゴリを統一する場合は、より処理時間の向上が見込めることとなる。また、出現頻度が稀なカテゴリが多く存在する場合は、いくつかのカテゴリに分類して統一してもよい。例えば、出現頻度が稀な忌引、事故、妻出産、慶事の4つのカテゴリを、忌引、事故などのレア休1と、妻出産、慶事などのレア休2とに分類して統一してもよい。
[機能構成]
図6は、実施形態にかかる学習装置100の機能構成例を示すブロック図である。図6に示すように、学習装置100は、通信部101、記憶部102、制御部110を有する。
通信部101は、他の装置との通信を制御する処理部であり、例えば通信インタフェースである。例えば、通信部101は、管理者の端末から、処理開始指示、訓練データ、訓練データがテンソル化された入力テンソル210、入力テンソル210においてカテゴリを示す次元などの設定情報107等を受信する。また、通信部101は、管理者の端末に対して、学習結果や学習後の予測結果などを出力する。
記憶部102は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部102は、出勤簿データDB103、テンソルDB104、学習結果DB105、予測対象DB106、設定情報107を記憶する。
出勤簿データDB103は、社員等の出勤に関する出勤簿データ(203、204)を記憶するデータベースである。ここで記憶される出勤簿データは、各企業で使用される出勤簿をデータ化したものであり、公知の様々な出勤管理システムなどから取得することができる。
図7は、出勤簿データDB103に記憶される勤怠情報の例を示す説明図である。図7に示すように、出勤簿データDB103は、「従業員No、日時、曜日、出欠区分、休暇理由、出勤時刻、退勤時刻、残業時間、出張(出勤時)、出張(退勤時)、勤務形態」を出勤簿データとして対応付けて記憶する。なお、出欠区分には、出社、療養、年次休暇(年次)、半日休暇(半休)、忌引、妻出産などの種別(カテゴリ)が格納される。また、休暇理由には、疾病などの種別が格納される。また、勤務形態には、一般、フレックス、時短などの種別が格納される。
図7の例は、勤務形態が「一般」である従業員No.100の従業員の出勤簿データを示している。例えば、図7の2行目は、「2015年4月2日木曜日」の出勤簿データであり、この日は、出張がなく、「8:49」に出社して「0:00」に退社し、残業時間が「360分」である例を示す。また、図7の7行目は、「2015年8月24日水曜日」の出勤簿データであり、この日から「2015年10月4日火曜日」まで「療養」したことを示す。
テンソルDB104は、各従業員の出勤簿データから生成された入力テンソル210などの各テンソル(テンソルデータ)を記憶するデータベースである。このテンソルDB104は、各テンソルとラベルとを対応付けた訓練データを記憶する。例えば、テンソルDB104は、「データNo、ラベル」として「テンソルNo.1、ラベル(通常者)」や「テンソルNo.2、ラベル(療養者)」などを記憶する。なお、ここで記憶される各テンソルは、学習装置100以外の別の装置で生成してもよく、学習装置100が生成することもできる。
学習結果DB105は、学習結果を記憶するデータベースである。例えば、学習結果DB105は、制御部110による学習データの判別結果(分類結果)、機械学習やディープラーニングによって学習された、ニューラルネットワーク213の各種パラメータやディープテンソルの各種パラメータなどを記憶する。
予測対象DB106は、学習された予測モデルを用いて、療養の有無を予測する対象(従業員)の出勤簿データ(205)を記憶するデータベースである。例えば、予測対象DB106は、予測対象の出勤簿データ、または、出勤簿データから生成されたテンソルを記憶する。
設定情報107は、ユーザが管理者の端末などを介して予め設定した設定内容を示す。例えば、設定情報107における設定内容には、出勤簿データDB103に含まれる項目(出欠区分、休暇理由、出勤時刻、退勤時刻、…)において、出欠区分などのカテゴリを示す項目の設定などがある。また、設定情報107における設定内容には、出現頻度が所定値以下の複数のカテゴリを一つのカテゴリとして統一する際の、出現頻度の閾値などがある。
制御部110は、学習装置100全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部110は、テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116を有する。なお、テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
テンソル取得部111は、各出勤簿データをテンソル化し、予測にかかる対象(本実施形態では従業員)ごとに、対象の特徴を多次元で示すテンソルを取得する処理部である。
具体的には、テンソル取得部111は、各出勤簿データに含まれる要素(例えば、出張、出欠、残業時間、日付、月度)で構成されるn(n=要素の種別分)階テンソルを生成して、テンソルDB104に格納する。このとき、テンソル取得部111は、ユーザ等から指定されたラベル(療養もしくは通常者)、または、出勤簿データの出欠区分から特定したラベル(療養もしくは通常者)を、テンソルに対応付けて格納する。
例えば、テンソル取得部111は、療養する傾向を特徴づけると想定される各属性を各次元として、出勤簿データからテンソルを生成する。一例として、テンソル取得部111は、月度、日付、出欠区分、出張有無、残業時間の5要素を用いた5次元の5階テンソルを生成する。なお、4か月分のデータである場合は、月度の要素数は「4」、各月の曜日数の最大値が31であることから日付の要素数は「31」、出欠の種類が出勤・年次・半休・忌引・妻出産であることから出欠区分の要素数は「5」、出張はありとなしであることから出張有無の要素数は「2」となる。したがって、出勤簿データから生成されるテンソルは、「4×31×5×2×(残業時間の要素数)」のテンソルとなり、出勤簿データの各月度、日付における出欠区分、出張有無に対応する要素の値が1、そうでない要素の値が0となる。
図8は、テンソル化を説明する図である。図8に示すように、テンソル取得部111が出勤簿データから取得する入力テンソル210は、横方向に月度、縦方向に日付、奥行き方向に出欠区分、左から出張ありのデータで途中から出張なしのデータとなる。なお、残業時間の次元についても同様であるが、紙面で表現可能な次元数の制約上、説明を省略する。日付は、上から1日目を順に示し、出欠区分は、手前から出社、休暇、休日を示す。例えば、要素221は、月度1の1日目に出社して出張した要素を示し、要素222は、月度1の2日目に休暇を取得して出張しなかった要素を示す。
なお、本実施形態では、上述した入力テンソル210を簡略化して図8の下段に示すように記載することとする。すなわち、月度、日付、出欠区分、出張有無、残業時間の各要素を重ねたキューブ状で表現することとし、各月度かつ日付の出張有無を区別して表現し、各月度かつ日付の出欠区分を区別して表現することとする。
特定部112は、テンソル取得部111が各出勤簿データから取得した入力テンソル210のうち、カテゴリを示す次元を特定する処理部である。具体的には、特定部112は、設定情報107を参照し、ユーザが予め設定した出欠区分などのカテゴリを示す項目をもとに、カテゴリを示す次元の特定を行う。
統一化部113は、入力テンソル210について、特定部112が特定した次元における各カテゴリの出現頻度に基づき、出現頻度が所定値以下の複数のカテゴリを一つのカテゴリとして統一する処理部である。
具体的には、統一化部113は、入力テンソル210から特定部112が特定した次元における各カテゴリの出現総数を求める。次いで、統一化部113は、各カテゴリの出現総数の和(全体の総数)と、各カテゴリの出現総数とを比較し、カテゴリごとに全体からの割合を求める。次いで、統一化部113は、設定情報107を参照し、ユーザが予め設定した出現頻度の閾値に対して全体からの割合が低いカテゴリ同士を一つのカテゴリに統一する。
なお、本実施形態では出現頻度について全体からの割合が低いカテゴリを統一する構成を例示するが、統一にかかる出現頻度の条件は全体からの割合に限定しない。例えば、出現数が閾値以下のカテゴリを統一する構成であってもよい。
テンソル生成部114は、統一化部113におけるカテゴリの統一により、入力テンソル210について、出現頻度が所定値以下の複数のカテゴリを一つのカテゴリとして統一したテンソルを生成する。
図9、図10は、統一化を説明する説明図である。なお、図9、10を参照して説明する統一化においては、出勤簿データDB103の出勤簿データにおける出欠区分がカテゴリを示す項目(次元)として特定されているものとする。
図9に示すように、統一化部113は、出勤簿データDB103の出勤簿データにおける出欠区分に対応する次元について、出勤、年次、半休、忌引、妻出産の各カテゴリの出現数を求め、全体からの割合を算出する。次いで、統一化部113は、算出した割合が閾値(例えば10%)に満たない忌引、妻出産のカテゴリを、統一レア休とする一つのカテゴリに統一する。なお、統一化部113は、統一レア休への統一の際に、元の要素(忌引、妻出産)を削除する。
次いで、テンソル生成部114は、図10に示すように、統一化部113におけるカテゴリの統一化により、入力テンソル210の出欠区分における忌引、妻出産を統一レア休に統一化したテンソル210aを生成する。このように、出現頻度が稀なカテゴリを一つのカテゴリに統一したテンソル210aを生成することで、予測において重要な部分パターンの認識に影響を及ぼすことを抑止し、予測精度の劣化を抑制することができる。
図11は、予測に影響を与える部分パターンを識別するコアテンソル212の絞り込みを説明する説明図である。図11に示すように、従業員A、従業員Bは、ともに療養しており、療養のフラグが付与されている。この従業員A特徴を示すテンソル210Aと、従業員Bの特徴を示すテンソル210Bとは、忌引、妻出産という稀に出現するカテゴリによって、別カテゴリとして、すなわち、異なる特徴の部分パターンとして扱われる。このため、コアテンソル212の絞り込みが行われず、重要な部分パターンの認識に影響が生じる。
これに対し、出現頻度が稀なカテゴリ(忌引、妻出産)を同一カテゴリ化して一つのカテゴリ(統一レア休)とする場合は、稀なカテゴリに左右されないように、共通の部分パターン210Eとして扱われる。このように、要素数及び部分パターン数を低減させ、療養などの予測に影響を与える部分パターンを識別するコアテンソル212を絞り込みを行うことで、重要な部分パターンの認識に影響を及ぼすことを抑止できる。
学習部115は、テンソル生成部114より生成されたテンソル210aを入力として、ディープテンソルによる予測モデル201の学習およびテンソル分解の方法の学習を実行する処理部である。具体的には、学習部115は、図5で説明した手法と同様、入力対象のテンソル(テンソル210a)からコアテンソル212を抽出してニューラルネットワーク213に入力し、ニューラルネットワーク213からの分類結果とテンソル210aに付与されているラベルとの誤差(分類誤差)を算出する。そして、学習部115は、分類誤差を用いて、ニューラルネットワーク213のパラメータの学習およびターゲットコアテンソル211の最適化を実行する。その後、学習部115は、学習が終了すると、各種パラメータを学習結果として学習結果DB105に格納する。
例えば、テンソル分解は、ターゲットコアテンソル211に類似するようにコアテンソル212を算出することにより、分類に重要な構造をコアテンソル212の類似の位置に配置する。そして、このコアテンソル212を用いてニューラルネットワーク213を学習することにより、精度の高い分類を実現する。テンソル分解は、2段階の最適化により計算される。第1段階では、与えられたターゲットコアテンソル211を用いて、テンソル210aを最もよく近似するように要素行列のみ最適化される。第2段階では、第1段階で最適化された要素行列を用いて、テンソル210aを最もよく近似するようにコアテンソル212を最適化する。
入力テンソルに重みづけするということは、コアテンソル212作成時の要素行列に数字的な重みづけ(線形の量を変更している)を行っていることになる。コアテンソル212自体は共通(或る部分的な特徴)であるが、その元となるテンソル210aは、コアテンソル212(共通)作成時の要素行列が異なることになる。
予測部116は、学習結果を用いて、判別対象のデータのラベルを予測する処理部である。具体的には、予測部116は、学習結果DB105から各種パラメータを読み出し、各種パラメータを設定したニューラルネットワーク213を構築する。そして、予測部116は、予測対象DB106から予測対象の出勤簿データのテンソルを読み出して、ニューラルネットワーク213の入力層に入力する。次いで、予測部116は、療養または療養しないかの予測結果をニューラルネットワーク213の出力層より出力する。そして、予測部116は、予測結果をディスプレイに表示したり、管理者端末に送信したりする。
なお、予測部116は、学習時と同様の手法で、上述したテンソル取得部111、特定部112、統一化部113およびテンソル生成部114を介して予測対象の出勤簿データのテンソル化を実行することもできる。
[学習の流れ]
図12は、学習時の処理の流れを示すフローチャートである。図12に示すように、処理が開始されると、テンソル取得部111は、出勤簿データを出勤簿データDB103から読み込み(S101)、学習対象の従業員1人を選択する(S102)。次いで、学習装置100では、選択した従業員についての出勤簿データをテンソル化する(S103)。
図13は、テンソル化の処理の一例を示すフローチャートである。図13に示すように、処理が開始されると、テンソル取得部111は、出勤簿データをもとに、出勤簿データに含まれる各要素をテンソル化した入力テンソル210を取得する(S111)。次いで、特定部112は、設定情報107を参照して、入力テンソル210のうち、カテゴリを示す次元を特定する(S112)。
次いで、統一化部113は、入力テンソル210で特定した次元について、頻度の低い複数のイベント(カテゴリ)を1つのイベントとして統一化する(S113)。次いで、テンソル生成部114は、統一化部113により統一化したテンソル210aを生成する(S114)。
S103に次いで、テンソル取得部111は、次の対象となる従業員の有無を判定する(S104)。次の対象となる従業員がいる場合(S104:Yes)、テンソル取得部111は、S102に処理を戻す。次の対象となる従業員がいない場合(S104:No)、学習部115は、生成されたテンソル210aをもとに、学習処理(予測モデル201の生成)を行う(S105)。
[予測の流れ]
図14は、予測時の処理の流れを示すフローチャートである。図14に示すように、処理が開始されると、予測部116は、予測対象DB106から出勤簿データを読み込み(S201)、予測対象の従業員1人を選択する(S202)。
次いで、予測部116は、選択した従業員についての出勤簿データをテンソル化する(S203)。このとき、予測部116は、上述したテンソル取得部111、特定部112、統一化部113およびテンソル生成部114を介し、図13と同様のテンソル化を行ってもよい。
次いで、予測部116は、学習結果DB105に格納されたパラメータに基づく学習済みの予測モデル201を用いて予測を実行し(S204)、療養するまたは療養しないを示す予測結果を記憶部102等に格納する(S205)。
次いで、予測部116は、次の対象となる従業員の有無を判定する(S206)。次の対象となる従業員がいる場合(S206:Yes)、予測部116は、S202に処理を戻す。次の対象となる従業員がいない場合(S204:No)、予測部116は、処理を終了する。
[効果]
上述したように、学習装置100は、予測にかかる対象ごとに、当該対象の特徴を多次元で示す入力テンソル210を取得し、取得した入力テンソル210のうち、カテゴリを示す次元を特定する。また、学習装置100は、入力テンソル210について、特定した次元におけるカテゴリの出現頻度に基づき、出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一したテンソル210aを生成する。このように、出現頻度が稀なカテゴリを一つのカテゴリに統一したテンソル210aを生成することで、予測において重要な部分パターンの認識に影響を及ぼすことを抑止し、予測精度の劣化を抑制することができる。例えば、出勤簿データから従業員のメンタル不調(療養の有無)を予測する場合において、出現頻度が所定値以下のカテゴリを統一することで、メンタル不調の予測精度の劣化を抑制することができる。
[学習]
上述した学習処理は、任意の回数だけ実行することもできる。例えば、すべての訓練データを用いて実行することもでき、所定回数だけ実行することもできる。また、分類誤差の算出方法は、最小二乗法など公知の算出手法を採用することができ、ニューラルネットワーク213で用いられる一般的な算出手法を採用することもできる。
[想定システム]
上記実施例では、予測の対象を従業員とし、出勤簿データ203、204を学習して療養する可能性がある従業員を予測する例で説明したが、これに限定されるものではない。例えば、電子部品の動作データを用いた故障予測、通信データを用いた攻撃予測、道路の交通量データを用いた渋滞予測など、従業員以外の他の予測対象にも適用することができる。
また、上記実施例では、学習時、出勤簿データから自動で6か月や3か月の期間抽出の上、「療養あり」「療養なし」のラベルを付与し学習する例を説明したが、これに限定されるものではない。例えば、ユーザによりあらかじめ期間抽出やラベルが付与されている場合は、与えられたデータや付与済みのラベルを使用することもできる。また、ラベルの設定例も一例であり、療養ありと療養なしに限らず、体調不良者と通常者、休職ありと休職なしなどのように、体調不良者の有無を区別できる様々なラベルを用いることもできる。
また、6か月の出勤簿データを予測に用いるデータとして使用したが、これに限定されるものではなく、4か月など任意に変更することができる。また、6か月の出勤簿データに対して、その後3か月以内に療養したか否かによってラベルを付与する例を説明したが、これに限定されるものではなく、2か月以内など任意に変更することができる。また、上記実施例では、学習装置100が出勤簿データをテンソル化する例を説明したが、他の装置がテンソル化したデータを取得して上記各処理を実行することもできる。
[ニューラルネットワーク]
本実施例では、RNNやCNN(Convolutional Neural Network)など様々なニューラルネットワークを用いることができる。また、学習の手法も、誤差逆伝播以外にも公知の様々な手法を採用することができる。また、ニューラルネットワークは、例えば入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値(重み係数)、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
また、ニューラルネットワークにおける学習とは、出力層が正しい値となるように、パラメータ、すなわち、重みとバイアスを修正していくことである。誤差逆伝播法においては、ニューラルネットワークに対して、出力層の値がどれだけ正しい状態(望まれている状態)から離れているかを示す「損失関数(loss function)」を定め、最急降下法等を用いて、損失関数が最小化するように、重みやバイアスの更新が行われる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図15は、ハードウェア構成例を説明する図である。図15に示すように、学習装置100は、通信装置100a、HDD(Hard Disk Drive)100b、メモリ100c、プロセッサ100dを有する。また、図15に示した各部は、バス等で相互に接続される。
通信装置100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、図6に示した機能部(テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116)を動作させるプログラムを記憶する。また、HDD100bは、プログラムの実行により参照される各種情報(出勤簿データDB103、テンソルDB104、学習結果DB105、予測対象DB106および設定情報107)を記憶する。
プロセッサ100dは、図6に示した各機能部(テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116)と同様の処理を実行するプログラムをHDD100b等から読み出してメモリ100cに展開することで、各機能部を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置100が有する各機能部(テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116)と同様の機能を実行する。具体的には、プロセッサ100dは、テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116等と同様の機能を有するプログラムをHDD100b等から読み出す。そして、プロセッサ100dは、テンソル取得部111、特定部112、統一化部113、テンソル生成部114、学習部115および予測部116等と同様の処理を実行するプロセスを実行する。
このように、学習装置100は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記の実施形態と同様の機能を実現することもできる。なお、プログラムは、上記の学習装置100によって実行されることに限定されるものではない。例えば、他のコンピュータ、サーバ、または、クラウドコンピュータがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、同様に適用することができる。
また、このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが、
予測にかかる対象ごとに、当該対象の特徴を多次元で示す第1のテンソルを取得し、
取得した前記第1のテンソルのうち、カテゴリを示す次元を特定し、
前記第1のテンソルについて、特定した前記次元における前記カテゴリの出現頻度に基づき、当該出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一した第2のテンソルを生成する、
処理を実行することを特徴とする学習用データ生成方法。
(付記2)前記コンピュータが、
前記第2のテンソルを入力テンソルデータとしてテンソル分解して、ニューラルネットワークに入力し、前記ニューラルネットワークの深層学習を実行する、
処理をさらに実行することを特徴とする付記1に記載の学習用データ生成方法。
(付記3)前記コンピュータが、
前記テンソル分解時に、ランダムに生成されたターゲットコアテンソルと類似するように生成されたコアテンソルを、前記ニューラルネットワークに入力して出力された出力値と教師ラベルとの誤差を算出し、
前記誤差を用いて、前記誤差が小さくなるように前記ニューラルネットワークを学習するとともに、前記教師ラベルの特徴を表すように前記ターゲットコアテンソルを更新する、
処理をさらに実行することを特徴とする付記2に記載の学習用データ生成方法。
(付記4)前記第1のテンソルは、従業員ごとに、当該従業員の出勤簿データにおける月度、日付、出欠区分を少なくとも各次元とするテンソルであり、
前記生成する処理は、前記出欠区分の次元において前記出現頻度が所定値以下の区分を一つの区分として統一する、
ことを特徴とする付記1乃至3のいずれか一に記載の学習用データ生成方法。
(付記5)コンピュータに、
予測にかかる対象ごとに、当該対象の特徴を多次元で示す第1のテンソルを取得し、
取得した前記第1のテンソルのうち、カテゴリを示す次元を特定し、
前記第1のテンソルについて、特定した前記次元における前記カテゴリの出現頻度に基づき、当該出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一した第2のテンソルを生成する、
処理を実行させることを特徴とする学習用データ生成プログラム。
(付記6)前記コンピュータに、
前記第2のテンソルを入力テンソルデータとしてテンソル分解して、ニューラルネットワークに入力し、前記ニューラルネットワークの深層学習を実行する、
処理をさらに実行させることを特徴とする付記5に記載の学習用データ生成プログラム。
(付記7)前記コンピュータに、
前記テンソル分解時に、ランダムに生成されたターゲットコアテンソルと類似するように生成されたコアテンソルを、前記ニューラルネットワークに入力して出力された出力値と教師ラベルとの誤差を算出し、
前記誤差を用いて、前記誤差が小さくなるように前記ニューラルネットワークを学習するとともに、前記教師ラベルの特徴を表すように前記ターゲットコアテンソルを更新する、
処理をさらに実行させることを特徴とする付記6に記載の学習用データ生成プログラム。
(付記8)前記第1のテンソルは、従業員ごとに、当該従業員の出勤簿データにおける月度、日付、出欠区分を少なくとも各次元とするテンソルであり、
前記生成する処理は、前記出欠区分の次元において前記出現頻度が所定値以下の区分を一つの区分として統一する、
ことを特徴とする付記5乃至7のいずれか一に記載の学習用データ生成プログラム。
(付記9)予測にかかる対象ごとに、当該対象の特徴を多次元で示す第1のテンソルのうち、カテゴリを示す次元について前記カテゴリの出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを1つのカテゴリとして統一した第2のテンソルと、前記第2のテンソルに付与された正解情報とを含み、
前記第2のテンソルと前記正解情報とを学習データとして、ニューラルネットワークの入力層に入力されることにより、演算結果を示す出力値を前記ニューラルネットワークの出力層から出力させ、正解情報と前記出力値との比較に基づく学習を行う、
処理をコンピュータに実行させることを特徴とするデータ構造。
20、21、25…グラフ
22~24…行列
100…学習装置
100a…通信装置
100b…HDD
100c…メモリ
100d…プロセッサ
101…通信部
102…記憶部
103…出勤簿データDB
104…テンソルDB
105…学習結果DB
106…予測対象DB
107…設定情報
110…制御部
111…テンソル取得部
112…特定部
113…統一化部
114…テンソル生成部
115…学習部
116…予測部
200…機械学習
201…予測モデル
203~205…出勤簿データ
210…入力テンソル
210a、210A~210D…テンソル
210E…部分パターン
211…ターゲットコアテンソル
212…コアテンソル
213…ニューラルネットワーク
214…教師ラベル
221、222…要素

Claims (5)

  1. コンピュータが、
    予測にかかる対象ごとに、当該対象の特徴を多次元で示す第1のテンソルを取得し、
    取得した前記第1のテンソルのうち、複数の項目において設定情報に基づいてカテゴリを示す次元を特定し、
    前記第1のテンソルについて、特定した前記次元における前記カテゴリの出現頻度に基づき、当該出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一した機械学習に用いる第2のテンソルを生成する、
    処理を実行することを特徴とする機械学習用データ生成方法。
  2. 前記コンピュータが、
    前記第2のテンソルを入力テンソルデータとしてテンソル分解して、ニューラルネットワークに入力し、前記ニューラルネットワークの深層学習を実行する、
    処理をさらに実行することを特徴とする請求項1に記載の機械学習用データ生成方法。
  3. 前記コンピュータが、
    前記テンソル分解時に、ランダムに生成されたターゲットコアテンソルと類似するように生成されたコアテンソルを、前記ニューラルネットワークに入力して出力された出力値と教師ラベルとの誤差を算出し、
    前記誤差を用いて、前記誤差が小さくなるように前記ニューラルネットワークを学習するとともに、前記教師ラベルの特徴を表すように前記ターゲットコアテンソルを更新する、
    処理をさらに実行することを特徴とする請求項2に記載の機械学習用データ生成方法。
  4. 前記第1のテンソルは、従業員ごとに、当該従業員の出勤簿データにおける月度、日付、出欠区分を少なくとも各次元とするテンソルであり、
    前記生成する処理は、前記出欠区分の次元において前記出現頻度が所定値以下の区分を一つの区分として統一する、
    ことを特徴とする請求項1乃至3のいずれか一項に記載の機械学習用データ生成方法。
  5. コンピュータに、
    予測にかかる対象ごとに、当該対象の特徴を多次元で示す第1のテンソルを取得し、
    取得した前記第1のテンソルのうち、複数の項目において設定情報に基づいてカテゴリを示す次元を特定し、
    前記第1のテンソルについて、特定した前記次元における前記カテゴリの出現頻度に基づき、当該出現頻度が所定値以下の複数のカテゴリのうちの少なくとも2つを一つのカテゴリとして統一した機械学習に用いる第2のテンソルを生成する、
    処理を実行させることを特徴とする機械学習用データ生成プログラム。
JP2018081906A 2018-04-20 2018-04-20 機械学習用データ生成方法および機械学習用データ生成プログラム Active JP7067236B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018081906A JP7067236B2 (ja) 2018-04-20 2018-04-20 機械学習用データ生成方法および機械学習用データ生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018081906A JP7067236B2 (ja) 2018-04-20 2018-04-20 機械学習用データ生成方法および機械学習用データ生成プログラム

Publications (2)

Publication Number Publication Date
JP2019191782A JP2019191782A (ja) 2019-10-31
JP7067236B2 true JP7067236B2 (ja) 2022-05-16

Family

ID=68390363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018081906A Active JP7067236B2 (ja) 2018-04-20 2018-04-20 機械学習用データ生成方法および機械学習用データ生成プログラム

Country Status (1)

Country Link
JP (1) JP7067236B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818196B (zh) * 2019-11-18 2023-12-22 香港科技大学 基于电子学习平台的数据处理方法、设备、电子装置及存储介质
CN111276183B (zh) * 2020-02-25 2023-03-21 云南大学 一种基于参数估计的张量分解处理海量基因序列的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059433A (ja) 2006-09-01 2008-03-13 Fujitsu Ltd 属性間の部分関係抽出する装置、方法、及びプログラム
JP2018013922A (ja) 2016-07-20 2018-01-25 株式会社リコー 情報処理装置、情報処理プログラム及び情報処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059433A (ja) 2006-09-01 2008-03-13 Fujitsu Ltd 属性間の部分関係抽出する装置、方法、及びプログラム
JP2018013922A (ja) 2016-07-20 2018-01-25 株式会社リコー 情報処理装置、情報処理プログラム及び情報処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丸橋 弘治,研究開発最前線 人やモノのつながりを表すグラフデータから新たな知見を導く新技術Deep Tensor,FUJITSU,日本,富士通株式会社,2017年09月01日, Vol.68 No.5,p. 29-35

Also Published As

Publication number Publication date
JP2019191782A (ja) 2019-10-31

Similar Documents

Publication Publication Date Title
JP7063080B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
Fong et al. Composite Monte Carlo decision making under high uncertainty of novel coronavirus epidemic using hybridized deep learning and fuzzy rule induction
JP7067235B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
JP6562121B1 (ja) 学習用データ生成プログラムおよび学習用データ生成方法
Petropoulos et al. ‘Horses for Courses’ in demand forecasting
Nsoesie et al. A simulation optimization approach to epidemic forecasting
JP6481794B1 (ja) 学習用データ生成方法、学習用データ生成プログラム
Ellner et al. Fitting population dynamic models to time‐series data by gradient matching
JP7063079B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
KR101701954B1 (ko) 인구통계 시뮬레이션 방법
US11347972B2 (en) Training data generation method and information processing apparatus
Arnold et al. Forecasting mortality trends allowing for cause-of-death mortality dependence
van Benthem et al. Disentangling evolutionary, plastic and demographic processes underlying trait dynamics: a review of four frameworks
JP7067236B2 (ja) 機械学習用データ生成方法および機械学習用データ生成プログラム
Vindenes et al. Integral projection models for finite populations in a stochastic environment
US11836580B2 (en) Machine learning method
Bartz-Beielstein et al. Optimization and adaptation of a resource planning tool for hospitals under special consideration of the COVID-19 pandemic
JP2020047079A (ja) 学習プログラム、学習方法および学習装置
JP6843109B2 (ja) 医療用のデータ構造
JP7451935B2 (ja) 予測プログラム、予測方法及び予測装置
JP2021096511A (ja) 学習データ生成方法、学習データ生成プログラムおよび情報処理装置
Abdallah et al. A data mining framework for the analysis of patient arrivals into healthcare centers
Zhang et al. Epidemic spreading combined with age and region in complex networks
Templ et al. Synthetic data
Yule et al. The puzzle of North America's Late Pleistocene megafaunal extinction patterns: Test of new explanation yields unexpected results

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220310

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: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R150 Certificate of patent or registration of utility model

Ref document number: 7067236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150