IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社荏原製作所の特許一覧 ▶ 国立大学法人福井大学の特許一覧

<>
  • 特開-機械学習方法及び機械学習装置 図1
  • 特開-機械学習方法及び機械学習装置 図2
  • 特開-機械学習方法及び機械学習装置 図3
  • 特開-機械学習方法及び機械学習装置 図4
  • 特開-機械学習方法及び機械学習装置 図5
  • 特開-機械学習方法及び機械学習装置 図6
  • 特開-機械学習方法及び機械学習装置 図7
  • 特開-機械学習方法及び機械学習装置 図8
  • 特開-機械学習方法及び機械学習装置 図9
  • 特開-機械学習方法及び機械学習装置 図10
  • 特開-機械学習方法及び機械学習装置 図11
  • 特開-機械学習方法及び機械学習装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023174361
(43)【公開日】2023-12-07
(54)【発明の名称】機械学習方法及び機械学習装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20231130BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022087178
(22)【出願日】2022-05-27
(71)【出願人】
【識別番号】000000239
【氏名又は名称】株式会社荏原製作所
(71)【出願人】
【識別番号】504145320
【氏名又は名称】国立大学法人福井大学
(74)【代理人】
【識別番号】100214248
【弁理士】
【氏名又は名称】青山 純
(74)【代理人】
【識別番号】100214260
【弁理士】
【氏名又は名称】相羽 昌孝
(72)【発明者】
【氏名】高東 智佳子
(72)【発明者】
【氏名】中村 由美子
(72)【発明者】
【氏名】杉山 和彦
(72)【発明者】
【氏名】本田 知己
(57)【要約】
【課題】機械学習による学習モデルの性能を向上させることを可能とする機械学習方法を提供する。
【解決手段】機械学習方法は、所定の期間における各時点のデータで構成されるデータセットを用いて学習モデルの機械学習を行う。機械学習方法は、期間を学習期間と検証期間とに区分し、データセットを学習データと検証データとに分割するデータセット分割処理と、学習候補期間を複数の分割学習期間に区分する学習候補期間区分処理と、分割学習期間に対応する学習データを用いて分割学習期間毎の学習期間評価モデルを生成し、検証データを用いて分割学習期間毎の学習期間評価モデルの評価指標を算出する学習期間評価処理と、学習候補期間区分処理及び学習期間評価処理を、所定の終了条件を満たすまで繰り返し行い、終了条件を満たすとき、評価指標が高い分割学習期間を学習対象期間に選定する学習期間選定処理と、学習対象期間に対応する学習データを用いて機械学習が行われた学習モデルを出力するモデル出力処理とを行う。
【選択図】 図1
【特許請求の範囲】
【請求項1】
コンピュータにより、所定の期間において所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成されるデータセットを用いて学習モデルの機械学習を行う機械学習方法であって、
前記期間を学習期間と検証期間とに区分し、前記学習期間を初期の学習候補期間に設定するとともに、前記データセットを、前記学習期間に対応する学習データと、前記検証期間に対応する検証データとに分割するデータセット分割処理と、
前記学習候補期間を複数の分割学習期間に区分する学習候補期間区分処理と、
前記分割学習期間に対応する前記学習データを用いて前記学習モデルの機械学習を前記分割学習期間毎に行うことで前記分割学習期間毎の学習期間評価モデルを生成し、前記検証データを用いて前記分割学習期間毎の前記学習期間評価モデルの検証をそれぞれ行うことで前記学習期間評価モデルの評価指標を前記分割学習期間毎に算出する学習期間評価処理と、
前記学習候補期間区分処理及び前記学習期間評価処理を、所定の終了条件を満たすまで、前記評価指標が高い前記分割学習期間を次の前記学習候補期間に設定して繰り返し行うとともに、前記終了条件を満たすとき、前記評価指標が高い前記分割学習期間を学習対象期間に選定する学習期間選定処理と、
前記学習対象期間に対応する前記学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力するモデル出力処理と、を行う、
機械学習方法。
【請求項2】
コンピュータにより、所定の期間において所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成されるデータセットを用いて学習モデルの機械学習を行う機械学習方法であって、
前記期間を学習期間と検証期間とに区分し、前記学習期間を初期の学習候補期間に設定するとともに、前記データセットを、前記学習期間に対応する学習データと、前記検証期間に対応する検証データとに分割するデータセット分割処理と、
前記学習期間を複数のサブ学習期間に区分し、前記学習データを複数の前記サブ学習期間に対応する複数のサブ学習データに分割する学習データ分割処理と、
前記学習候補期間に含まれる複数の前記サブ学習期間を複数の分割学習期間に区分する学習候補期間区分処理と、
前記分割学習期間に含まれる前記サブ学習期間に対応する前記サブ学習データを用いて前記学習モデルの機械学習を前記分割学習期間毎に行うことで前記分割学習期間毎の学習期間評価モデルを生成し、前記検証データを用いて前記分割学習期間毎の前記学習期間評価モデルの検証をそれぞれ行うことで前記学習期間評価モデルの評価指標を前記分割学習期間毎に算出する学習期間評価処理と、
前記学習候補期間区分処理及び前記学習期間評価処理を、所定の終了条件を満たすまで、前記評価指標が高い前記分割学習期間を次の前記学習候補期間に設定して繰り返し行うとともに、前記終了条件を満たすとき、前記評価指標が高い前記分割学習期間に含まれる前記サブ学習期間を学習対象期間に選定する学習期間選定処理と、
前記学習対象期間に対応する前記サブ学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力するモデル出力処理と、を行う、
機械学習方法。
【請求項3】
前記学習対象期間を除く前記学習期間を複数のサブ学習期間に区分し、前記学習対象期間に対応する前記学習データを除く前記学習データを前記複数の前記サブ学習期間に対応する複数のサブ学習データに分割する学習データ分割処理と、
複数の前記サブ学習データの各々を用いて前記学習済みモデルの検証をそれぞれ行うことで前記学習済みモデルの評価指標を前記サブ学習期間毎に算出し、前記学習済みモデル
の前記評価指標が所定の追加条件を満たす前記サブ学習期間を追加対象期間に選定する追加期間選定処理とをさらに行い、
前記モデル出力処理は、
前記学習対象期間及び前記追加対象期間の少なくとも一方に対応する前記学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力する、
請求項1に記載の機械学習方法。
【請求項4】
前記学習対象期間に対応する前記サブ学習データを除く複数の前記サブ学習データの各々を用いて前記学習済みモデルの検証をそれぞれ行うことで前記学習済みモデルの評価指標を前記サブ学習期間毎に算出し、前記学習済みモデルの前記評価指標が所定の追加条件を満たす前記サブ学習期間を追加対象期間に選定する追加期間選定処理をさらに行い、
前記モデル出力処理は、
前記学習対象期間及び前記追加対象期間の少なくとも一方に対応する前記サブ学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力する、
請求項2に記載の機械学習方法。
【請求項5】
前記学習候補期間区分処理は、
複数の前記分割学習期間の各々が前記学習候補期間の時系列において離散的な期間をそれぞれ含むように、前記学習候補期間を複数の前記分割学習期間に区分する、
請求項1に記載の機械学習方法。
【請求項6】
前記学習候補期間区分処理は、
複数の前記分割学習期間の各々が前記学習候補期間の時系列において離散的な期間をそれぞれ含むように、複数の前記サブ学習期間における時系列をランダムにして複数の前記分割学習期間に区分する、
請求項2に記載の機械学習方法。
【請求項7】
前記データセット分割処理は、
前記期間を前記学習期間と前記検証期間とに区分する際、前記検証期間を前記期間の時系列において離散的に設定する、
請求項1乃至請求項6のいずれか一項に記載の機械学習方法。
【請求項8】
所定の期間において所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成されるデータセットを用いて学習モデルの機械学習を行う機械学習部を備える機械学習装置であって、
前記機械学習部は、
前記期間を学習期間と検証期間とに区分し、前記学習期間を初期の学習候補期間に設定するとともに、前記データセットを、前記学習期間に対応する学習データと、前記検証期間に対応する検証データとに分割するデータセット分割処理と、
前記学習候補期間を複数の分割学習期間に区分する学習候補期間区分処理と、
前記分割学習期間に対応する前記学習データを用いて前記学習モデルの機械学習を前記分割学習期間毎に行うことで前記分割学習期間毎の学習期間評価モデルを生成し、前記検証データを用いて前記分割学習期間毎の前記学習期間評価モデルの検証をそれぞれ行うことで前記学習期間評価モデルの評価指標を前記分割学習期間毎に算出する学習期間評価処理と、
前記学習候補期間区分処理及び前記学習期間評価処理を、所定の終了条件を満たすまで、前記評価指標が高い前記分割学習期間を次の前記学習候補期間に設定して繰り返し行うとともに、前記終了条件を満たすとき、前記評価指標が高い前記分割学習期間を学習対象期間に選定する学習期間選定処理と、
前記学習対象期間に対応する前記学習データを用いて機械学習が行われた前記学習モ
デルを、学習済みモデルとして出力するモデル出力処理と、を行う、
機械学習装置。
【請求項9】
所定の期間において所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成されるデータセットを用いて学習モデルの機械学習を行う機械学習部を備える機械学習装置であって、
前記機械学習部は、
前記期間を学習期間と検証期間とに区分し、前記学習期間を初期の学習候補期間に設定するとともに、前記データセットを、前記学習期間に対応する学習データと、前記検証期間に対応する検証データとに分割するデータセット分割処理と、
前記学習期間を複数のサブ学習期間に区分し、前記学習データを複数の前記サブ学習期間に対応する複数のサブ学習データに分割する学習データ分割処理と、
前記学習候補期間に含まれる複数の前記サブ学習期間を複数の分割学習期間に区分する学習候補期間区分処理と、
前記分割学習期間に含まれる前記サブ学習期間に対応する前記サブ学習データを用いて前記学習モデルの機械学習を前記分割学習期間毎に行うことで前記分割学習期間毎の学習期間評価モデルを生成し、前記検証データを用いて前記分割学習期間毎の前記学習期間評価モデルの検証をそれぞれ行うことで前記学習期間評価モデルの評価指標を前記分割学習期間毎に算出する学習期間評価処理と、
前記学習候補期間区分処理及び前記学習期間評価処理を、所定の終了条件を満たすまで、前記評価指標が高い前記分割学習期間を次の前記学習候補期間に設定して繰り返し行うとともに、前記終了条件を満たすとき、前記評価指標が高い前記分割学習期間に含まれる前記サブ学習期間を学習対象期間に選定する学習期間選定処理と、
前記学習対象期間に対応する前記サブ学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力するモデル出力処理と、を行う、
機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習方法及び機械学習装置に関する。
【背景技術】
【0002】
従来、データセットに対して機械学習を行う際、交差検証(クロスバリデーション)と呼ばれる手法が用いられている。交差検証は、データセットを学習データと検証データとに分割し、学習データを用いて学習モデルの機械学習を行い、検証データを用いて機械学習が行われた学習モデルの性能を評価するものである(例えば、特許文献1、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-003408号公報
【特許文献2】特開2019-061565号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
交差検証を用いた際に、学習データ内に、例えば、他のデータと特徴が著しく異なるような特異なデータが含まれていた場合、その特異なデータの影響により学習モデルの性能が低下する可能性があった。
【0005】
本発明は、上述した課題に鑑みてなされたものであって、機械学習による学習モデルの性能を向上させることを可能とする機械学習方法及び機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様に係る機械学習方法は、
コンピュータにより、所定の期間において所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成されるデータセットを用いて学習モデルの機械学習を行う機械学習方法であって、
前記期間を学習期間と検証期間とに区分し、前記学習期間を初期の学習候補期間に設定するとともに、前記データセットを、前記学習期間に対応する学習データと、前記検証期間に対応する検証データとに分割するデータセット分割処理と、
前記学習候補期間を複数の分割学習期間に区分する学習候補期間区分処理と、
前記分割学習期間に対応する前記学習データを用いて前記学習モデルの機械学習を前記分割学習期間毎に行うことで前記分割学習期間毎の学習期間評価モデルを生成し、前記検証データを用いて前記分割学習期間毎の前記学習期間評価モデルの検証をそれぞれ行うことで前記学習期間評価モデルの評価指標を前記分割学習期間毎に算出する学習期間評価処理と、
前記学習候補期間区分処理及び前記学習期間評価処理を、所定の終了条件を満たすまで、前記評価指標が高い前記分割学習期間を次の前記学習候補期間に設定して繰り返し行うとともに、前記終了条件を満たすとき、前記評価指標が高い前記分割学習期間を学習対象期間に選定する学習期間選定処理と、
前記学習対象期間に対応する前記学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力するモデル出力処理と、を行う。
【0007】
また、本発明の他の態様に係る機械学習方法は、
コンピュータにより、所定の期間において所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成されるデータセットを用いて学習モデルの機械学習を行う機械学習方法であって、
前記期間を学習期間と検証期間とに区分し、前記学習期間を初期の学習候補期間に設定するとともに、前記データセットを、前記学習期間に対応する学習データと、前記検証期間に対応する検証データとに分割するデータセット分割処理と、
前記学習期間を複数のサブ学習期間に区分し、前記学習データを複数の前記サブ学習期間に対応する複数のサブ学習データに分割する学習データ分割処理と、
前記学習候補期間に含まれる複数の前記サブ学習期間を複数の分割学習期間に区分する学習候補期間区分処理と、
前記分割学習期間に含まれる前記サブ学習期間に対応する前記サブ学習データを用いて前記学習モデルの機械学習を前記分割学習期間毎に行うことで前記分割学習期間毎の学習期間評価モデルを生成し、前記検証データを用いて前記分割学習期間毎の前記学習期間評価モデルの検証をそれぞれ行うことで前記学習期間評価モデルの評価指標を前記分割学習期間毎に算出する学習期間評価処理と、
前記学習候補期間区分処理及び前記学習期間評価処理を、所定の終了条件を満たすまで、前記評価指標が高い前記分割学習期間を次の前記学習候補期間に設定して繰り返し行うとともに、前記終了条件を満たすとき、前記評価指標が高い前記分割学習期間に含まれる前記サブ学習期間を学習対象期間に選定する学習期間選定処理と、
前記学習対象期間に対応する前記サブ学習データを用いて機械学習が行われた前記学習モデルを、学習済みモデルとして出力するモデル出力処理と、を行う。
【発明の効果】
【0008】
本発明の態様に係る機械学習方法によれば、学習期間選定処理により、学習候補期間区分処理及び学習期間評価処理が繰り返し行われることで、学習期間評価モデルの評価指標が高い分割学習期間が学習対象期間に選定されて、その学習対象期間に対応する学習データを用いて学習モデルの機械学習が行われる。したがって、機械学習による学習モデルの性能を向上させることができる。
【0009】
上記以外の課題、構成及び効果は、後述する発明を実施するための形態にて明らかにされる。
【図面の簡単な説明】
【0010】
図1】機械学習装置1の一例を示す構成図である。
図2】コンピュータ200の一例を示すハードウエア構成図である。
図3】第1の実施形態に係る機械学習方法S1の一例を示すフローチャートである。
図4】第1の実施形態に係る機械学習方法S1の一例を示すフローチャート(図3の続き)である。
図5】第1の実施形態に係る機械学習方法S1の実行例を示す図である。
図6】第1の実施形態に係る機械学習方法S1の実行例を示す図(図5の続き)である。
図7】第1の実施形態に係る機械学習方法S1における評価指標の算出例を示す図である。
図8】第2の実施形態に係る機械学習方法S2の一例を示すフローチャートである。
図9】第2の実施形態に係る機械学習方法S2の一例を示すフローチャート(図8の続き)である。
図10】第2の実施形態に係る機械学習方法S2の実行例を示す図である。
図11】第2の実施形態に係る機械学習方法S2の実行例を示す図(図10の続き)である。
図12】第2の実施形態に係る機械学習方法S2における評価指標の算出例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明を実施するための実施形態について説明する。以下では、本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
【0012】
(第1の実施形態)
図1は、第1の実施形態に係る機械学習装置1の一例を示す構成図である。機械学習装置1は、データセットDを用いて学習モデルMの機械学習を行う機械学習方法S1を実行可能な装置であり、例えば、汎用又は専用のコンピュータ(後述の図2参照)で構成される。
【0013】
データセットDは、所定の期間Pにおいて所定の現象の経時的な変化に応じて取得された各時点のデータを時系列に並べて構成される。所定の現象は、例えば、観測対象の状態を表す1又は複数の変量が経時的に変化するものであり、例えば、機械的現象、電磁気的現象、熱的現象、音響的現象、化学的現象、生理的現象等であり、自然現象や経済現象でもよい。それぞれの現象にて観測対象の状態を表す変量は、例えば、各種のセンサにより所定の時間周期で計測されて、その計測された変量をデータとして数値化(デジタル化)し、時系列順に収集・蓄積することで、機械学習方法S1にて用いられるデータセットDとして構成される。なお、データセットDは、過去に収集されたものでもよいし、リアルタイムで収集されたものでもよい。
【0014】
機械学習装置1は、その主要な構成要素として、制御部10と、記憶部11と、入力部12と、出力部13と、通信部14と、機器接続部15とを備える。
【0015】
制御部10は、記憶部11に記憶された機械学習プログラム110を実行することで、機械学習部100として機能し、機械学習方法S1にて行われる各種の処理を実行する。記憶部11は、機械学習プログラム110と、機械学習プログラム110で使用される各種のデータとを記憶する他に、例えば、オペレーティングシステム(OS)、他のプログラムやデータ等を記憶する。入力部12は、各種の入力操作を受け付けるとともに、出力部13は、表示画面や音声を介して各種の情報を出力することで、ユーザインターフェースとして機能する。通信部14は、有線又は無線のネットワークに接続されて、他の装置(不図示)との間で各種のデータを送受信する通信インターフェースとして機能する。機器接続部15は、スキャナ、プリンタ等の外部機器、センサ等の計測機器、及び、USBメモリ、CD-ROM、DVD等の記憶媒体との接続インターフェースとして機能する。
【0016】
機械学習方法S1では、データセットDを用いて学習モデルMの機械学習を行うことにより、学習済みモデルを任意の利用システムに提供する。データセットDが、例えば、機器や設備(機器や設備の構成部品の1つでもよい)における監視対象や制御対象の変量に基づくものである場合には、学習済みモデルは、未知の変量(過去に収集されたものでもよいし、リアルタイムで収集されたものでもよい)が入力されることで、監視対象の状態(異常、故障、それらの予兆等)を推定したり、制御対象を制御したりするために用いられる。
【0017】
学習モデルMは、任意の機械学習アルゴリズムや機械学習手法を実現するモデルであり、二値分類や多値分類のような分類問題を扱うものでよいし、回帰問題を扱うものでもよ
い。学習モデルMは、例えば、決定木、回帰木等のツリー型、バギング、ブースティング等のアンサンブル学習、ディープニューラルネットワーク、再帰型ニューラルネットワーク、畳み込みニューラルネットワーク、LSTM等のニューラルネット型(ディープラー
ニングを含む)、階層型クラスタリング、非階層型クラスタリング、k近傍法、k平均法
等のクラスタリング型、主成分分析、因子分析、ロジスティク回帰等の多変量解析、サポートベクターマシン等が挙げられるが、これらの例に限られない。また、学習モデルMは、機械学習手法として、教師あり学習、教師なし学習及び強化学習のいずれを適用したものでもよい。
【0018】
図2は、コンピュータ200の一例を示すハードウエア構成図である。コンピュータ200は、機械学習装置1を構成する装置の一例であり、汎用又は専用のコンピュータとして構成される。
【0019】
コンピュータ200は、図2に示すように、その主要な構成要素として、バス210、プロセッサ212、メモリ214、入力デバイス216、出力デバイス217、表示デバイス218、ストレージ装置220、通信I/F(インターフェース)部222、外部機器I/F部224、I/O(入出力)デバイスI/F部226、及び、メディア入出力部228を備える。なお、上記の構成要素は、コンピュータ200が使用される用途に応じて適宜省略されてもよい。
【0020】
プロセッサ212は、1つ又は複数の演算処理装置(CPU(Central Processing Unit)、MPU(Micro-processing unit)、DSP(digital signal processor)、GPU(Graphics Processing Unit)等)で構成され、コンピュータ200全体を統括する制御部10として動作する。メモリ214は、各種のデータ及びプログラム230を記憶し、例えば、メインメモリとして機能する揮発性メモリ(DRAM、SRAM等)と、不揮発性メモリ(ROM)、フラッシュメモリ等とで構成される。
【0021】
入力デバイス216は、例えば、キーボード、マウス、テンキー、電子ペン等で構成され、入力部12として機能する。出力デバイス217は、例えば、音(音声)出力装置、バイブレーション装置等で構成され、出力部13として機能する。表示デバイス218は、例えば、液晶ディスプレイ、有機ELディスプレイ、電子ペーパー、プロジェクタ等で構成され、出力部13として機能する。入力デバイス216及び表示デバイス218は、タッチパネルディスプレイのように、一体的に構成されていてもよい。ストレージ装置220は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等で構成され、記憶部11として機能する。ストレージ装置220は、オペレーティングシステムやプログラム230の実行に必要な各種のデータを記憶する。
【0022】
通信I/F部222は、インターネットやイントラネット等のネットワーク240に有線又は無線により接続され、所定の通信規格に従って他のコンピュータとの間でデータの送受信を行う通信部14として機能する。外部機器I/F部224は、カメラ、プリンタ、スキャナ、リーダライタ等の外部機器250に有線又は無線により接続され、所定の通信規格に従って外部機器250との間でデータの送受信を行う機器接続部15として機能する。I/OデバイスI/F部226は、各種のセンサ、アクチュエータ等のI/Oデバイス260に接続され、I/Oデバイス260との間で、例えば、センサによる検出信号やアクチュエータへの制御信号等の各種の信号やデータの送受信を行う機器接続部15として機能する。メディア入出力部928は、例えば、DVD(Digital Versatile Disc)ドライブ、CD(Compact Disc)ドライブ等のドライブ装置、メモリカードスロット、USBコネクタで構成され、DVD、CD、メモリカ
ード、USBメモリ等のメディア(非一時的な記憶媒体)970に対してデータの読み書きを行う機器接続部15として機能する。
【0023】
上記構成を有するコンピュータ200において、プロセッサ212は、ストレージ装置220に記憶されたプログラム230をメモリ214に呼び出して実行し、バス210を介してコンピュータ200の各部を制御する。なお、プログラム230は、ストレージ装置220に代えて、メモリ214に記憶されていてもよい。プログラム230は、インストール可能なファイル形式又は実行可能なファイル形式でメディア270に記録され、メディア入出力部228を介してコンピュータ200に提供されてもよい。プログラム230は、通信I/F部222を介してネットワーク240経由でダウンロードすることによりコンピュータ200に提供されてもよい。また、コンピュータ200は、プロセッサ212がプログラム230を実行することで実現する各種の機能を、例えば、FPGA(field-programmable gate array)、ASIC(application specific integrated circuit)等のハードウエアで実現するものでもよい。
【0024】
コンピュータ200は、例えば、据置型コンピュータや携帯型コンピュータで構成され、任意の形態の電子機器である。また、コンピュータ200は、クライアント型コンピュータでもよいし、サーバ型コンピュータやクラウド型コンピュータでもよい。
【0025】
次に、上記構成を有する機械学習装置1の制御部10(機械学習部100)により行われる機械学習方法S1の詳細について、図3乃至図7を参照して説明する。
【0026】
図3及び図4は、第1の実施形態に係る機械学習方法S1の一例を示すフローチャートである。図5及び図6は、第1の実施形態に係る機械学習方法S1の実行例を示す図である。図7は、第1の実施形態に係る機械学習方法S1における評価指標の算出例を示す図である。
【0027】
まず、ステップS100(データセット取得処理)にて、機械学習装置1は、所定の期間Pにおける各時点のデータを時系列順に含むデータセットDを取得する。なお、データセットDは、記憶部11に記憶されたものを読み出してもよいし、通信部14を介して他の装置から受信してもよいし、機器接続部15を介して記憶媒体に記録されたものを参照してもよいし、機器接続部15を介して計測機器により計測されたものでもよい。
【0028】
次に、ステップS110(データセット分割処理)にて、期間Pを学習期間PLと検証期間PTとに区分し、学習期間PLを初期の学習候補期間PLに設定するとともに、データセットDを、学習期間PLに対応する学習データDLと、検証期間PTに対応する検証データDTとに分割する。
【0029】
期間Pは、例えば、「9:1」のような所定のデータ割合により、学習期間PL(例えば、90%)と検証期間PT(例えば、10%)とに区分される。その際、検証期間PTを期間Pの時系列において離散的に設定するようにしてもよい。例えば、期間Pが、35日間である場合、前期(1~12日目)のうちの1日間、中期(13~24日目)のうちの1日間、後期(25~35日目)のうちの1日間のように、期間Pの時系列において分散されるのがより好ましく、検証期間PTが、6日目、18日目、30日目として設定されるようにしてもよい。これにより、検証データに含まれるデータの偏りを抑制することができる。
【0030】
また、初期の学習候補期間PLは、後述の学習期間選定処理S150~S152にて学習候補期間区分処理S130及び学習期間評価処理S140、S141が繰り返し実行
されるときの学習候補期間PL(ただし、i=1,2,…,R(Rは2以上の整数))の初期値を示すものである。「i」は、繰り返し回数を示す変数(インデックス)であり、データセット分割処理S110にて、繰り返し回数i=1として初期化される。また、「R」は、繰り返し回数の上限値を示し、本実施形態では、繰り返し上限値R=3であるものとして説明する。
【0031】
次に、ステップS130(学習候補期間区分処理)にて、学習候補期間PLを複数の分割学習期間PLDi,j(ただし、j=1,2,…,S(Sは2以上の整数))に区分する。「j」は、複数の分割学習期間PLDi,jを識別するための識別子を示す変数(インデックス)である。また、「S」は、複数の分割学習期間PLDi,jを区分するときの区分数を示し、本実施形態では、区分数S=2であるものとして説明する。したがって、本実施形態では、繰り返し回数iが「1」である場合の初期の学習候補期間PLは、区分数Sが「2」に対応して、2つの分割学習期間PLD1,1、PLD1,2に区分される。
【0032】
なお、複数の分割学習期間PLDi,jの各々が、学習候補期間PLの時系列において離散的な期間をそれぞれ含むように、複数の分割学習期間PLDi,jに区分されるようにしてよい。例えば、学習候補期間PLが、35日間のうち、6、18、30日目を除く32日間である場合、分割学習期間PLD1,1には、1~5、19~29日目を含む16日間、分割学習期間PLD1,2には、7~17、31~35日目を含む16日間のように区分される。これにより、複数の分割学習期間PLDi,jの各々に含まれるデータの偏りを抑制することができる。
【0033】
次に、ステップS140、S141(学習期間評価処理)にて、分割学習期間PLDi,jに対応する学習データDLである分割学習データDLDi,jを用いて学習モデルMの機械学習を分割学習期間PLDi,j毎に行うことで分割学習期間PLDi,j毎の学習期間評価モデルMLi,jを生成する。そして、検証データDTを用いて分割学習期間PLDi,j毎の学習期間評価モデルMLi,jの検証をそれぞれ行うことで学習期間評価モデルMLi,jの評価指標ELi,jを分割学習期間PLDi,j毎に算出する。
【0034】
学習期間評価モデルMLi,jの評価指標ELi,jは、例えば、正解率、適合率、再現率、特異率、F値等であり、単一の評価指標を用いてもよいし、複数の評価指標を組み合わせて用いてもよい。本実施形態では、評価指標ELi,jとして適合率を用いるものとして説明すると、繰り返し回数iが「1」である場合には、分割学習期間PLD1,1を用いて機械学習が行われた学習期間評価モデルML1,1の適合率(評価指標EL1,1=36.5%)と、分割学習期間PLD1,2を用いて機械学習が行われた学習期間評価モデルML1,2の適合率(評価指標EL1,2=23.6%)とがそれぞれ算出される。
【0035】
次に、ステップS150~S152(学習期間選定処理)にて、学習候補期間区分処理S130及び学習期間評価処理S140、S141を繰り返して行う繰り返し処理を終了するか否かを、所定の終了条件に応じて判定する(ステップS150)。終了条件は、例えば、繰り返し回数iをインクリメントとしたときに、繰り返し回数iが繰り返し上限値R(本実施形態では、R=3)を超えたか否か、評価指標ELi,jが所定の限界値(例えば、下限値)を外れたか否か等により判定される。
【0036】
そして、終了条件を満たしていないとき(ステップS151:No)、繰り返し処理を継続するために、評価指標ELi,jが高い分割学習期間PLDi,jを次の学習候補期間PLに設定して(ステップS151)、ステップS130に戻ることで、上記の学習候補期間区分処理S130及び学習期間評価処理S140、S141を、終了条件を満た
すまで繰り返し行う。例えば、本実施形態では、繰り返し回数iが「1」である場合、評価指標EL1,1が高い分割学習期間PLD1,1が次の学習候補期間PLに設定される。なお、区分数Sが「2」の場合には、評価指標ELi,jが高い方の1つの分割学習期間PLDi,jが次の学習候補期間PLに設定されるが、区分数Sが「3以上」の場合には、評価指標ELi,jが最も高い1つの分割学習期間PLDi,jが次の学習候補期間PLに設定されてもよいし、評価指標ELi,jが高い順に複数の分割学習期間PLDi,jが次の学習候補期間PLに設定されてもよい。
【0037】
一方、終了条件を満たすとき(ステップS151:Yes)、繰り返し処理を終了し、評価指標ELi,jが高い分割学習期間PLDi,jを学習対象期間PLFに選定する(ステップS152)。なお、区分数Sが「2」の場合には、評価指標ELi,jが高い方の1つの分割学習期間PLDi,jが学習対象期間PLFに設定されるが、区分数Sが「3以上」の場合には、評価指標ELi,jが最も高い1つの分割学習期間PLDi,jが学習対象期間PLFに設定されてもよいし、評価指標ELi,jが高い順に複数の分割学習期間PLDi,jが学習対象期間PLFに設定されてもよい。
【0038】
そして、ステップS160(第1のモデル出力処理)にて、学習対象期間PLFに対応する学習データDL(以下、「学習対象データDLF」という)を用いて機械学習が行われた学習モデルMを、第1の学習済みモデルMF1として出力する。第1の学習済みモデルMF1の出力先としては、記憶部11でもよいし、他の装置でもよい。第1の学習済みモデルMF1には、例えば、学習モデルMを特徴付けるための学習済みの係数やパラメータが含まれる。なお、後述の第2のモデル出力処理ステップS190にて第2の学習済みモデルMF1を出力する場合には、第1の学習済みモデルMF1の出力は省略されてもよい。
【0039】
次に、ステップS170(学習データ分割処理)にて、学習対象期間PLFを除く学習期間PLCを複数のサブ学習期間PLS(k=2,3,…,T(Tは3以上の整数))に区分し、学習対象期間PLFに対応する学習対象データDLFを除く学習データDLCを複数のサブ学習期間PLSに対応する複数のサブ学習データDLSに分割する。「T」は、複数のサブ学習データDLSに分割するときの分割数を示し、本実施形態では、分割数T=7(=2-1=2-1)であり、7つのサブ学習データDLS(k=2,3,…,8)に分割されるものとして説明する。
【0040】
次に、ステップS180、S181(追加期間選定処理)にて、複数のサブ学習データDLSの各々を用いて第1の学習済みモデルMF1の検証をそれぞれ行うことで第1の学習済みモデルMF1の評価指標EFをサブ学習期間PLS毎に算出する。そして、第1の学習済みモデルMF1の評価指標EFが所定の追加条件を満たすサブ学習期間PLSを追加対象期間PLAに選定する。追加条件は、例えば、評価指標EFの値に対する閾値を用いて、評価指標EFがその閾値を超えたか否かにより判定される。その結果、追加対象期間PLAとしては、1つのサブ学習期間PLSが選定されてもよいし、複数のサブ学習期間PLSが選定されてもよい。図6及び図7の例では、2つのサブ学習期間PLS2、PLSが追加対象期間PLAとして選定された場合が図示されている。
【0041】
そして、ステップS190(第2のモデル出力処理)にて、学習対象期間PLF及び追加対象期間PLAの少なくとも一方に対応する学習データDLを用いて機械学習が行われた学習モデルMを、第2の学習済みモデルMF2として出力する。すなわち、学習対象期間PLFに対応する学習対象データDLF、及び、追加対象期間PLAに対応するサブ学習データDLS図6及び図7の例では、DLS2、DLS)の少なくとも一方を用いて学習モデルMの機械学習を行い、第2の学習済みモデルMF2として出力し、一連の
処理を終了する。第2の学習済みモデルMF2の出力先としては、第1の学習済みモデルMF1と同様に、記憶部11でもよいし、他の装置でもよい。第2の学習済みモデルMF2には、第1の学習済みモデルMF1と同様に、例えば、学習モデルMを特徴付けるための学習済みの係数やパラメータが含まれる。
【0042】
なお、第2の学習済みモデルMF2は、追加対象期間PLAに対応するサブ学習データDLSを用いて第1の学習済みモデルMF1の機械学習(再学習)を追加的に行ってもよいし、学習対象データDLF及び追加対象期間PLAに対応するサブ学習データDLS用いて、初期化された学習モデルMの機械学習を行ってもよい。また、第2の学習済みモデルMF2として、学習対象データDLF及びサブ学習データDLSを任意に組み合わせて学習モデルMの機械学習を行うことで複数の第2の学習済みモデルMF2が出力されてもよく、例えば、学習対象データDLF及びサブ学習データDLS2、DLSを用いて機械学習が行われた学習モデルMと、学習対象データDLF及びサブ学習データDLSを用いて機械学習が行われた学習モデルMと、学習対象データDLF及びサブ学習データDLSを用いて機械学習が行われた学習モデルMとが出力されてもよい。
【0043】
以上のように、本実施形態に係る機械学習方法S1によれば、学習期間選定処理S150~S152により、学習候補期間区分処理S130及び学習期間評価処理S140、S141が繰り返し行われることで、学習期間評価モデルMLi,jの評価指標ELi,jが高い分割学習期間PLDi,jが学習対象期間PLFに選定されて、その学習対象期間PLFに対応する学習対象データDLFを用いて学習モデルMの機械学習が行われる。したがって、機械学習による学習モデルの性能を向上させることができる。
【0044】
また、追加期間選定処理ステップS180、S181により、第1の学習済みモデルMF1の評価指標EFが所定の追加条件を満たすサブ学習期間PLSが追加対象期間PLAに選定されて、その追加対象期間PLAに対応するサブ学習データDLSを用いて学習モデルMの機械学習が行われる。したがって、学習対象データDLFを用いて機械学習を行うことによる過学習をサブ学習データDLSで抑制しつつ、学習モデルの性能を向上させることができる。
【0045】
(第2の実施形態)
本実施形態に係る機械学習装置1の基本的な構成は、第1の実施形態と共通し、機械学習装置1の制御部10(機械学習部100)により行われる機械学習方法S2の詳細が、第1の実施形態における機械学習方法S1と相違する。具体的には、第1の実施形態では、学習データ分割処理S170が、第1のモデル出力処理S160の後に行われるのに対し、第2の実施形態では、学習データ分割処理S220が、データセット分割処理S210の後に行われる点で相違する。以下では、本実施形態に係る機械学習装置1の制御部10(機械学習部100)により行われる機械学習方法S2の詳細について、図8乃至図12を参照して説明する。
【0046】
図8及び図9は、第2の実施形態に係る機械学習方法S2の一例を示すフローチャートである。図10及び図11は、第2の実施形態に係る機械学習方法S2の実行例を示す図である。図12は、第2の実施形態に係る機械学習方法S2における評価指標の算出例を示す図である。
【0047】
まず、ステップS200(データセット取得処理)にて、ステップS100と同様に、機械学習装置1は、所定の期間Pにおける各時点のデータを時系列順に含むデータセットDを取得する。
【0048】
次に、ステップS210(データセット分割処理)にて、ステップS110と同様に、
期間Pを学習期間PLと検証期間PTとに区分し、学習期間PLを初期の学習候補期間PLに設定するとともに、データセットDを、学習期間PLに対応する学習データDLと、検証期間PTに対応する検証データDTとに分割する。
【0049】
初期の学習候補期間PLは、後述の学習期間選定処理S250~S252にて学習候補期間区分処理S230及び学習期間評価処理S240、S241が繰り返し実行されるときの学習候補期間PL(i=1,2,…,R(Rは2以上の整数))の初期値を示すものである。「i」は、繰り返し回数を示す変数(インデックス)であり、データセット分割処理S210にて、繰り返し回数i=1として初期化される。また、「R」は、繰り返し回数の上限値を示すものであり、本実施形態では、繰り返し上限値R=3であるものとして説明する。
【0050】
次に、ステップS220(学習データ分割処理)にて、学習期間PLを複数のサブ学習期間PLS(k=1,2,…,T(Sは2以上の整数))に区分し、学習データDLを複数のサブ学習期間PLSに対応する複数のサブ学習データDLSに分割する。「T」は、複数のサブ学習データDLSに分割するときの分割数を示し、本実施形態では、分割数T=8(=2=2)であり、8つのサブ学習データDLS(k=1,3,…,8)に分割されるものとして説明する。
【0051】
次に、ステップS230(学習候補期間区分処理)にて、学習候補期間PLに含まれる複数のサブ学習期間PLSを複数の分割学習期間PLDi,j(ただし、j=1,2,…,S(Sは2以上の整数))に区分する。「j」は、複数の分割学習期間PLDi,jを識別するための識別子を示す変数(インデックス)である。また、「S」は、複数の分割学習期間PLDi,jを区分するときの区分数を示し、本実施形態では、区分数S=2であるものとして説明する。したがって、本実施形態では、繰り返し回数iが「1」である場合の初期の学習候補期間PLは、区分数Sが「2」に対応して、2つの分割学習期間PLD1,1、PLD1,2に区分されるが、その際、4つのサブ学習期間PLS~PLSを含む分割学習期間PLD1,1と、4つのサブ学習期間PLS~PLSを含む分割学習期間PLD1,2とに区分される。
【0052】
なお、複数の分割学習期間PLDi,jの各々が、学習候補期間PLの時系列において離散的な期間をそれぞれ含むように、複数のサブ学習期間PLSにおける時系列をランダムにして、複数の分割学習期間PLDi,jに区分されるようにしてよい。例えば、分割学習期間PLD1,1が4つのサブ学習期間PLS、PLS、PLS、PLSを含み、分割学習期間PLD1,2が4つのサブ学習期間PLS、PLS、PLS、PLSを含むように区分されてもよい。これにより、複数のサブ学習期間PLSの各々に含まれるデータの偏りを抑制することができる。
【0053】
次に、ステップS240、S241(学習期間評価処理)にて、分割学習期間PLDi,jに含まれるサブ学習期間PLSに対応するサブ学習データDLSを用いて学習モデルMの機械学習を分割学習期間PLDi,j毎に行うことで分割学習期間PLDi,j毎の学習期間評価モデルMLi,jを生成する。そして、検証データDTを用いて分割学習期間PLDi,j毎の学習期間評価モデルMLi,jの検証をそれぞれ行うことで学習期間評価モデルMLi,jの評価指標ELi,jを分割学習期間PLDi,j毎に算出する。
【0054】
次に、ステップS250~S252(学習期間選定処理)にて、ステップS150~S152と同様に、学習候補期間区分処理S230及び学習期間評価処理S240、S241を繰り返して行う繰り返し処理を終了するか否かを、所定の終了条件に応じて判定する(ステップS250)。終了条件は、例えば、繰り返し回数iをインクリメントとしたと
きに、繰り返し回数iが繰り返し上限値R(本実施形態では、R=3)を超えたか否か、評価指標ELi,jが所定の限界値(例えば、下限値)を外れたか否か等により判定される。
【0055】
そして、終了条件を満たしていないとき(ステップS251:No)、繰り返し処理を継続するために、評価指標ELi,jが高い分割学習期間PLDi,jを次の学習候補期間PLに設定して(ステップS251)、ステップS230に戻ることで、上記の学習候補期間区分処理S230及び学習期間評価処理S240、S241を、終了条件を満たすまで繰り返し行う。
【0056】
一方、終了条件を満たすとき(ステップS251:Yes)、繰り返し処理を終了し、評価指標ELi,jが高い分割学習期間PLDi,jに含まれるサブ学習期間PLSを学習対象期間PLFに選定する(ステップS252)。
【0057】
そして、ステップS260(第1のモデル出力処理)にて、ステップS160と同様に、学習対象期間PLFに対応するサブ学習データDLS(以下、「学習対象データDLF」という)を用いて機械学習が行われた学習モデルMを、第1の学習済みモデルMF1として出力する。
【0058】
次に、ステップS280、S281(追加期間選定処理)にて、学習対象期間PLFに対応する学習対象データDLFを除く複数のサブ学習データDLSの各々を用いて第1の学習済みモデルMF1の検証をそれぞれ行うことで第1の学習済みモデルMF1の評価指標EFをサブ学習期間PLS毎に算出する。そして、第1の学習済みモデルMF1の評価指標EFが所定の追加条件を満たすサブ学習期間PLSを追加対象期間PLAに選定する。図11及び図12の例では、2つのサブ学習期間PLS2、PLSが追加対象期間PLAとして選定された場合が図示されている。
【0059】
そして、ステップS290(第2のモデル出力処理)にて、学習対象期間PLF及び追加対象期間PLAの少なくとも一方に対応するサブ学習データDLSを用いて機械学習が行われた学習モデルMを、第2の学習済みモデルMF2として出力する。すなわち、学習対象期間PLFに対応する学習対象データDLF、及び、追加対象期間PLAに対応するサブ学習データDLS図11及び図12の例では、DLS2、DLS)の少なくとも一方を用いて学習モデルMの機械学習を行い、第2の学習済みモデルMF2として出力し、一連の処理を終了する。
【0060】
以上のように、本実施形態に係る機械学習方法S2によれば、学習期間選定処理S250~S252により、学習候補期間区分処理S230及び学習期間評価処理S240、S241が繰り返し行われることで、学習期間評価モデルMLi,jの評価指標ELi,jが高い分割学習期間PLDi,jに含まれるサブ学習期間PLSが学習対象期間PLFに選定されて、その学習対象期間PLFに対応する学習対象データDLFを用いて学習モデルMの機械学習が行われる。したがって、機械学習による学習モデルの性能を向上させることができる。
【0061】
また、追加期間選定処理ステップS280、S281により、第1の学習済みモデルMF1の評価指標EFが所定の追加条件を満たすサブ学習期間PLSが追加対象期間PLAに選定されて、その追加対象期間PLAに対応するサブ学習データDLSを用いて学習モデルMの機械学習が行われる。したがって、学習対象データDLFを用いて機械学習を行うことによる過学習をサブ学習データDLSで抑制しつつ、学習モデルの性能を向上させることができる。
【0062】
(他の実施形態)
本発明は上述した実施形態に制約されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本発明の技術思想に含まれるものである。
【0063】
上記実施形態では、機械学習装置1の制御部10(機械学習部100)により行われる機械学習方法S1、S2は、単一の装置で実現されるものとして説明したが、機械学習方法S1、S2に含まれる各処理が複数の装置で分散して行われることで複数の装置で実現されてもよい。
【0064】
上記実施形態では、機械学習方法S1、S2の詳細を示すフローチャートにおいて、各ステップの実行順序を適宜入れ替えてもよいし、一部のステップを省略してもよい。例えば、機械学習方法S1において、ステップS170以降の処理は省略されてもよいし、機械学習方法S2において、ステップS280以降の処理は省略されてもよい。
【0065】
上記実施形態では、機械学習方法S1、S2が、例えば、終了条件、追加条件、データ割合、繰り返し上限値R、区分数S、分割数T等の各種の条件や設定に従って行われるものとして説明したが、これらの条件や設定は、適宜変更されてもよく、例えば、ユーザインターフェースとして機能する入力部12及び出力部13により表示画面上で変更可能に構成されていてもよい。
【0066】
上記実施形態では、機械学習方法S1、S2におけるデータセット分割処理S110、S210は、データセットDを学習データDLと検証データDTとに分割するものであり、所謂ホールドアウト検証の手法を採用したものであるが、機械学習方法S1、S2に、例えば、k-分割交差検証、層化k分割交差検証、シャッフル分割交差検証、時系列分割
交差検証、スライド型交差検証等のような交差検証の手法を適宜組み合わせてもよい。
【符号の説明】
【0067】
1…機械学習装置、10…制御部、11…記憶部、12…入力部、13…出力部、
14…通信部、15…機器接続部、
100…機械学習部、110…機械学習プログラム、200…コンピュータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12