JP7409495B2 - 機械学習プログラム,機械学習方法および機械学習装置 - Google Patents

機械学習プログラム,機械学習方法および機械学習装置 Download PDF

Info

Publication number
JP7409495B2
JP7409495B2 JP2022522091A JP2022522091A JP7409495B2 JP 7409495 B2 JP7409495 B2 JP 7409495B2 JP 2022522091 A JP2022522091 A JP 2022522091A JP 2022522091 A JP2022522091 A JP 2022522091A JP 7409495 B2 JP7409495 B2 JP 7409495B2
Authority
JP
Japan
Prior art keywords
data
model
machine learning
verification
clusters
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
JP2022522091A
Other languages
English (en)
Other versions
JPWO2021229630A1 (ja
JPWO2021229630A5 (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
Publication of JPWO2021229630A1 publication Critical patent/JPWO2021229630A1/ja
Publication of JPWO2021229630A5 publication Critical patent/JPWO2021229630A5/ja
Application granted granted Critical
Publication of JP7409495B2 publication Critical patent/JP7409495B2/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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、機械学習技術に関する。
機械学習の手法の一つとして、入力データと出力データとを備える教師データ(正解付きデータ)を用いて入出力関係を学習させる教師あり学習が知られている。
また、一般的に、教師あり機械学習においては、複数の教師データのうちの一部をモデル作成用データ(訓練データ)として使用することでモデル(機械学習モデル)を作成し、複数の教師データのうち残りの一部をモデル検証用データ(評価データ)として使用することで過学習の判断を行なうことが知られている。
ここで、過学習(overfitting)とは、モデルが訓練データだけに最適化されてしまい汎用性がない状態に陥ることをいい、モデル作成用データについては高精度に予測できるが、それ以外のデータについては予測が低精度となる。
上述した教師データの一部をモデル検証用データとして用いた過学習の判断手法においては、作成したモデルを用いてモデル作成用データを予測した時の予測精度とモデル検証用データを予測した時の予測精度が大幅に異なる場合に過学習の状態と判断される。
特開2019-66993号公報
しかしながら、教師データ取得時に偏りがある場合、入力データ空間全体で見たときに、例外的なクラスタが存在する可能性がある。
なお、ここでいう「偏り」とは、入力に関するものであり、偶然では起こりえないほど入力が類似したデータ群(クラスタ)が教師データに含まれている状況を指す。取得可能な教師データに制限がある等の事情により、このような偏りが生じ得る。
このような例外的なクラスタのデータまで正しく予測するモデルを作成すると過学習になりやすいが、上述の通りモデル作成/検証用データのいずれも高精度に予測できてしまうため、過学習となったことが検出されない場合がある。
1つの側面では、過学習を抑制することを目的とする。
このため、この機械学習プログラムは、複数のデータをクラスタリングすることで生成された複数のクラスタ単位で、前記複数のデータをモデル作成用データまたはモデル検証用データに分類し、前記モデル作成用データを用いた機械学習によってモデルを生成し、前記モデル検証用データを用いて、生成された前記モデルの出力精度を検証する、処理をコンピュータに実行させる。
一実施形態によれば、過学習を抑制することができる。
実施形態の一例としての計算機システムのハードウェア構成を例示する図である。 実施形態の一例としての計算機システムの機能構成を例示する図である。 ニューラルネットワークの概要を示す図である。 実施形態の一例としての計算機システムのクラスタリング処理部によるクラスタリング手法を説明するための図である。 実施形態の一例としての計算機システムのデータ作成部による処理を説明するための図である。 実施形態の一例としての計算機システムのモデル作成部による処理を説明するための図である。 実施形態の一例としての計算機システムの予測処理部による処理を説明するための図である。 実施形態の一例としての計算機システムの検証部による処理を説明するための図である。 実施形態の一例としての計算機システムにおける処理を説明するためのフローチャートである。 実施形態の一例としての計算機システムの学習処理部により行なわれる二値分類を説明するための図である。 図10におけるモデル作成用クラスタを抽出して示す図である。 図10におけるモデル検証用クラスタを抽出して示す図である。 機械学習方法における過学習について説明するための図である。
図13は機械学習方法における過学習について説明するための図であり、入力データ空間に配置された教師データを例示する。この図13においては、多数の微小点が配置された入力データ空間を例示している。微小点のそれぞれは教師データを表しており、それぞれ入力データに応じた位置にプロットされている。
また、この入力データ空間においては、複数の教師データ(微小点)が局所的に集まることで複数の小規模のクラスタ(データ群)が形成されている。図13中においては、教師データの集合によるクラスタに符号aまたは符号bが付されている。
これらの符号aまたは符号bは教師データの出力を表しており、符号aが付されたクラスタを構成する教師データの出力はそれぞれaであり、符号bが付されたクラスタを構成する教師データの出力はそれぞれbである。すなわち、図13に示す例においては、aまたはbを予測する二値分類を表している。
この図13に示す例において、太破線は、モデル作成用データを用いて全て正解できる高精度なモデルを作成した場合の予測の境界を示す。当該モデルにおいては、この太破線の左側に位置する教師データの出力をbと予測し、この太破線の右側に位置する教師データの出力をaと予測する。
ここで、この図13に例示する入力データ空間上の教師データには、モデル作成用のデータとモデル検証用のデータとが混在しており、各クラスタを構成する教師データにも、モデル作成用のデータとモデル検証用のデータとが混在している。その場合、図13における太破線を境界として予測するモデルはモデル作成用データおよびモデル検証用データのいずれに対しても高精度に予測できる。
しかしながら、教師データ取得時に偏りがある場合、入力データ空間全体で見たときに、例外的なクラスタが存在する可能性がある。
このような例外的なクラスタのデータまで正しく予測するモデルを作成すると過学習になりやすいが、上述の通りモデル作成/検証用データのいずれも高精度に予測できてしまうため、過学習となったことが検出されない場合がある。例えば、図13中において、符号P1を付して示す四角点線で囲んだクラスタが例外的なクラスタであった場合、図13に示す入力空間においては、太破線を境界として予測するモデルは過学習の状態にあり、同図中に一点鎖線を境界として予測するモデルの方が望ましい。機械学習においては、このような過学習を抑制することが望まれている。
以下、図面を参照して本機械学習プログラム,機械学習方法および機械学習装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
図1は実施形態の一例としての計算機システム1のハードウェア構成を例示する図である。計算機システム1は、機械学習装置であって、例えば、ニューラルネットワークを実現する。計算機システム1は、図1に示すように、CPU(Central Processing Unit)10,メモリ11およびアクセラレータ12を備える。これらのCPU10,メモリ11およびアクセラレータ12は、通信バス13を介して相互に通信可能に接続されている。通信バス13は、本計算機システム1内のデータ通信を行なう。
メモリ11は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ11のROMには、後述するCPU10によって実行されるプログラムやこのプログラム用のデータ類が書き込まれている。メモリ11上のソフトウェアプログラムは、CPU10に適宜読み込まれて実行される。また、メモリ11のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。メモリ11のRAMには、教師データ(モデル作成用データ,モデル検証用データ)やモデルを構成する情報およびモデルを用いた予測結果等も格納される。アクセラレータ12は、例えば、行列演算などのニューラルネットワークの計算に必要な演算処理を実行する。
CPU10は、種々の制御や演算を行なう処理装置(プロセッサ)であり、実装されたプログラムに基づき、計算機システム1全体を制御する。そして、このCPU10がメモリ11等に格納された機械学習プログラム(図示省略)を実行することで、後述する学習処理部100(図2参照)としての機能を実現する。計算機システム1は、機械学習プログラムを実行することにより機械学習装置として機能する。
なお、学習処理部100としての機能を実現するためのプログラム(機械学習プログラム)は、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータ(計算機システム1)はその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
学習処理部100としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ11のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
図2は実施形態の一例としての計算機システム1の機能構成を例示する図である。計算機システム1は、図2に示すように、学習処理部100としての機能を備える。学習処理部100は、例えば、ニューラルネットワークにおける深層学習を実施する。
ニューラルネットワークは、ハードウェア回路であってもよいし、CPU10等によりコンピュータプログラム上で仮想的に構築される階層間を接続するソフトウェアによる仮想的なネットワークであってもよい。
図3にニューラルネットワークの概要を示す。図3に示すニューラルネットワークは、入力層と出力層との間に複数の隠れ層を含むディープニューラルネットワークである。隠れ層は、例えば、畳み込み層、プーリング層または全結合層等である。図3中において、各層に示す丸印は、所定の計算をそれぞれ実行するノードを示す。
ニューラルネットワークは、入力データを入力層に入力し、畳み込み層やプーリング層などで構成される隠れ層にて所定の計算を順次実行することで、演算により得られる情報を入力側から出力側に順次伝えるフォーワッド方向の処理(順伝播処理)を実行する。フォーワッド方向の処理の実行後、出力層から出力される出力データと正解データとから得られる誤差関数の値を小さくするために、フォーワッド方向の処理で使用するパラメータを決定するバックワード方向の処理(逆伝播処理)を実行する。そして、逆伝播処理の結果に基づいて重み等の変数を更新する更新処理が実行される。
図2に示すように、学習処理部100は、クラスタリング処理部101,データ作成部102,モデル作成部103,予測処理部104および検証部105を備える。
クラスタリング処理部101は、複数の教師データに対して、偏りが認識できるようにクラスタリングを行なうことで、複数のクラスタ(データ群)を作成する。教師データは、予め図示しない記憶装置に格納されてもよく、本計算機システム1の外部から入力されてもよい。クラスタリング処理部101は、複数の教師データに対して階層型クラスタリングを行なう。
図4は実施形態の一例としての計算機システム1のクラスタリング処理部101によるクラスタリング手法を説明するための図である。この図4においては、階層型クラスタリングにおけるデンドログラム(樹形図)を例示している。
階層型クラスタリングにおいては、複数の入力データに対して、データ間の距離に応じて結合(グルーピング,マージ)することを繰り返し行なうことでクラスタリングを実現する。
本計算機システム1において、クラスタリング処理部101は、最遠隣法により、クラスタリングを実現する。なお、最遠隣法におけるデータ間の距離は、例えば、ユーグリッド距離を用いてもよく、適宜変更して実施することができる。
また、階層型クラスタリングにおいては、例えば、システム管理者等が、同一クラスタとするためのデータ間の距離を閾値として設定することができる。この閾値を設定することで、クラスタリング処理部101は、データ間の距離が閾値未満となるデータどうしを同一のクラスタとなるようにクラスタリングする。閾値は、クラスタのマージ停止条件に相当し、例えば、システム管理者等が任意に設定してもよい。図4においては、符号D0~D9で表されるデータに対して階層型クラスタリングを行なう例を示しており、閾値=5が設定されている。
隣接する入力データ間の距離が近いものから順に結合(グルーピング,マージ)することで、例えば、データD3,D4が一つのクラスタC1を形成している。同様に、データD8,D5,D7がクラスタC2を、データD2,D1,D6がクラスタC5をそれぞれ形成している。データD0,D9はいずれも他のデータからの距離が遠いものであるので、それぞれ単独で独立したクラスタC3,C4を形成する。
これらのクラスタC1~C5は、各クラスタ内におけるデータ間の距離が閾値(図4に示す例では5)未満であることが保証されており、データ空間内におけるデータの偏りを実現する。
クラスタリング処理部101は、このような階層型クラスタリング手法を用いて教師データに偏りが認識されるクラスタリングを実現する。
また、クラスタのマージ停止条件(閾値)は、教師データ取得時の偏りによるとみなせる入力データ間の距離とすることが望ましい。この閾値は、例えば、対象データに対するドメイン知識を持つ人がデータの素性に基づいて任意に設定してもよい。
データ作成部102は、モデル作成用データ(教師データ)およびモデル検証用データを作成する。モデル作成用データは、後述するモデル作成部103が機械学習のモデルを作成するために用いる教師データである。モデル検証用データは、後述する検証部105が作成されたモデルの検証を行なうために用いる教師データである。
以下、モデル学習用データを用いてモデル作成を行なう過程を学習フェーズ(第1フェーズ)という場合があり、モデル作成用データを用いてモデルの検証を行なう過程を検証フェーズ(第2フェーズ)という場合がある。図5は実施形態の一例としての計算機システム1のデータ作成部102による処理を説明するための図である。
データ作成部102は、クラスタリング処理部101により作成された複数のクラスタを、モデル作成用クラスタとモデル検証用クラスタとに分類する。なお、モデル作成用クラスタおよびモデル検証用クラスタの各数は、適宜変更して実施することができる。例えば、複数のクラスタをモデル作成用クラスタまたはモデル検証用クラスタへランダムに振り分けることで分類してもよく、適宜変更して分類を実施することができる。なお、複数のクラスタのモデル作成用クラスタまたはモデル検証用クラスタへの分類は、クラスタリング処理部101が行なってもよく、適宜変更して実施することができる。
本計算機システム1においては、異なるクラスタのデータを使用して機械学習と検証とを実行する。すなわち、複数のクラスタのうち第1のクラスタ(第1のグループ)のデータを用いて機械学習のモデルを作成し、第2のクラスタ(第2のグループ)のデータを用いてモデルの出力精度の検証を行なう。
モデル作成用クラスタは、機械学習によってモデルを生成するために用いられるデータによる第1のグループであってもよい。また、モデル検証用クラスタは、生成されたモデルの出力精度を検証するために用いられるデータによる第2のグループであってもよい。
データ作成部102は、複数のモデル作成用クラスタからデータを均等にサンプリング(抽出)して、モデル作成用データを作成する。複数のモデル作成用クラスタからデータを均等にサンプリングする理由は、複数のモデル作成用クラスタ間においてデータ数の偏りがある恐れがあるからである。データ作成部102は、複数のモデル作成用クラスタから異なるサンプリングを行なうことで、複数のモデル作成用データを作成する。
同様に、データ作成部102は、複数のモデル検証用クラスタからデータを均等にサンプリング(抽出)して、モデル検証用データを作成する。複数のモデル検証用クラスタからデータを均等にサンプリングする理由は、複数のモデル検証用クラスタ間においてもデータ数の偏りがあるおそれがあるからである。データ作成部102は、複数のモデル検証用クラスタから異なるサンプリングを行なうことで、複数のモデル検証用データを作成する。
複数のモデル作成用クラスタ,複数のモデル検証用クラスタ,複数のモデル作成用データおよび複数のモデル検証用データは、それぞれメモリ11の所定の記憶領域に格納してもよく、また、図示しない記憶装置に格納してもよい。
モデル作成部103は、モデル作成用データ(教師データ)を用いた機械学習によってモデル(学習モデル)を作成する。モデルは、入力値を受け取り、何かしらの評価・判定をして出力値を出力する。モデルの出力を予測結果といってもよい。なお、モデルの作成は既知の手法を用いて実現することができ、モデル作成部103によるモデル作成手法の説明は省略する。また、モデル作成部103は、機械学習に複数のモデル検証用データを用いることで、これらのモデル作成用データに応じた複数のモデルを作成する。モデル検証用データは、クラスタリングで第3のグループに分類されたデータに相当する。図6は実施形態の一例としての計算機システム1のモデル作成部103による処理を説明するための図である。
図6に示す例においては、2つのモデル作成用データ#1,#2が示されている。モデル作成部103は、モデル作成用データ#1を用いて教師あり学習(機械学習)を行なうことでモデル#1を作成し、モデル作成用データ#2を用いて教師あり学習(機械学習)を行なうことでモデル#2を作成する。作成されたモデル#1,#2には、モデル作成用データやモデル検証用データが入力される。モデル作成用データ#1は、第1のグループに分類されたデータのうちの第1のデータに相当する。モデル作成用データ#2は、第1のグループに分類されたデータのうちの第2のデータに相当する。
予測処理部104は、モデル作成部103が作成した複数のモデルを用いて、予測対象データをこれらのモデルに入力した場合の出力の予測を行なう。予測処理部104は、予測対象データをモデル作成部103が作成した複数のモデルのそれぞれに入力し、各モデルの出力(予測結果)をアンサンブル(統合,集計)する。予測処理部104は、このアンサンブル結果を最終的な出力(予測結果)とする。予測処理部104は、複数のモデルの各出力を統合(アンサンブル)して一の出力を生成するアンサンブル処理部に相当する。
予測対象データには、第1フェーズにおいてはモデル作成用データが用いられ、第2フェーズにおいてはモデル検証用データが用いられる。すなわち、予測処理部104は、第1フェーズにおいては、モデル作成用データを複数のモデルのそれぞれに入力し、各モデルの出力をアンサンブルした結果を最終的な出力(予測結果)とする。
また、予測処理部104は、第2フェーズにおいては、モデル検証用データを複数のモデルのそれぞれに入力し、各モデルの出力をアンサンブルした結果を最終的な出力(予測結果)とする。
図7は実施形態の一例としての計算機システム1の予測処理部104による処理を説明するための図である。この図7に示す例においては、2つのモデル#1,#2に予測対象データ、すなわち、モデル作成用データもしくはモデル検証用データが入力されている。各モデル#1,#2からそれぞれ出力される予測結果がアンサンブルされ、予測結果(予測対象データの予測結果)が出力される。
この図7に示す例において、予測対象データが第2のグループに分類されたデータに含まれる第3のデータに相当する。予測処理部104は、予測対象データ(第3のデータ)のモデル#1への入力に応じて当該モデル#1が出力した第1の結果と、予測対象データ(第3のデータ)のモデル#2への入力に応じて当該モデル#2が出力した第2の結果とに基づいて、第1の出力精度を算出する。
なお、複数のモデル出力のアンサンブルは平均値の演算等の既知の手法を用いて実現することができ、予測処理部104によるモデル出力のアンサンブル手法の説明は省略する。
検証部105は、データ作成部102によって作成されたモデル検証用データを用いて、モデル作成部103が作成したモデルの検証を行なう。図8は実施形態の一例としての計算機システム1の検証部105による処理を説明するための図である。検証部105は、データ作成部102によって作成されたモデル検証用データを用いて、モデル作成部103が作成したモデルの検証を行なう。
検証部105は、データ作成部102によって作成された複数のモデル検証用データを、モデル作成部103によって作成された複数のモデルのそれぞれに入力させる。検証部105は、例えば、予測処理部104の機能を用いて、モデル検証用データ(予測対象データ)をモデル作成部103が作成した複数のモデルのそれぞれに入力し、各モデルの出力(予測結果)をアンサンブル(集計)する。予測処理部104は、このアンサンブル結果を最終的な出力(予測結果)とする。
図8に示す例においては、モデル検証用データ#1がモデル#1,#2にそれぞれ入力され、各モデル#1,#2からそれぞれ出力される予測結果がアンサンブルされ、予測結果(モデル検証用データの予測結果)#1が出力されている。また、モデル検証用データ#2がモデル#1,#2にそれぞれ入力され、各モデル#1,#2からそれぞれ出力される予測結果がアンサンブルされ、予測結果(モデル検証用データの予測結果)#2が出力されている。
検証部105は、予測結果#1を、モデル検証用データ#1の出力データと比較することで正答率(精度)を算出する。また、検証部105は、予測結果#2を、モデル検証用データ#2の出力データと比較することで正答率(精度)を算出する。検証部105は、これらの精度(正答率)の平均を算出することで、モデル検証用クラスタの精度を決定する。
すなわち、検証部105は、各モデル検証用データに対する予測精度の平均を算出して、モデル検証用クラスタについての最終的(全体的)な予測精度を取得する。
例えば、検証部105は、モデル検証用データに基づいて出力された予測結果の精度と、モデル作成用データに基づいて出力された予測結果の精度との差が許容閾値内であるかを判断してもよい。すなわち、検証部105は、モデル検証用データに基づいて出力された予測結果の精度と、モデル作成用データに基づいて出力された予測結果の精度とが同レベルの精度であるかを判断してもよい。また、検証部105は、モデル検証用データに基づいて出力された予測結果の精度が所定の閾値以上であるかを判断してもよい。
図8に示す例において、モデル検証用データ#1は、第2のグループに分類されたデータに含まれる第3のデータに相当する。モデル検証用データ#2は、第2のグループに分類されたデータに含まれる第4のデータに相当する。
検証部105は、モデル検証用データ(第3のデータ)#1のモデル#1への入力に応じて当該モデル#1が出力した第1の結果と、モデル検証用データ(第3のデータ)#1のモデル#2への入力に応じて当該モデル#2が出力した第2の結果とに基づいて予測結果#1(第1の出力精度)を算出する。
また、検証部105は、モデル検証用データ(第4のデータ)#2のモデル#1への入力に応じて当該モデル#1が出力した第3の結果と、モデル検証用データ(第4のデータ)#2のモデル#2への入力に応じて当該モデル#2が出力した第4の結果とに基づいて予測結果#2(第2の出力精度)を算出する。検証部105は、これらの予測結果#1(第1の出力精度)と予測結果#2(第2の出力精度)とに基づいて予測精度の検証を行なう。
上述の如く構成された実施形態の一例としての計算機システム1における処理を、図9に示すフローチャート(ステップS1~S4)に従って説明する。
ステップS1において、クラスタリング処理部101が、予め用意された教師データに対して階層型クラスタリングを行なうことで、偏りが認識できる複数のクラスタを作成する。データ作成部102は、クラスタリング処理部101が作成した複数のクラスタを、モデル作成用クラスタとモデル検証用クラスタとに分ける。
そして、データ作成部102は、複数のモデル作成用クラスタからデータを均等にサンプリングしてモデル作成用データを作成する。この際、データ作成部102は、複数のモデル作成用クラスタから異なるサンプリングを複数行なうことで、複数のモデル作成用データを作成する。
また、データ作成部102は、複数のモデル検証用クラスタからデータを均等にサンプリングしてモデル検証用データを作成する。この際、データ作成部102は、複数のモデル検証用クラスタから異なるサンプリングを複数行なうことで、複数のモデル検証用データを作成する。
ステップS2において、モデル作成部103は、機械学習にモデル作成用データ(教師データ)を用いてモデルを作成する。
ステップS3において、予測処理部104は、モデル作成部103が作成した複数のモデルを用いて、予測対象データをこれらのモデルに入力した場合の出力の予測を行なう。
ステップS4において、検証部105は、データ作成部102によって作成されたモデル検証用データを用いて、モデル作成部103が作成したモデルの検証を行なう。
このように、実施形態の一例としての計算機システム1によれば、クラスタリング処理部101が作成した一のクラスタを、データ作成部102がモデル作成用データもしくはモデル検証用データのいずれかに割り当てる。これにより、入力データ空間全体で見たときに例外的なクラスタが存在していても、同一クラスタ内のデータはモデル作成データとモデル検証用データとのいずれか一方にしか含まれない。そのため、モデル作成データの予測精度とモデル検証用データの予測精度とが同時に高くなることはない。このように、同一クラスタ内のデータがモデル作成データとモデル検証用データとに分かれることがないため、過学習を回避することができる。
図10は実施形態の一例としての計算機システム1の学習処理部100により行なわれる二値分類を説明するための図であり、入力データ空間に配置された教師データを例示する。この図10においては、多数の微小点が配置された入力データ空間を例示している。微小点のそれぞれは教師データを表しており、それぞれ入力データに応じた位置にプロットされている。
また、この入力データ空間においては、破線の丸で囲まれた教師データの集合はモデル作成用クラスタを示し、実線の丸で囲まれた教師データの集合はモデル検証用クラスタを示す。
また、この図10においては、各クラスタに符号aまたは符号bが付されている。これらの符号aまたは符号bは教師データの出力を表しており、符号aが付されたクラスタを構成する教師データの出力はそれぞれaであり、符号bが付されたクラスタを構成する教師データの出力はそれぞれbである。すなわち、図10に示す例においては、aまたはbを予測する二値分類を表している。
この図10に示す例において、モデル作成用クラスタからサンプリングしたデータで高精度なモデルを作成すると、符号αを付した太破線を境界として予測するモデルとなる。
図11は図10におけるモデル作成用クラスタを抽出して示す図である。この図11に示すように、モデル作成用クラスタに関しては、符号αを付した太破線の左側には全ての出力bが配置され、その右側には全ての出力aが配置されている。すなわち、モデル作成用クラスタからサンプリングしたデータに対する予測精度が高いことがわかる。
図12は図10におけるモデル検証用クラスタを抽出して示す図である。この図12に示すように、モデル検証用クラスタに関しては、符号αを付した太破線の左側には出力bとともに出力aも配置されており、図11に示したモデル作成用クラスタからサンプリングしたデータに比べて予測精度が低いことがわかる。すなわち、過学習していると判断できる。図10に示す例においては、符号βを付した一点鎖線を境界として予測するモデルが過学習のない好適なモデルとなる。
クラスタリング処理部101が階層型クラスタリングを行なうことで、複数の教師データに対して偏りが認識できるようにクラスタリングを行なうことができる。
モデル作成部103が、機械学習に、モデル作成用クラスタに備えられる複数のクラスタデータ群のそれぞれから抽出(サンプリング)して生成したデータ(モデル作成用データ)を用いる。複数のクラスタから均等にサンプリングすることで取得したモデル作成用データを用いることで、モデルの出力精度を向上させることができる。
検証部105が、複数のモデル検証用データをそれぞれモデルに適用することで、複数のクラスタの各データを検証に反映させることができ、検出精度を向上させることができる。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、第1フェーズにおいて、データ作成部102が複数のモデル作成用データを作成し、モデル作成部103がこれらの複数のモデル作成用データを用いて複数のモデルを作成しているが、これに限定されるものではない。モデル作成部103は、全てのモデル作成用クラスタのデータを用いて一つのモデルを作成してもよい。
なおこの場合、第2フェーズにおいては、上述した実施形態と同様に、複数のモデル検証用データを作成し、これらの複数のモデル検証用データをモデルにそれぞれ適用することが望ましい。そして、予測処理部104は、これらの複数の入力データに基づいて出力された複数の予測結果を用いて精度を求めることが望ましい。
検証を行なう際に、複数のクラスタのデータを一つにまとめた場合には、データ数が多いクラスタの精度が優先されてしまい検出精度が低下するおそれがある。そこで、複数のモデル検証用データをそれぞれモデルに適用することで、複数のクラスタの各データを検証に反映させることができ、検出精度を向上させることができる。
上述した実施形態においては、機械学習をニューラルネットワークに適用した例を示しているが、これに限定されるものではなく、種々変形して実施することができる。また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
1 計算機システム
10 CPU
11 メモリ
12 アクセラレータ
13 通信バス
100 学習処理部
101 クラスタリング処理部
102 データ作成部
103 モデル作成部
104 予測処理部
105 検証部

Claims (8)

  1. 複数のデータをクラスタリングすることで生成された複数のクラスタ単位で、前記複数のデータをモデル作成用データまたはモデル検証用データに分類し、
    前記モデル作成用データを用いた機械学習によってモデルを生成し、
    前記モデル検証用データを用いて、生成された前記モデルの出力精度を検証する、
    処理をコンピュータに実行させることを特徴とする機械学習プログラム。
  2. 前記クラスタリングは、階層型クラスタリングである、
    ことを特徴とする請求項1に記載の機械学習プログラム。
  3. 前記モデル作成用データに分類された前記クラスタは複数あり
    前記モデル検証用データに分類された前記クラスタは複数ある
    ことを特徴とする請求項1または2に記載の機械学習プログラム。
  4. 前記モデルは、前記モデル作成用データのうち第1のデータを用いた機械学習により生成され、
    前記モデル作成用データのうち第2のデータを用いた機械学習により他のモデルを生成する、
    処理を前記コンピュータに実行させることを特徴とする請求項1乃至3のいずれか1項に記載の機械学習プログラム。
  5. 前記検証する処理は、前記モデル検証用データに含まれる第3のデータの前記モデルへの入力に応じて前記モデルが出力した第1の結果と、前記第3のデータの前記他のモデルへの入力に応じて前記他のモデルが出力した第2の結果とに基づいて、第1の出力精度を算出する処理を含む、
    とを特徴とする請求項4に記載の機械学習プログラム。
  6. 前記検証する処理は、前記モデル検証用データに含まれる第4のデータの前記モデルへの入力に応じて前記モデルが出力した第3の結果と、前記第4のデータの前記他のモデルへの入力に応じて前記他のモデルが出力した第4の結果とに基づいて算出された第2の出力精度と、前記第1の出力精度とに基づいて実行される、
    ことを特徴とする請求項5項に記載の機械学習プログラム。
  7. 複数のデータをクラスタリングすることで生成された複数のクラスタ単位で、前記複数のデータをモデル作成用データまたはモデル検証用データに分類する処理と、
    前記モデル作成用データを用いた機械学習によってモデルを生成する処理と、
    前記モデル検証用データを用いて、生成された前記モデルの出力精度を検証する処理と、
    を行なうことを特徴とする機械学習方法。
  8. 複数のデータをクラスタリングすることで生成された複数のクラスタ単位で、前記複数のデータをモデル作成用データまたはモデル検証用データに分類し、
    前記モデル作成用データを用いた機械学習によってモデルを生成し、
    前記モデル検証用データを用いて、生成された前記モデルの出力精度を検証する、
    処理部を有することを特徴とする機械学習装置。
JP2022522091A 2020-05-11 2020-05-11 機械学習プログラム,機械学習方法および機械学習装置 Active JP7409495B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/018777 WO2021229630A1 (ja) 2020-05-11 2020-05-11 機械学習プログラム,機械学習方法および機械学習装置

Publications (3)

Publication Number Publication Date
JPWO2021229630A1 JPWO2021229630A1 (ja) 2021-11-18
JPWO2021229630A5 JPWO2021229630A5 (ja) 2022-11-07
JP7409495B2 true JP7409495B2 (ja) 2024-01-09

Family

ID=78525983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522091A Active JP7409495B2 (ja) 2020-05-11 2020-05-11 機械学習プログラム,機械学習方法および機械学習装置

Country Status (5)

Country Link
US (1) US20230021674A1 (ja)
EP (1) EP4152222A4 (ja)
JP (1) JP7409495B2 (ja)
CN (1) CN115427984A (ja)
WO (1) WO2021229630A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016133895A (ja) 2015-01-16 2016-07-25 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018190125A (ja) 2017-05-01 2018-11-29 日本電信電話株式会社 抽出装置、分析システム、抽出方法及び抽出プログラム
JP2019045929A (ja) 2017-08-30 2019-03-22 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2019159538A (ja) 2018-03-09 2019-09-19 オムロン株式会社 データセット検証装置、データセット検証方法、およびデータセット検証プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6971112B2 (ja) 2017-09-29 2021-11-24 株式会社Screenホールディングス 教師データ作成支援装置、分類装置および教師データ作成支援方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016133895A (ja) 2015-01-16 2016-07-25 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2018190125A (ja) 2017-05-01 2018-11-29 日本電信電話株式会社 抽出装置、分析システム、抽出方法及び抽出プログラム
JP2019045929A (ja) 2017-08-30 2019-03-22 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2019159538A (ja) 2018-03-09 2019-09-19 オムロン株式会社 データセット検証装置、データセット検証方法、およびデータセット検証プログラム

Also Published As

Publication number Publication date
EP4152222A1 (en) 2023-03-22
CN115427984A (zh) 2022-12-02
WO2021229630A1 (ja) 2021-11-18
EP4152222A4 (en) 2023-06-07
JPWO2021229630A1 (ja) 2021-11-18
US20230021674A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
AU2017437537B2 (en) Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data
TW202137068A (zh) 循環神經網路內的距離度量與分群的方法
JP5656202B2 (ja) 特徴抽出装置、特徴抽出方法、及び、そのプログラム
Chakraborty et al. Hellinger net: A hybrid imbalance learning model to improve software defect prediction
JP2007328507A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CN110288199A (zh) 产品质量预测的方法
JP2019159836A (ja) 学習プログラム、学習方法および学習装置
KR20220026804A (ko) 역강화학습 기반 배달 수단 탐지 장치 및 방법
JP7172612B2 (ja) データ拡張プログラム、データ拡張方法およびデータ拡張装置
US20020095393A1 (en) Computer program for and method of discrete event computer simulation incorporating biological paradigm for providing optimized decision support
JP7409495B2 (ja) 機械学習プログラム,機械学習方法および機械学習装置
JP2022502725A (ja) 人工知能基盤の悪質延滞探知装置及び方法
JP2020061007A (ja) 学習プログラム、学習方法および学習装置
CN117076993A (zh) 基于云原生的多智能体博弈决策系统及方法
CN112926574A (zh) 图像识别方法、图像识别装置和系统
JP6725194B2 (ja) 学習済みモデルを生成する方法、データを分類する方法、コンピュータおよびプログラム
Rausch et al. Sensitivity analysis and uncertainty quantification of state-based discrete-event simulation models through a stacked ensemble of metamodels
KR102309002B1 (ko) 환자별 유전자 특성에 기초하여 암의 예후 예측에 활용할 바이오 마커를 선정하는 전자 장치 및 그 동작 방법
JP2000339005A (ja) 制御対象の最適化制御方法及び制御装置
JP2023518789A (ja) 人工知能モジュールを更新するためにデータセットを選択するための方法
JP7172067B2 (ja) 学習プログラム、学習方法および学習装置
KR102472596B1 (ko) 레이어 적응적 임계값 결정 기반 딥러닝 모델 앙상블 장치 및 방법
US20060074829A1 (en) Method and system for generating object classification models
KR102535010B1 (ko) 가중치 기반 앙상블 모델 선택 시스템 및 방법
JP7405148B2 (ja) 情報処理装置、学習方法、及び、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231113

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20231113

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150