(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】生成装置、方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20250311BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022579183
(86)(22)【出願日】2021-02-02
(86)【国際出願番号】 JP2021003735
(87)【国際公開番号】W WO2022168163
(87)【国際公開日】2022-08-11
【審査請求日】2023-06-13
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】前島 綜太朗
(72)【発明者】
【氏名】尾花 和昭
(72)【発明者】
【氏名】角田 啓介
(72)【発明者】
【氏名】児玉 翠
(72)【発明者】
【氏名】荒井 直樹
【審査官】渡辺 順哉
(56)【参考文献】
【文献】米国特許第10510022(US,B1)
【文献】特開2008-123011(JP,A)
【文献】国際公開第2017/168458(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する生成装置であって、
前記複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得する取得部と、
前記精度と前記寄与度とから前記指標を生成する生成部と、
を含む生成装置。
【請求項2】
前記生成部は、ユーザにより指定された重みを付加した、前記特徴量の種類毎の寄与度を用いて前記指標を生成する請求項1に記載の生成装置。
【請求項3】
前記生成部は、大きさの尺度を一致させた、前記特徴量の種類毎の寄与度を用いて前記指標を生成する請求項2に記載の生成装置。
【請求項4】
前記生成部は、前記精度の大きさと前記寄与度の大きさとの尺度を一致させて前記指標を生成する請求項1~請求項3のいずれか1項に記載の生成装置。
【請求項5】
前記生成部は、前記精度及び前記寄与度の少なくとも一方に重みを付加して前記指標を生成する請求項1~請求項4のいずれか1項に記載の生成装置。
【請求項6】
前記学習モデルは、空調利用部の温度最適化を目標として、空調制御器の温度設定の最適制御方法の算出を強化学習で行う場合における、強化学習エージェントのアクションである空調機の温度設定に応じて温度の変化を予測する環境モデルであり、
前記特徴量は、前記空調利用部の温度及び前記空調機の温度設定値を含む空調制御に関する特徴量である
請求項1~請求項5のいずれか1項に記載の生成装置。
【請求項7】
取得部及び生成部を含み、複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する
生成装置が実行する生成方法であって、
前記取得部が、前記複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得し、
前記生成部が、前記精度と前記寄与度とから前記指標を生成する
生成方法。
【請求項8】
複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する生成プログラムであって、
コンピュータを、
前記複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得する取得部、及び、
前記精度と前記寄与度とから前記指標を生成する生成部
として機能させるための生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、生成装置、生成方法、及び生成プログラムに関する。
【背景技術】
【0002】
入力データのパターンを自動で機械学習し、動画像や音声の分類、時系列データの推移等を予測する学習モデルを作成する機械学習技術が普及している。また、学習モデルは、ベースとなる構造、パラメータ、入力するデータ形状等、学習モデルの振る舞いに関わる項目の設定によって、様々なパターンで作成され得る。そのため、機械学習技術の利用においては、予測精度が所定の基準を満たすように、適切なパターンの学習モデルを選択する必要がある。
【0003】
学習モデルの選択に関する技術として、同じ目的変数を予測する学習モデルであって、構造や利用する特徴量が異なる様々な学習モデルを生成し、生成した学習モデルを予測精度の降順に列挙する技術が提案されている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0004】
【文献】原聡、石畠正和、前原貴憲、「機械学習モデルの列挙」、人工知能基本問題研究会、105:P.1-5、2018年
【発明の概要】
【発明が解決しようとする課題】
【0005】
機械学習技術では、学習モデルの予測精度だけでなく、予測の根拠が重要になる場合がある。例えば、学習モデルによる予測結果に基づいて病気の診断を行う場合など、人間の意思決定を支援するタスクでは、学習モデルによる予測結果だけでなく、その予測の根拠を見て、予測結果の信頼性が判断される。そのため、予測精度だけでなく、予測の根拠も所定の基準を満たすように、学習モデルを適切に選択する必要がある。
【0006】
従来技術は、予め決められた指標に基づいて推定された予測結果の精度のみを基準として学習モデルを列挙しているため、上記のように予測の根拠も重視したい場合には、学習モデルが最適な順で列挙されているとは限らない、という問題がある。
【0007】
開示の技術は、上記の点に鑑みてなされたものであり、所望の予測精度及び予測の根拠が得られる学習モデルを適切に選択するための指標を生成することを目的とする。
【課題を解決するための手段】
【0008】
本開示の第1態様は、複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する生成装置であって、前記複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得する取得部と、前記精度と前記寄与度とから前記指標を生成する生成部と、を含んで構成される。
【0009】
本開示の第2態様は、複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する生成方法であって、取得部が、前記複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得し、生成部が、前記精度と前記寄与度とから前記指標を生成する方法である。
【0010】
本開示の第3態様は、複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する生成プログラムであって、コンピュータを、前記複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得する取得部、及び、前記精度と前記寄与度とから前記指標を生成する生成部として機能させるためのプログラムである。
【発明の効果】
【0011】
開示の技術によれば、所望の予測精度及び予測の根拠が得られる学習モデルを適切に選択するための指標を生成することができる。
【図面の簡単な説明】
【0012】
【
図1】第1実施形態の概要を説明するための図である。
【
図2】SHAP値の一例を説明するための概略図である。
【
図3】学習モデル選択装置のハードウェア構成を示すブロック図である。
【
図4】第1実施形態に係る学習モデル選択装置の機能構成の一例を示すブロック図である。
【
図5】学習モデル選択処理の流れを示すシーケンス図である。
【
図6】第2実施形態に係る学習モデル選択装置の機能構成の一例を示すブロック図である。
【
図9】学習データの目的変数として作成されたカラムの一例を示す図である。
【
図10】学習データの説明変数として作成された系列カラムの一例を示す図である。
【
図11】特徴識別子毎の寄与度の算出を説明するための図である。
【
図12】寄与度重みベクトル及び全体寄与度重みの一例を示す図である。
【
図13】取得部による算出結果の一例を示す図である。
【
図14】取得部による取得結果、及び生成部による生成結果の一例を示す図である。
【
図15】評価用データセット作成処理の一例を示すフローチャートである。
【
図16】学習モデル評価処理の一例を示すフローチャートである。
【
図17】全体寄与度重みの相違によるモデル評価関数の相違を説明するための図である。
【
図18】全体寄与度重みの調整を説明するための図である。
【
図19】W2=1.0の場合に、モデル評価関数を最大化する学習パターンを選択した場合の予測結果の一例を示す図である。
【
図20】W2=1.5の場合に、モデル評価関数を最大化する学習パターンを選択した場合の予測結果の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0014】
<第1実施形態>
図1は、第1実施形態の概要を説明するための図である。
図1に示すように、複数の学習モデル(
図1の例では、学習モデルA及びB)の各々には、入力データが入力され、各学習モデルにおいて予測処理が行われ、予測結果である出力データが出力される。この予測結果である出力データと、出力データの正解とを比較することで、学習モデルの予測精度が得られる。
【0015】
従来では、この予測精度を用いて学習モデルの評価が行われる。一方、上記のように、予測精度だけではなく、予測の根拠も重視して学習モデルの評価を行いたい場合には、所望の特徴量が、学習モデルによる予測結果を得るために貢献していることを用いることが考えられる。所望の特徴量は、事前知識に基づき選択すればよい。例えば、肺がんになる確率を学習モデルにより予測しようとする場合、肺がんになる確率は、煙草を消費する量と関係がある事は知られているため、煙草を消費する量、又は、煙草を消費する量から抽出された値を、所望の特徴量とすればよい。
【0016】
上記の点を踏まえ、第1実施形態では、予測精度に加え、特徴量の寄与度も用いて、学習モデルを選択するための指標を生成する。特徴量の寄与度とは、学習モデルで利用される特徴量の種類毎の、予測結果に対する貢献度を示す値である。すなわち、ある特徴量の値が予測結果に与える影響が大きいほど、その特徴量の寄与度は大きいと言える。ここで、特徴量の種類とは、学習モデルの機械学習に用いる学習データに存在する各カラムを区別する情報である。すなわち、異なるカラム同士の特徴量の種類は異なる。ただし、後述する第2実施形態では、学習データとして時系列データを用い、学習データのカラムには、あるカラムの時系列をシフトしたカラムも含まれる。この場合、元のカラムと、時系列をシフトしたカラムとの特徴量の種類は同じであるとする。また、時系列をシフトしたカラムであっても、元のカラムの特徴量が目的変数、時系列をシフトしたカラムの特徴量が説明変数の場合には、元のカラムと、時系列をシフトしたカラムとでは、特徴量の種類は異なるものとして扱う。
【0017】
寄与度の一例としては、例えば、SHAP(SHapley Additive exPlanations、参考文献1)値が挙げられる。
【0018】
参考文献1: Scott M.Lundberg and Su-In Lee, "A Unified Approach to Interpreting Model Predictions", Advances in Neural Information Processing Systems, pp. 4765-4774, 2017.
【0019】
図2に、SHAP値の概略図の一例を示す。
図2の例では、横軸がSHAP値の大きさを表しており、右側にいくほど寄与度が正の向きに大きく、左側にいくほど寄与度が負の向きに大きいことを表している。また、
図2の例では、各特徴量のデータ毎のSHAP値(
図2中の各点)を、特徴量の種類毎にヒストグラム形式で表している。なお、
図2の例では、種類が同じ特徴量であっても、時系列がシフトされている特徴量については、それぞれ区別して表している。また、各点の色の濃度が濃いほど、その点が示す特徴量の値が大きいことを表している。
【0020】
第1実施形態では、例えば上記のSHAP値のような特徴量の種類毎の寄与度のうち、所望の種類の特徴量の寄与度が高い学習モデルが選択されるように、学習モデルを選択するための指標を生成する。所望の特徴量の種類は、ユーザにより指定される。そして、生成された指標を用いて、予測精度、及び指定された種類の特徴量の寄与度が所定の基準を満たすように、学習モデルが選択される。以下、上記のように、複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する機能を含む学習モデル選択装置について説明する。
【0021】
図3は、第1実施形態に係る学習モデル選択装置10のハードウェア構成を示すブロック図である。
図3に示すように、学習モデル選択装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16、及び通信I/F(Interface)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0022】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。第1実施形態では、ROM12又はストレージ14には、後述する学習モデル選択処理を実行するための学習モデル選択プログラムが格納されている。
【0023】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム及び各種データを格納する。
【0024】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0025】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。
【0026】
通信I/F17は、学習モデル選択装置10外部の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
【0027】
次に、学習モデル選択装置10の機能構成について説明する。
図4は、学習モデル選択装置10の機能構成の一例を示すブロック図である。
図4に示すように、学習モデル選択装置10は、機能構成として、材料データ収集部21と、材料データ保存部22と、学習パターン送信部23と、評価用データセット作成部24と、評価用データセット保存部27とを含む。評価用データセット作成部24は、さらに検証用データ作成部25と、学習モデル作成部26とを含む。また、学習モデル選択装置10は、学習モデル評価部28と、選択学習モデル保存部32とを含む。学習モデル評価部28は、さらに取得部29と、生成部30と、選択部31とを含む。取得部29及び生成部30は、開示の技術の生成装置の一例である。各機能構成は、CPU11がROM12又はストレージ14に記憶された生成プログラムを含む学習モデル選択プログラムを読み出し、RAM13に展開して実行することにより実現される。
【0028】
材料データ収集部21は、学習モデルの作成に利用する学習用データセット構築の材料となる材料データを収集する。材料データとは、目的変数及び説明変数として利用可能なデータであり、各データをそれぞれ区別するための固有のデータ識別子を備えるデータである。材料データ収集部21は、ユーザにより指定されたデータ識別子の入力を受け付け、受け付けたデータ識別子を備える材料データを収集する。材料データ収集部21は、例えば、センサから出力されるセンサ値、外部又は内部の記憶装置に記憶されたデータ等を、材料データとして収集してよい。材料データ収集部21は、収集した材料データを、材料データ保存部22に保存する。
【0029】
学習パターン送信部23は、ユーザにより指定された学習パターンセットの入力を受け付け、受け付けた学習パターンセットを、評価用データセット作成部24へ送信する。
【0030】
学習モデルは、ベースとなる構造、パラメータ、入力するデータ形状等の違いにより、出力データの振る舞いが変化する。ここでは、学習モデルの出力データの振る舞いに影響を与える情報の設定である学習パターンを、ユーザが予め複数個作成してまとめたものを「学習パターンセット」という。各学習パターンには、各学習パターンを識別するためのインデックスが付与されている。また、各学習パターンの構成要素には、例えば、ベースモデル識別子、ハイパーパラメータ、及び学習データ構築方法が含まれる。
【0031】
ベースモデル識別子は、学習モデルのベースとなるモデル構造を特定する識別子であり、例えば、学習モデルのAPI(Application Programming Interface)名等である。ハイパーパラメータは、ベースモデル識別子に対応した、機械学習の方法に関わるパラメータである。各ハイパーパラメータの値は一意に確定していてもよいし、複数の候補があってもよい。学習データ構築方法は、材料データを加工し、学習モデルに入力する説明変数及び目的変数を含む学習データを構築する方法である。学習データ構築方法として、学習データを構成する複数の特徴量の各々の、特徴量の種類を示す識別子である特徴識別子、特徴識別子毎の特徴量を得るための、材料データに対する計算方法等、複数の項目が設定されている。なお、上述したように、学習データとして時系列データを用い、学習データのカラムには、あるカラムの時系列をシフトしたカラムも含まれる場合、元のカラムと、時系列をシフトしたカラムとの特徴量の種類は同じである。したがって、元のカラムの特徴量と、時系列をシフトしたカラムの特徴量とでは、同じ特徴識別子が用いられる。ただし、元のカラムの特徴量が目的変数、時系列をシフトしたカラムの特徴量が説明変数の場合には、元のカラムの特徴量と、時系列をシフトしたカラムの特徴量とでは、異なる特徴識別子が用いられる。
【0032】
評価用データセット作成部24は、検証用データ作成部25により作成された検証用データ、及び学習モデル作成部26により作成された学習モデルを評価用データとする。評価用データセット作成部24は、学習パターンの数、すなわち、学習パターンセットに含まれるインデックス数分の評価用データをまとめて評価用データセットとし、評価用データセット保存部27に保存する。
【0033】
検証用データ作成部25は、材料データ保存部22から材料データを取得し、学習パターンに含まれる学習データ構築方法に従って、材料データから学習データを作成する。また、検証用データ作成部25は、学習データの一部を検証用データとして抽出し、残りの学習データを学習モデル作成部26へ出力する。検証用データは、作成された学習モデルの検証に用いるデータであり、学習モデルの機械学習に利用しないデータである。
【0034】
学習モデル作成部26は、学習パターンに含まれるベースモデル識別子及びハイパーパラメータに従って、検証用データ作成部25から出力された学習データを利用し、学習モデルを作成する。
【0035】
学習モデル評価部28は、評価用データセット保存部27に保存された複数の学習モデルの各々を、取得部29及び生成部30により生成された指標に基づいて評価し、選択部31により所望の学習モデルを選択する。そして、学習モデル評価部28は、選択部31により選択された学習モデルを選択学習モデル保存部32に保存する。
【0036】
取得部29は、各学習モデルの予測精度と、ユーザにより指定された少なくとも1種類の特徴量の、学習モデルによる予測結果に対する寄与度とを取得する。具体的には、取得部29は、検証用データに含まれる説明変数を学習モデルへ入力した際の学習モデルの出力データと、検証用データに含まれる目的変数との誤差に基づく予測精度を取得する。予測精度は、例えば、RMSE(Root Mean Square Error)に基づく値としてよい。また、取得部29は、検証用データを用いて、学習データを構成する特徴量の種類毎の寄与度を取得する。寄与度は、例えばSHAP値に基づく値としてよい。取得部29は、取得した学習モデル毎の予測精度及び寄与度を生成部30へ出力する。
【0037】
生成部30は、取得部29から出力された予測精度及び寄与度を用いて、学習モデル毎に、学習モデルを選択するための指標を生成する。生成部30は、ユーザにより指定された種類の特徴量についての寄与度のみを用いて、指標を生成してよい。また、生成部30は、ユーザにより指定された重みが付加された、特徴量の種類毎の寄与度を用いて指標を生成してもよい。これにより、予測精度と、所望の特徴量の寄与度、すなわち所望の予測の根拠とを考慮した指標を生成することができる。寄与度に重みを付加する場合は、さらに、いずれの種類の特徴量の寄与度を重視して指標を生成するかを調整することができる。
【0038】
また、生成部30は、特徴量の種類毎の寄与度のスケールを一致させた上で、指標を生成してもよい。ここでのスケールとは、値の大きさの尺度のことである。これにより、各種類の特徴量について、相対的な寄与度の大きさを公平に評価可能な指標を生成することができる。また、生成部30は、予測精度と寄与度とのスケールを一致させて、指標を生成してもよい。これにより、予測精度と寄与度との大きさを公平に評価可能な指標を生成することができる。また、生成部30は、予測精度及び寄与度の少なくとも一方に重みを付加して指標を生成してよい。これにより、学習モデルを選択する際に、予測精度及び寄与度のいずれを重視するかを調整することができる。なお、上記のように、予測精度と寄与度とのスケールを一致させた上で、予測精度及び寄与度の少なくとも一方に重みを付加することで、予測精度及び寄与度のいずれを重視するかを、より適切に調整することができる。生成部30は、各学習モデルについて生成した指標を、選択部31へ出力する。
【0039】
選択部31は、生成部30から出力された各学習モデルの指標に基づいて、評価用データセット保存部27に保存された複数の学習モデルから、指標が最も高い学習モデルを選択する。なお、選択部31は、指標が所定値以上の1個以上の学習モデルを選択してもよいし、指標が上位所定個の学習モデルを選択してもよい。選択部31は、複数の学習モデルを選択した場合、選択した学習モデルを指標と共にユーザに提示して、ユーザから採用する学習モデルの選択を受け付けてもよい。
【0040】
次に、学習モデル選択装置10の作用について説明する。
図5は、学習モデル選択装置10による学習モデル選択処理の流れを示すシーケンス図である。CPU11がROM12又はストレージ14から、生成プログラムを含む学習モデル選択プログラムを読み出して、RAM13に展開して実行することにより、学習モデル選択処理が行なわれる。
【0041】
ステップS11において、CPU11は、材料データ収集部21として、ユーザにより指定されたデータ識別子の入力を受け付け、受け付けたデータ識別子を備える材料データを収集し、材料データ保存部22に保存する。次に、ステップS12において、CPU11は、学習パターン送信部23として、ユーザにより指定された学習パターンセットの入力を受け付け、受け付けた学習パターンセットを、評価用データセット作成部24へ送信する。
【0042】
次に、ステップS13において、CPU11は、評価用データセット作成部24として、材料データ保存部22から材料データを取得する。次に、ステップS14において、CPU11は、評価用データセット作成部24として、評価用データセット作成処理を実行する。具体的には、CPU11は、評価用データセット作成部24の検証用データ作成部25として、学習パターンセットに含まれる学習パターン毎に、学習パターンに含まれる学習データ構築方法に従って、材料データから学習データを作成する。また、CPU11は、検証用データ作成部25として、作成した学習データの一部を検証用データとして抽出し、残りの学習データを学習モデル作成部26へ出力する。さらに、CPU11は、評価用データセット作成部24の学習モデル作成部26として、学習パターンに含まれるベースモデル識別子及びハイパーパラメータに従って、検証用データ作成部25から出力された学習データを利用し、学習モデルを作成する。
【0043】
次に、ステップS15において、CPU11は、評価用データセット作成部24として、検証用データ作成部25により作成された検証用データ、及び学習モデル作成部26により作成された学習モデルを評価用データとする。そして、CPU11は、評価用データセット作成部24として、学習パターンの数、すなわち、学習パターンセットに含まれるインデックス数分の評価用データをまとめて評価用データセットとし、評価用データセット保存部27に保存する。
【0044】
次に、ステップS16において、CPU11は、学習モデル評価部28として、評価用データセット保存部27に保存された評価用データセットを取得する。また、ステップS17において、CPU11は、学習モデル評価部28として、ユーザにより指定された特徴量の種類(
図5中の「特徴量の指定」)の入力を受け付ける。なお、CPU11は、学習モデル評価部28として、特徴量の指定に替えて、寄与度に対する特徴量の種類毎の重み(
図5中の「寄与度の重み」)を受け付けてもよい。さらに、CPU11は、学習モデル評価部28として、指標を生成する際に、予測精度及び寄与度の少なくとも一方に付与する重み(
図5中の「全体の重み」)を受け付けてもよい。
【0045】
次に、ステップS18において、CPU11は、学習モデル評価部28として、学習モデル評価処理を実行する。具体的には、CPU11は、学習モデル評価部28の取得部29として、評価用データセットに含まれる学習モデル毎に、検証用データを用いて予測精度を取得する。また、CPU11は、取得部29として、学習モデル毎に、検証用データを用いて、特徴量の種類毎の寄与度を取得する。そして、CPU11は、学習モデル評価部28の生成部30として、取得部29で取得された予測精度、及びユーザにより指定された種類の特徴量についての寄与度を用いて、学習モデル毎に、学習モデルを選択するための指標を生成する。なお、特徴量の指定に替えて、寄与度の重みが受け付けられている場合には、CPU11は、生成部30として、特徴量の種類毎の寄与度に、寄与度の重みを付加して指標を生成する。さらに、全体の重みが受け付けられている場合には、CPU11は、生成部30として、予測精度及び寄与度の少なくとも一方に全体の重みを付加して指標を生成する。そして、CPU11は、学習モデル評価部28の選択部31として、生成部30により生成された各学習モデルの指標に基づいて、評価用データセット保存部27に保存された複数の学習モデルから、指標が最も高い学習モデルを選択する。
【0046】
次に、ステップS19において、CPU11が、学習モデル評価部28として、選択部31により選択された学習モデル(
図5中の「選択学習モデル」)を選択学習モデル保存部32に保存し、学習モデル選択処理は終了する。
【0047】
なお、ステップS18において、CPU11が取得部29及び生成部30として実行する処理が、CPU11が学習モデル選択プログラムに含まれる生成プログラムを実行することにより行われる生成処理の一例である。また、生成処理は、開示の技術の生成方法の一例である。
【0048】
従来は、学習モデルの評価において、予測結果に対する特徴量の種類毎の寄与度の大小や正負等は考慮されていない。そのため、学習モデルを「予測精度」及び「特徴量の種類毎の寄与度」の2つの指標で評価すると明示する場合、適切な学習モデルを選択できない場合がある。例えば、非特許文献1に記載の技術のように、構造や利用する特徴量が異なる複数の学習モデルを予測精度の降順に列挙したとしても、所望の予測精度及び予測の根拠を満たす最適な順に列挙されているとは限らない。これは、従来技術では、予め決められた指標に基づいて推定された予測精度のみを基準としてモデルの候補を挙げているためである。学習データや学習モデルの性質、学習モデルを選択した後に設計したコスト関数等によって、特徴量の種類毎の寄与度は変ってきてしまう。この点が従来技術では考慮されておらず、学習モデルの予測精度が高いことと、モデルの特徴量の寄与度の分布が所望の特徴量の寄与度の分布に近いこととの両方を満たす学習モデルを選択することが困難となっている。そのため、従来技術では、列挙された学習モデルから、人手で最適な学習モデルを探索する作業が必要となる。特に、特徴量の種類が増加すると、候補の学習モデルの数も膨大になり、学習モデル選択の作業自体が困難になる課題がある。
【0049】
一方、第1実施形態に係る学習モデル選択装置は、複数の学習モデルの各々について、学習モデルの予測精度と、ユーザにより指定された少なくとも1種類の特徴量についての寄与度と、から指標を生成する。この指標は、ユーザにより指定された種類の特徴量による寄与及び予測精度の両方が加味されていると言い換えてもよい。そして、学習モデル選択装置は、この指標を用いて、複数種類の特徴量を用いて機械学習された複数の学習モデルの中から所定の学習モデルを選択する。これにより、第1実施形態に係る学習モデル選択装置は、所望の予測精度及び予測の根拠が得られる学習モデルを適切に選択することができる。
【0050】
<第2実施形態>
次に第2実施形態について説明する。第2実施形態では、第1実施形態をより具体化した実施形態について説明する。具体的には、ある建物の内部に存在する、ドア等で外部と仕切られた空調利用部において、温度快適性の最適化を目標として、空調制御器の温度設定の最適制御方法の算出を強化学習で行う例である。強化学習エージェントのアクションである空調機の温度設定に応じて温度の変化を予測する環境モデルが、選択対象の学習モデルである。なお、第2実施形態に係る学習モデル選択装置のハードウェア構成は、
図3に示す第1実施形態に係る学習モデル選択装置10のハードウェア構成と同様であるため、説明を省略する。
【0051】
第2実施形態に係る学習モデル選択装置110の機能構成について説明する。
図6は、学習モデル選択装置110の機能構成の一例を示すブロック図である。
図6に示すように、学習モデル選択装置110は、機能構成として、材料データ収集部121と、材料データ保存部122と、学習パターン送信部123と、評価用データセット作成部124と、評価用データセット保存部127とを含む。評価用データセット作成部124は、さらに検証用データ作成部125と、学習モデル作成部126とを含む。また、学習モデル選択装置110は、学習モデル評価部128と、選択学習モデル保存部132とを含む。学習モデル評価部128は、さらに取得部129と、生成部130と、選択部131とを含む。取得部129及び生成部130は、開示の技術の生成装置の一例である。各機能構成は、CPU11がROM12又はストレージ14に記憶された生成プログラムを含む学習モデル選択プログラムを読み出し、RAM13に展開して実行することにより実現される。
【0052】
なお、第2実施形態に係る学習モデル選択装置110の機能構成と、第1実施形態に係る学習モデル選択装置10の機能構成とで、符号の末尾2桁が共通する機能構成同士において、共通する内容については、詳細な説明を省略する。
【0053】
材料データ収集部121は、空調制御に関する材料データを収集する。例えば、材料データ収集部121は、室温、外気温、人流、空調設定値、及びオープンフラグで表されるデータ識別子を備えた材料データの各々を収集する。室温は、空調利用部で計測される温度である。外気温は、屋外で計測される温度である。人流は、空調利用部の中に存在するユニークな人数である。ユニークな人数とは、単位時間当たりに空調利用部に存在する人数であり、単位時間内に空調利用部から出入りした場合でも、同一人物については重複してカウントしない人数(すなわち、延べ人数ではない)である。単位時間は、例えばデータのサンプリング間隔としてよい。空調設定値は、空調利用部に存在する空調機の温度設定値である。オープンフラグは、空調利用部を含む建物に人が出入りできるかどうかを示すフラグである。例えば、建物への出入りが可能な場合を「1」、出入りが不可能な場合を「0」としてよい。
【0054】
材料データのうち、室温は、目的変数として利用される材料データであり、外気温、人流、空調設定値、及びオープンフラグは、説明変数として利用される材料データである。第2実施形態のように、学習モデルの用途が強化学習の環境モデルとしての運用を前提とする場合は、説明変数の中に、強化学習エージェントのアクションに相当するデータそのもの、又はそれを加工したデータを含むことが必要になる。なぜなら、強化学習エージェントのアクションにより環境モデルの出力が変化する必要があるためである。ここでは、空調設定値を利用した説明変数が必須となる。
【0055】
材料データ収集部121、例えば、室温、外気温、空調設定値、及びオープンフラグを、BEMS(Building and Energy Management System)201から収集してよい。また、材料データ収集部121は、人流を、空調利用部に設置された人流検知センサ202から収集してよい。これらの材料データは、全て時系列データである。具体的には、各材料データは、データのサンプリング点の日時をインデックスとし、インデックスと、そのインデックスが示す日時におけるデータ値とが対応付けられた時系列データである。材料データ収集部121は、収集した材料データを材料データ保存部122に保存する。
図7に、材料データ保存部122に保存される材料データの一例を示す。
【0056】
学習パターン送信部123は、ユーザにより指定された学習パターンセットの入力を受け付け、受け付けた学習パターンセットを、評価用データセット作成部124へ送信する。
図8に、学習パターンセットの一例を示す。
図8の例において、学習パターン(p)は、学習パターンのインデックスである。ここでは、p=1,2,3である。また、以下では、インデックスがp(p=1,2,3)の学習パターンを「学習パターンp」と表記する。また、
図8の例では、学習パターン1のベースモデル識別子は、Light GBM(Gradient Boosting Machine、参考文献2)である。また、学習パターン2及び3のベースモデル識別子は、XGBoost(eXtreme Gradient Boosting、参考文献3)である。学習パターン2と学習パターン3とでは、学習データ構築方法(詳細は後述)に一部相違がある。
【0057】
参考文献2:Ke et al., "LightGBM: A Highly Efficient Gradient Boosting Decision Tree", 2017.
参考文献3:Tianqi Chen, Carlos Guestrin, "XGBoost: A Scalable Tree Boosting System", 2016.
【0058】
ここで、第2実施形態では、材料データが時系列データであり、上述の
図7に示すような、複数のカラムを含むテーブルデータとして表現することができる。そのため、テーブルデータの異なるカラム同士の演算、同じカラムの時間差分の取得等により、学習データを構成する特徴量となる新しいカラムを作成可能である。さらに、説明変数の場合、上記のように作成した新しいカラムのインデックスをシフトさせたカラム、すなわち時系列をシフトさせたカラムを、新しいカラムとして作成可能である。以下では、このように時系列をシフトさせたカラムを「系列カラム」という。学習パターンの学習データ構築方法には、この新しいカラムの作成方法が定義される。
【0059】
図8の例では、学習データ構築方法として、特徴識別子F
i
p、計算式E
i
p、及び系列パラメータS1
i
p、S2
i
p、S3
i
pが定義されている。特徴識別子F
i
pは、特徴量の種類を示す識別子である。iは特徴識別子のインデックスであり、ここでは、i=0,1,2,3,4,5である。したがって、特徴識別子F
i
pは、学習パターンpのi番目の種類の特徴量を表す。また、系列カラムの場合、時系列がシフトしているだけで、シフトさせる元となった材料データのカラム又は新たに作成されたカラム、及び系列カラムのそれぞれの特徴量は、本質的には同じ種類の特徴量であるため、同じ特徴識別子F
i
pを用いる。例えば、あるカラムAと、カラムAのデータを30分後方にシフトして新たに作成したカラムA’とは、両方ともAという同じ特徴識別子を持つ。なお、以下では、系列カラムのそれぞれを区別するために、例えばF
i
p-30minのように、シフトした時間を示す表記を特徴識別子に付記して表す。なお、i=0の特徴識別子F
i
pが示す特徴量を目的変数、i≧1の特徴識別子F
i
pが示す特徴量を説明変数とする。例えば、
図8の1行目の室温階差(F
0
1)は、学習パターン1において、特徴識別子F
0
1で表される特徴量の種類が、目的変数である「室温階差」であることを表している。また、例えば、
図8の2行目の室温階差(F
1
1)は、学習パターン1において、特徴識別子F
1
1で表される特徴量の種類が、説明変数である「室温階差」であることを表している。
【0060】
計算式E
i
pは、材料データから特徴量となる新しいカラムを計算するための式であり、材料データのデータ識別子を用いて規定される。例えば、
図8の1行目の計算式は、時刻tの室温階差(F
0
1)を計算するための計算式E
0
1であり、E
0
1は、時刻tの室温から、時刻tの60分前の室温を減算することを規定している。以下では、時刻tの<データ識別子>又は<特徴識別子>を「<データ識別子>又は<特徴識別子>(t)」、例えば「室温(t)」、「室温階差(t)」のように表記する。
【0061】
系列パラメータS1i
p、S2i
p、S3i
pは、計算式Ei
pで作成した新しいカラムXに対し、そのカラムXを基に系列カラムを作成するためのパラメータである。S1i
pは系列数、S2i
pは開始時点、S3i
pは終了時点を規定するパラメータである。具体的には、S2i
p~S3i
pの区間を等間隔にS1i
pの数だけ分割し、Xを各時点にシフトした系列カラムを作成することを表す。特徴識別子F0
pの場合、すなわち目的変数の場合、系列カラムを作成する必要はないため、系列パラメータは規定されない。
【0062】
検証用データ作成部125は、材料データ保存部122から材料データを取得し、学習パターンに含まれる学習データ構築方法に従って、材料データから学習データを作成する。
図8に示す学習パターンセットの例を用いて、学習データ作成の具体例について説明する。検証用データ作成部125は、E
0
1=室温(t)-室温(t-60min)により、特徴識別子F
0
1で示される室温階差(t)を計算する。例えば、検証用データ作成部125は、[2020-01-01 09:00:00のF
0
1]=[2020-01-01 09:00:00の室温]-[2020-01-01 08:00:00の室温]のように計算する。
図9に、学習データの目的変数として作成された特徴識別子F
0
1で示される室温階差(t)の一例を示す。
【0063】
また、例えば、検証用データ作成部125は、計算式E
1
1と、系列パラメータS1
1
1/S2
1
1/S3
1
1=6/-60min/-360minとを用いて、特徴識別子F
1
1で示される室温階差(t)の系列カラムを計算する。具体的には、検証用データ作成部125は、計算式E
1
1=室温(t)-室温(t-60min)で計算されるF
1
1を、-60minシフトしたF
1
1-60minを、室温(t-60min)-室温(t-120min)と計算する。例えば、検証用データ作成部125は、[2020-01-01 09:0:00のF
1
1-60min]=[2020-01-01 08:00:00の室温]-[2020-01-01 07:00:00の室温]と計算する。
図10に、学習データの説明変数として作成された特徴識別子F
1
1~F
5
1の系列カラムの一例を示す。なお、
図8の例に従い、
図10におけるF
1
1は室温階差、F
2
1は外気温、F
3
1は人流階差、F
4
1は空調設定差分、F
5
1はオープンフラグのそれぞれを示す特徴識別子である。
【0064】
また、検証用データ作成部125は、学習データの一部を検証用データとして抽出し、残りの学習データを学習モデル作成部126へ出力する。例えば、検証用データ作成部125は、1か月分の材料データを取得した場合、1か月分の学習データを作成する。そして、検証用データ作成部125は、1か月のうち、事前に規定したある1週間分の学習データを検証用データとして抽出する。
【0065】
学習モデル作成部126は、学習パターンに含まれるベースモデル識別子が示すモデル構造にハイパーパラメータを設定し、調整するパラメータに初期値を設定した学習モデルに、学習データの説明変数を入力し、出力データを得る。そして、学習モデル作成部126は、出力データと目的変数とが近づくようにパラメータを更新することにより、学習モデルの機械学習を実行する。なお、ハイパーパラメータが一意に定まらず、範囲で指定されている場合、学習モデル作成部126は、学習モデルの性能が最も良くなるハイパーパラメータを探索しながら、学習モデルを作成してもよい。
【0066】
取得部129は、学習パターン毎に、検証用データを用いて、検証用データの説明変数と同じ要素数(説明変数のカラム数×検証用データのインデックス数)のSHAP値を絶対値に変換したSHAP
i
pを算出する。そして、
図11に示すように、特徴識別子F
i
pに属する全カラムの検証用データの期間における、各要素のSHAP
i
pの平均(SHAP
i
p) ̄(
図11、
図13、及び数式中では、「SHAP
i
p」の上に「 ̄(オーバーライン)」)を算出する。取得部129は、下記(1)式により、全ての(SHAP
i
p) ̄が0~100に収まるように、スケール変換したc
i
pを算出する。また、取得部129は、下記(2)式に示すように、c
i
pを並べた寄与度評価ベクトルc
p(数式中では太字で表記)を作成する。すなわち、c
i
pは、特徴識別子F
i
pをで示される特徴量の種類についての寄与度に相当する。
【0067】
【0068】
また、取得部129は、ユーザから指定された寄与度重みベクトルW1(数式中では太字で表記)を取得する。寄与度重みベクトルW1は、例えば
図12に示すように、[w
1
p,w
2
p,w
3
p,w
4
p,w
5
p]
T(Tは転置を表す)のように、各要素が寄与度評価ベクトルc
pの各要素に対応した重みを表すベクトルである。寄与度重みベクトルW1は、ユーザが事前に作成したものであり、各要素の重みは、学習モデルを選択する際に重視したい度合いに応じた値を設定しておけばよい。例えば、第2実施形態のように、「強化学習の環境モデル構築」という文脈においては、「強化学習エージェントのアクションに関する特徴量」の重みを大きく指定してよい。ここでは、「空調設定値」が該当する。なお、重みとして、0又は1の2値を用いることにより、第1実施形態で説明したような特徴量の指定を実現することができる。取得部129は、下記(3)式に示すように、寄与度評価ベクトルc
pと寄与度重みベクトルW1とを乗算して、寄与度評価α
pを取得する。
【0069】
【0070】
また、取得部129は、検証用データを用いて平均2乗誤差RMSEpを算出し、例えば下記(4)式に示すように、RMSEpの逆数を精度評価βpとして取得する。取得部129は、取得した寄与度評価αp及び精度評価βpを生成部130へ出力する。
【0071】
【0072】
生成部130は、取得部129から出力された寄与度評価αp及び精度評価βpを用いて、例えば下記(5)式により、寄与度評価αpと精度評価βpとのスケールを一致させるための、寄与度スケーリング定数Kを算出する。
【0073】
【0074】
また、生成部130は、例えば
図12に示すような全体寄与度重みW2を取得する。全体寄与度重みW2は、ユーザにより事前に設定された値であり、予測精度を1とした場合に、寄与度をどの程度重視するかに応じた値を設定しておけばよい。生成部130は、寄与度評価α
p、精度評価β
p、寄与度スケーリング定数K、及び全体寄与度重みW2を用いて、例えば下記(6)式により、モデル評価関数L
pを生成する。
【0075】
【0076】
なお、寄与度スケーリング定数Kに替えて、(5)式を逆数にした予測精度スケーリング定数K’を用いてもよい。この場合、(6)式において、K’をβpの項に乗算する。また、全体寄与度重みW2に替えて、寄与度を1とした場合に、予測精度をどの程度重視するかに応じた重みである全体予測精度重みW2’を用いてもよい。この場合、(6)式において、W2’をβpの項に乗算する。
【0077】
図13に、各学習パターンについて、取得部129で算出される(SHAP
i
p) ̄、寄与度評価ベクトルc
p、及びRMSE
pの一例を示す。また、
図14に、各学習パターンについて、取得部129で取得される寄与度評価α
p及び精度評価β
p、生成部130で算出される寄与度スケーリング定数K、スケール変換後の寄与度評価α
p×K、及び生成部130で生成されるモデル評価関数L
pの一例を示す。
【0078】
選択部131は、評価用データセット保存部127に保存された複数の学習モデルから、生成部130により生成されたモデル評価関数Lpが最大になる学習モデルを選択する。
【0079】
次に、学習モデル選択装置110の作用について説明する。第2実施形態においても、第1実施形態と同様に、CPU11がROM12又はストレージ14から、生成プログラムを含む学習モデル選択プログラムを読み出して、RAM13に展開して実行することにより、
図5に示す学習モデル選択処理が行なわれる。ここでは、
図5のステップS14における評価用データ作成処理、及びステップS18における学習モデル評価処理の各々のより詳細な処理について、
図15及び
図16に示すフローチャートを用いて説明する。
【0080】
まず、
図15に示す評価用データセット作成処理について説明する。
【0081】
ステップS101において、CPU11は、評価用データセット作成部124として、学習モデルセット及び検証用データセットを初期化する。具体的には、CPU11は、評価用データセット作成部124として、作成された学習モデルを追加するための空集合、及び作成された検証用データを追加するための空集合を用意する。また、CPU11は、評価用データセット作成部124として、学習パターンのインデックスを示す変数pに1を設定する。
【0082】
次に、ステップS102において、CPU11は、評価用データセット作成部124として、pがインデックスの最大値pmax(ここでは、pmax=3)以下か否かを判定する。p≦pmaxの場合には、処理はステップS103へ移行する。
【0083】
ステップS103では、CPU11は、評価用データセット作成部124として、学習データセットを初期化する。具体的には、CPU11は、評価用データセット作成部124として、作成された学習データを追加するための空集合を用意する。そして、CPU11は、検証用データ作成部125として、特徴識別子のインデックスを示す変数iに0を設定する。
【0084】
次に、ステップS104において、CPU11は、検証用データ作成部125として、iがインデックスの最大値imax(ここでは、imax=5)以下か否かを判定する。i≦imaxの場合には、処理はステップS105へ移行する。
【0085】
ステップS105では、CPU11は、検証用データ作成部125として、計算式Ei
pで使用する材料データを材料データ保存部122から取得し、取得した材料データに計算式Ei
pを適用し、新しいカラムXを作成する。
【0086】
次に、ステップS106において、CPU11は、検証用データ作成部125として、iが0か否か、すなわちカラムXに相当する特徴識別子Fi
pが示す特徴量が目的変数か否かを判定する。i=0の場合には、処理はステップS107へ移行し、CPU11は、検証用データ作成部125として、カラムXを学習データセットに追加する。一方、i≧1の場合には、処理はステップS108へ移行する。ステップS108では、CPU11は、検証用データ作成部125として、系列パラメータS1i
p、S2i
p、S3i
pを読み込み、S2i
p~S3i
pの区間を等間隔にS1i
pの数だけ分割し、Xを各時点にシフトした系列カラムを作成する。そして、CPU11は、検証用データ作成部125として、作成した系列カラムを学習データセットに追加する。
【0087】
次に、ステップS109において、CPU11は、検証用データ作成部125として、iを1インクリメントして、処理はステップS104に戻る。ステップS104において、i>imaxと判定されると、処理はステップS110へ移行する。
【0088】
ステップS110では、CPU11は、検証用データ作成部125として、学習データセットに含まれる一部の学習データを検証用データとして抽出し、検証用データセットに追加する。また、CPU11は、検証用データ作成部125として、残りの学習データを学習モデル作成部126へ出力する。
【0089】
次に、ステップS111において、CPU11は、学習モデル作成部126として、学習パターンpのベースモデル識別子で指定されたモデル構造を、ベースモデル識別子からAPIを呼び出す等して取得し、学習パターンpのハイパーパラメータを設定する。そして、CPU11は、学習モデル作成部126として、検証用データ作成部125から出力された残りの学習データを利用して、ベースモデル識別子が示すモデル構造にハイパーパラメータが設定された学習モデルの機械学習を実行する。CPU11は、学習モデル作成部126として、例えば、グリッドサーチ交差検証で学習モデルを評価しながら、機械学習を実行する。
【0090】
次に、ステップS112において、CPU11は、学習モデル作成部126として、学習モデルセットに、完成した学習モデルを追加する。次に、ステップS113において、CPU11は、評価用データセット作成部124として、pを1インクリメントして、処理はステップS102に戻る。ステップS102において、p>pmaxと判定されると、評価用データセット作成処理は終了する。
【0091】
評価用データセット作成処理により作成された検証用データセット及び学習モデルセットが、評価用データセットとして、評価用データセット保存部127に保存される(
図5のS17)。
【0092】
次に、
図16に示す学習モデル評価処理について説明する。
【0093】
ステップS121において、CPU11は、学習モデル評価部128として、学習パターンのインデックスを示す変数pに1を設定する。次に、ステップS122において、CPU11は、学習モデル評価部128として、pがインデックスの最大値pmax(ここでは、pmax=3)以下か否かを判定する。p≦pmaxの場合には、処理はステップS123へ移行する。
【0094】
ステップS123では、CPU11は、取得部129として、学習パターンpの検証用データを用いて、検証用データの説明変数と同じ要素数のSHAP値を絶対値に変換したSHAPi
pを算出する。次に、ステップS124において、CPU11は、取得部129として、特徴識別子のインデックスを示す変数iに1を設定する。
【0095】
次に、ステップS125において、CPU11は、取得部129として、iがインデックスの最大値imax(ここでは、imax=5)以下か否かを判定する。i≦imaxの場合には、処理はステップS126へ移行する。
【0096】
ステップS126では、CPU11は、取得部129として、特徴識別子Fi
pに属する全カラムの検証用データの期間における、各要素のSHAPi
pの平均(SHAPi
p) ̄を算出する。次に、ステップS127において、CPU11は、取得部129として、iを1インクリメントして、処理はステップS125に戻る。ステップS125において、i>imaxと判定されると、処理はステップS128へ移行する。
【0097】
ステップS128では、CPU11は、取得部129として、例えば(1)式により、全ての(SHAPi
p) ̄が0~100に収まるようにスケール変換したci
pを算出する。次に、ステップS129において、CPU11は、取得部129として、(2)式に示すように、ci
pを並べた寄与度評価ベクトルcpを作成する。また、CPU11は、取得部129として、ユーザから指定された寄与度重みベクトルW1を取得し、(3)式に示すように、寄与度評価ベクトルcpと寄与度重みベクトルW1とを乗算して、寄与度評価αpを取得する。
【0098】
次に、ステップS130において、CPU11は、取得部129として、学習パターンpの検証用データを用いて平均2乗誤差RMSEpを算出し、例えば(4)式に示すように、RMSEpの逆数を精度評価βpとして取得する。次に、ステップS131において、CPU11は、学習モデル評価部128として、pを1インクリメントして、処理はステップS122に戻る。ステップS122において、p>pmaxと判定されると、処理はステップS132へ移行する。
【0099】
ステップS132では、CPU11は、生成部130として、取得部129により取得された寄与度評価αp及び精度評価βpを用いて、例えば(5)式により、寄与度評価αpと精度評価βpとのスケールを一致させるための、寄与度スケーリング定数Kを算出する。
【0100】
次に、ステップS133において、CPU11は、生成部130として、ユーザにより指定された全体寄与度重みW2を取得する。そして、CPU11は、生成部130として、学習パターン毎に、寄与度評価αp、精度評価βp、寄与度スケーリング定数K、及び全体寄与度重みW2を用いて、例えば(6)式により、モデル評価関数Lpを生成する。そして、CPU11は、選択部131として、評価用データセット保存部127に保存された複数の学習モデルから、生成部130により生成されたモデル評価関数Lpが最大になる学習モデルを選択し、学習モデル評価処理は終了する。
【0101】
学習モデル評価処理により選択された学習モデルは、選択学習モデル保存部132に保存される(
図5のS19)。
【0102】
以上、説明したように、第2実施形態に係る学習モデル選択装置においても、第1実施形態に係る学習モデル選択装置と同様に、所望の予測精度及び予測の根拠が得られる学習モデルを適切に選択することができる。
【0103】
また、各学習モデルについて算出された特徴量の種類毎の寄与度のスケールは、必ずしも一致しないため、そのまま利用すると学習モデル間の比較を公平に行うことができない。例えば、各学習パターンの(SHAPi
p) ̄の合計は一致せず、(SHAPi
p) ̄の合計が大きい学習モデルは、寄与度が不当に大きく評価され易くなる。上記第2実施形態では、特徴量の種類毎の寄与度を、例えば(1)式に示すように、0~100にスケール変換を行うことで、各学習パターンのcpの合計が100となり、各種類の特徴量について、相対的な寄与度の大きさを公平に評価することができる。
【0104】
また、第2実施形態では、特徴量の種類毎の個別の重みを表す「寄与度重みベクトル」を用いることで、所望の特徴量の寄与度を、評価において重視することができる。例えば、
図12に示すように寄与度重みベクトルW1を設計することで、最も重みが大きい4番目の特徴識別子F
4
pが示す空調設定値又は空調室温差分を重視することができる。これにより、
図13及び
図14に示すように、特徴識別子F
4
pに対応するc
4
pがc
i
pの中で最も大きい学習パターン1の寄与度評価α
pが最大になっている。
【0105】
また、寄与度と精度とのスケールは必ずしも一致しないため、寄与度評価及び精度評価のどちらかが大き過ぎる又は小さ過ぎる場合がある。例えば、
図14の例では、寄与度評価α
pが精度評価β
pに比べて全体的に大きい。そのため、仮にK=1でモデル評価関数L
pを生成した場合、寄与度評価が大きくなり過ぎ、ユーザの意図に関わらず、精度評価の違いがモデル評価関数L
pにほとんど影響しなくなってしまう。第2実施形態では、例えば(5)式に示すように、寄与度評価と精度評価とのスケールを一致させるための寄与度スケーリング定数Kを算出して寄与度評価α
pに乗算することで、
図14に示すように、寄与度評価α
pと精度評価β
pとのスケールがほぼ同じになり、公平に評価を行うことができる。
【0106】
また、第2実施形態のようにKを設計することで、ユーザは直感的に全体寄与度重みW2を設計することができる。例えば、寄与度評価と精度評価とを同じ程度に重視する場合はW2=1、寄与度評価を重視する場合はW2>1、精度評価を重視する場合はW2<1、のように設計することができる。例えば、第2実施形態では、W2=1.5とした例を示しているが、W2=0.5にした場合には、精度評価が重視され、
図17に示すように、精度評価β
pが最も大きい学習パターン3のモデル評価関数L
pが最も大きくなっている。
【0107】
ここで、第2実施形態と同様の具体例を用いて、W2の調整方法について説明する。前提として、空調設定値に応じて学習モデルにより予測される室温が変動する挙動が望ましい。また、空調機を起動してから一定時間を経過すると、熱平衡により室温が定常的になる。学習モデルの予測で、その挙動を再現したい。具体的には、1時間早く暖房を起動すると、予測室温も1時間早く立ち上がり、空調機を起動してから4時間経過すると、予測室温が、空調機を1時間早く起動していない場合の室温、すなわち室温真値に収束する挙動である。空調機の起動後、予測室温が室温真値に収束する速さは、空調設定値の寄与度に依存しており、第2実施形態の例では寄与度評価に依存する。空調設定値が想定通りに室温の予測に寄与していることを確認するために、元のデータから空調設定値を1時間前にシフトした場合の予測室温の挙動を観察する。
【0108】
上記の前提の下でのW2の調整の手順は、以下のとおりである。まず、
図18に示すように、W2=1.0の場合に、モデル評価関数を最大化する学習パターン3を選択した場合の予測結果を
図19に示す。なお、
図19及び後述する
図20において、temperatureは室温真値、shifted_predictは空調設定値を1時間前にシフトした場合の予測室温である。また、air control temperatureは空調設定値又は空調設定値差分、Shifted air control temperatureは1時間前にシフトした空調設定値又は空調設定値差分である。
【0109】
学習パターン3の学習モデルは最も精度が高いが、7時頃に空調機を起動しても10時頃には予測室温が室温真値に収束してしまっており(
図19中の破線の丸で囲んだ部分)、理想の挙動とずれている。この場合、学習モデルの予測に対する、空調設定値の寄与度が足りないと考えられるため、W2=1.5に増大して、もう一度学習モデルを選択する。
【0110】
図18に示すように、W2=1.5の場合に、モデル評価関数を最大化する学習パターン1を選択した場合の予測結果を
図20に示す。この学習モデルは、精度は学習パターン3の学習モデルに比べてやや低下するが、7時頃に空調機を起動した後、11時頃に予測室温が室温真値に収束しており(
図20中の破線の丸で囲んだ部分)、理想の挙動に近い。したがって、空調設定値の寄与度は十分と考え、W2=1.5で選択された学習モデルを採用する。なお、予測室温が室温真値に収束する時刻が12時など遅い場合は、寄与度が高過ぎると考え、W2を低下させて、もう一度学習モデルの選択を行うことになる。
【0111】
<変形例>
第2実施形態では、室温や空調設定値等の時系列データと、LightGBM等の決定木モデルによる回帰問題とを取り扱う場合について説明したが、開示の技術は、他の種類のデータや問題に対しても適用可能である。以下、各変形例について、主に第2実施形態と異なる点を説明する。
【0112】
1つ目の変形例として、深層学習モデル及び株取引の時系列データを用いた、株価予測の回帰問題が挙げられる。この問題では、ある銘柄の株取引に関するデータを基に、将来の「現在価格」を目的変数として回帰する。材料データのデータ識別子としては、「現在価格」、「最高買価」、「最低売価」、「最高売価格数」、「最高買価格数」、「買い注文総数」、「売り注文総数」等が用いられる。ベースモデル識別子は、例えば、LSTM(Long Short-Term Memory、参考文献4)、及びQRNN(Quasi-Recurrent Neural Networks、参考文献5)の2種類から選択する場合が考えられる。ハイパーパラメータは、ベースモデル識別子の層に関する隠れ層ノード数、ステップ数、バッチサイズ、ドロップアウト率、及び層数、全結合層に関するノード数及び総数、活性化関数層に関するノード数及び活性化関数、並びに、最適化関数である。また、銘柄によって取引に関するデータの大小が大きく異なるため、学習データ構築方法の計算式において、全ての特徴識別子に対して正規化処理を追加してもよい。また、評価用データセット作成部において、学習データの説明変数が[データ数×(特徴量数×ステップ数)]の2次元行列になるが、これを[データ数×ステップ数×特徴量数]の3次元行列に変換する処理を加える。
【0113】
また、2つ目の変形例として、機械学習モデル及び会員情報の時系列データを用いた、会員制有料サービス加入状態の分類問題が挙げられる。この問題では、ある会員制有料のサービスについて、顧客の利用履歴等の時系列データを基に、将来の「サービスの加入状態(加入中又は退会済み)」を予測する。材料データのデータ識別子としては、「顧客ID」、「性別」、「サービス加入日」、「サービス退会日(退会していない人はNan値)」、「その日のサービス利用時間」、「サービス加入状態」等が用いられる。時系列データのインデックスは、顧客IDが異なる場合は同じインデックスが重複し得る。また、学習データ構築方法において、新しい特徴識別子として、「当月のサービス利用日数」を作成してもよい。この特徴識別子についての計算式は、「顧客ID」毎にデータを分割した上で、時系列データのインデックスの年月でデータをグルーピングし、「その日のサービス利用時間」が0以上のデータ数を集計するものとしてよい。また、「サービス加入日」の計算式には、年及び月を日に換算する処理を加えてもよい。また、「サービス退会日」のNan値は-1に変換する処理を加えてもよい。「顧客ID」及び「性別」はカテゴリ変数のため、これらの計算式では、ラベルエンコーディングを行うように規定してもよい。評価用データセット作成部の系列パラメータを用いた系列カラム作成においては、「顧客ID」毎にデータを分割してから処理を行う。
【0114】
3つ目の変形例として、機械学習モデル及び住宅の特徴データを用いた、住宅価格の回帰問題が挙げられる。この問題では、住宅の様々な情報から、その住宅の「価格」を回帰する。材料データのデータ識別子としては、「住宅種類(マンション、一軒家等)」、「都道府県」、「市町村」、「最寄り駅までの徒歩分数」、「築年数」、「間取り(1K、2LDK)等」、「専有面積」、「改装の有無」、「価格」等が用いられる。また、学習データ構築方法の計算式において、「住宅種類」、「都道府県」、「市町村」、「間取り」、「改装の有無」等の、文字を含むカテゴリ変数は、ラベルエンコーディングを行うように規定してもよい。この問題での材料データは、時系列データではないため、学習データ構築方法において系列パラメータを規定する必要はなく、系列カラムを作成する処理は行われない。
【0115】
4つ目の変形例として、機械学習モデル及びアヤメの花の特徴データを用いた、アヤメの品種の分類問題が挙げられる。この問題では、アヤメの花の様々な特徴データを基に、その「品種」を分類する。材料データのデータ識別子としては、「がく片の長さ」、「がく片の幅」、「花びらの長さ」、「花びらの幅」、「品種」等が用いられる。ベースモデル識別子は、サポートベクトルマシン(参考文献6)及びロジスティック回帰(参考文献7)の2種類から選択する場合が考えられる。ハイパーパラメータは、サポートベクトルマシンの場合、カーネル種類、正則化方法、評価関数、双対問題を解くか否か、アルゴリズム終了条件、ソフトマージンの厳しさ等である。ロジスティック回帰の場合、正則化方法、正則化の強さ等である。また、学習データ構築方法において、新しい特徴識別子として、計算式(「がく片の長さ」×「がく片の幅」)で計算される「がく片情報」、及び計算式(「花びらの長さ」×「花びらの幅」)で計算される「花びら情報」を追加してもよい。学習データ構築方法の計算式において、「品種」はカテゴリ変数のため、計算式でラベルエンコーディングを行うように規定してもよい。この問題での材料データは、時系列データではないため、学習データ構築方法において系列パラメータを規定する必要はなく、系列カラムを作成する処理は行われない。
【0116】
参考文献4:S. Hochreiter, J. Schmidhuber, "Long short-term memory", Neural Computation 9 (8), pp. 1735-1780, 1997.
参考文献5:J. Bradbury, et al, "Quasi-Recurrent Neural Networks", ICLP, 2016.
参考文献6:Ioannis Tsochantaridis, Thorsten Joachims, Thomas Hofmann, Yasemin Altun, "Large Margin Methods for Structured and Interdependent Output Variables", The Journal of Machine Learning Research 6 (9), pp. 1453-1484, 2005.
参考文献7:D. R. Cox, "The regression analysis of binary sequences (with discussion)", Journal of the Royal Statistical Society, Series B (Methodological), Vol. 20, No. 2, pp. 215-242, 1958.
【0117】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した学習モデル選択処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、学習モデル選択処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0118】
また、上記各実施形態では、生成処理プログラムを含む学習モデル選択プログラムがROM12又はストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0119】
以上の実施形態に関し、さらに以下の付記を開示する。
【0120】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
複数種類の特徴量を用いて機械学習された複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得し、
前記精度と前記寄与度とから、前記複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する
ように構成されている生成装置。
【0121】
(付記項2)
生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記録媒体であって、
前記生成処理は、
複数種類の特徴量を用いて機械学習された複数の学習モデルの各々について、学習モデルによる予測結果の精度と、ユーザにより指定された少なくとも1種類の特徴量の前記予測結果に対する寄与度とを取得し、
前記精度と前記寄与度とから、前記複数の学習モデルの中から所定の学習モデルを選択するための指標を生成する
ことを含む非一時的記録媒体。
【符号の説明】
【0122】
10、110 学習モデル選択装置
11 CPU
12 ROM
13 RAM
14 ストレージ
15 入力部
16 表示部
17 通信I/F
19 バス
21、121 材料データ収集部
22、122 材料データ保存部
23、123 学習パターン送信部
24、124 評価用データセット作成部
25、125 検証用データ作成部
26、126 学習モデル作成部
27、127 評価用データセット保存部
28、128 学習モデル評価部
29、129 取得部
30、130 生成部
31、131 選択部
32、132 選択学習モデル保存部
201 BEMS
202 人流検知センサ