(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023159199
(43)【公開日】2023-10-31
(54)【発明の名称】データ処理装置、データ処理方法、およびデータ処理プログラム
(51)【国際特許分類】
G06F 18/21 20230101AFI20231024BHJP
G06N 20/00 20190101ALI20231024BHJP
G06F 18/2451 20230101ALI20231024BHJP
G06N 3/092 20230101ALI20231024BHJP
【FI】
G06F18/21
G06N20/00
G06F18/2451
G06N3/092
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023129400
(22)【出願日】2023-08-08
(62)【分割の表示】P 2019164352の分割
【原出願日】2019-09-10
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】柴原 琢磨
(72)【発明者】
【氏名】山下 泰穂
(72)【発明者】
【氏名】中本 与一
(57)【要約】
【課題】複数の要素の組み合わせによるデータ群の分析を容易にすること。
【解決手段】データ処理装置は、分析対象ごとに因子と目的変数とを有する分析対象データ群を記憶する記憶部と、前記分析対象ごとに、第1因子を変調し第1変調結果を出力する第1変調部と、前記分析対象ごとに、第2因子を変調し第2変調結果を出力する第2変調部と、前記第1因子に対応する第1軸と、前記第2因子に対応する第2軸と、により規定される座標空間に、前記分析対象ごとに、前記第1変調部からの第1変調結果および前記第2変調部からの第2変調結果である座標点を付与し、かつ、前記座標点に対応する前記分析対象の目的変数に関する情報を前記座標点に付与した第1画像データを生成する生成部と、を有することを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
分析対象ごとに因子と目的変数とを有する分析対象データ群を記憶する記憶部と、
前記分析対象ごとに、第1因子を変調し第1変調結果を出力する第1変調部と、
前記分析対象ごとに、第2因子を変調し第2変調結果を出力する第2変調部と、
前記第1因子に対応する第1軸と、前記第2因子に対応する第2軸と、により規定される座標空間に、前記分析対象ごとに、前記第1変調部からの第1変調結果および前記第2変調部からの第2変調結果である座標点を付与し、かつ、前記座標点に対応する前記分析対象の目的変数に関する情報を前記座標点に付与した第1画像データを生成する生成部と、
を有することを特徴とするデータ処理装置。
【請求項2】
請求項1に記載のデータ処理装置であって、
前記記憶部は、前記因子の種類と前記因子の変調方法の種類とのうち少なくとも一方の要素の種類を含むパターン情報を記憶し、
前記パターン情報を用いて、前記第1変調部が第1要素を選択し、かつ、前記第2変調部が第2要素を選択する制御信号を生成し、前記制御信号に基づいて前記第1変調部および前記第2変調部を制御する制御部、
を有することを特徴とするデータ処理装置。
【請求項3】
請求項2に記載のデータ処理装置であって、
前記パターン情報は、前記因子の種類を含み、
前記制御部は、前記パターン情報を用いて、前記第1変調部が第1因子を選択し、かつ、前記第2変調部が第2因子を選択する制御信号を生成し、前記制御信号に基づいて前記第1変調部および前記第2変調部を制御する、
ことを特徴とするデータ処理装置。
【請求項4】
請求項2に記載のデータ処理装置であって、
前記パターン情報は、前記変調方法の種類を含み、
前記制御部は、前記パターン情報を用いて、前記第1変調部が第1変調方法を選択し、かつ、前記第2変調部が第2変調方法を選択する制御信号を生成し、前記制御信号に基づいて前記第1変調部および前記第2変調部を制御する、
ことを特徴とするデータ処理装置。
【請求項5】
請求項2に記載のデータ処理装置であって、
前記パターン情報は、前記因子の種類と前記因子の変調方法の種類とを含み、
前記制御部は、前記パターン情報を用いて、前記第1変調部が第1因子または第1変調方法の少なくとも一方の要素を選択し、かつ、前記第2変調部が第2因子または第2変調方法の少なくとも一方の要素を選択する制御信号を生成し、前記制御信号に基づいて前記第1変調部および前記第2変調部を制御する、
ことを特徴とするデータ処理装置。
【請求項6】
請求項2に記載のデータ処理装置であって、
前記制御部は、前記パターン情報を参照して前記制御信号の一部の要素を更新して、更新後の制御信号により前記第1変調部および前記第2変調部を制御し、
前記生成部は、前記制御部によって前記更新後の制御信号に基づいて前記第1変調部および前記第2変調部が制御されたことにより、第2画像データを生成する、
ことを特徴とするデータ処理装置。
【請求項7】
請求項6に記載のデータ処理装置であって、
前記制御部は、前記第1画像データを第1状態、前記制御信号に含まれる第1要素群を第1行動とし、第1学習パラメータに基づいて前記第1状態において前記第1行動を取った場合の前記パターン情報内の各要素の価値を出力する第1行動価値関数を有し、前記パターン情報内の各要素の価値のうち前記第1行動価値関数から出力された特定の価値に対応する前記制御信号内の要素を、前記パターン情報内の前記特定の価値に対応する特定の要素に更新し、更新後の制御信号に基づいて前記第1変調部および前記第2変調部を制御する、
ことを特徴とするデータ処理装置。
【請求項8】
請求項7に記載のデータ処理装置であって、
前記特定の価値は、前記パターン情報内の各要素の価値の中で最大値を示す価値である、
ことを特徴とするデータ処理装置。
【請求項9】
請求項7に記載のデータ処理装置であって、
前記第1変調結果、前記第2変調結果、および前記目的変数に関する情報に基づいて、前記目的変数を評価する評価部を有し、
前記制御部は、入力画像データを第2状態、前記更新後の制御信号に含まれる第2要素群を第2行動とし、第2学習パラメータに基づいて前記第2状態において前記第2行動を取った場合の前記パターン情報内の各要素の価値を出力する第2行動価値関数を有し、前記第2行動価値関数に前記第2画像データが入力された場合の出力結果に、前記評価部による評価結果を報酬として加算することにより前記第1行動の価値を教師データとして算出し、前記教師データと、前記第2行動価値関数に前記第1画像データが入力された場合の出力結果と、に基づいて、前記第2学習パラメータを更新し、更新後の第2学習パラメータにより前記第1学習パラメータを更新する、
ことを特徴とするデータ処理装置。
【請求項10】
請求項1に記載のデータ処理装置であって、
前記第1変調結果、前記第2変調結果、および前記目的変数に関する情報に基づいて、前記目的変数を評価する評価部と、
前記評価部による評価結果が目標値以上である場合、前記第1画像データを表示可能に出力する出力部と、
を有することを特徴とするデータ処理装置。
【請求項11】
請求項10に記載のデータ処理装置であって、
前記目的変数は、前記分析対象データ群を分類する情報であり、
前記生成部は、前記座標点を前記目的変数で識別する識別境界線を生成し、
前記出力部は、前記識別境界線を前記第1画像データに表示可能に出力する、
ことを特徴とするデータ処理装置。
【請求項12】
請求項11に記載のデータ処理装置であって、
前記因子は、生体情報であり、前記目的変数は、薬効を示す情報である、
ことを特徴とするデータ処理装置。
【請求項13】
請求項11に記載のデータ処理装置であって、
前記目的変数は、量的変数であり、
前記生成部は、前記座標点と前記目的変数とに基づく回帰直線を生成し、
前記出力部は、前記回帰直線を前記第1画像データに表示可能に出力する、
ことを特徴とするデータ処理装置。
【請求項14】
分析対象ごとに因子と目的変数とを有する分析対象データ群を記憶する記憶部にアクセス可能なデータ処理装置が実行するデータ処理方法であって、
前記データ処理装置は、
前記分析対象ごとに、第1因子を変調し第1変調結果を出力する第1変調処理と、
前記分析対象ごとに、第2因子を変調し第2変調結果を出力する第2変調処理と、
前記第1因子に対応する第1軸と、前記第2因子に対応する第2軸と、により規定される座標空間に、前記分析対象ごとに、前記第1変調処理による第1変調結果および前記第2変調処理による第2変調結果である座標点を付与し、かつ、前記座標点に対応する前記分析対象の目的変数に関する情報を前記座標点に付与した画像データを生成する生成処理と、
を実行することを特徴とするデータ処理方法。
【請求項15】
分析対象ごとに因子と目的変数とを有する分析対象データ群を記憶する記憶部にアクセス可能なプロセッサに、
前記分析対象ごとに、第1因子を変調し第1変調結果を出力する第1変調処理と、
前記分析対象ごとに、第2因子を変調し第2変調結果を出力する第2変調処理と、
前記第1因子に対応する第1軸と、前記第2因子に対応する第2軸と、により規定される座標空間に、前記分析対象ごとに、前記第1変調処理による第1変調結果および前記第2変調処理による第2変調結果である座標点を付与し、かつ、前記座標点に対応する前記分析対象の目的変数に関する情報を前記座標点に付与した画像データを生成する生成処理と、
を実行させることを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを処理するデータ処理装置、データ処理方法、およびデータ処理プログラムに関する。
【背景技術】
【0002】
疾病に罹患している患者について、患者と疾病固有の生体情報(血液、遺伝子情報など)を用いて分類し、個別の医療行為を施せるようにすることを、医学用語で患者層別化と呼ぶ。患者層別化により、医師は個々の患者に薬剤を投与すべきか否かを、素早く正確に判断することが可能になる。従って、患者層別化は患者個人の迅速な回復に貢献すると共に加速度的に増大する医療費の削減につながり、個人と社会全体の利益の双方に資するものである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Subrahmanyam, Priyanka B., et al. "Distinct predictive biomarker candidates for response to anti-CTLA-4 and anti-PD-1 immunotherapy in melanoma patients." Journal for immunotherapy of cancer 6.1 (2018): 18.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1は、皮膚がん患者(メラノーマ)を免疫細胞の特性によって層別化する手法を提供した。その際、Table3に示させる40種類の免疫細胞の分布を、viSNE法により画像として可視化し(Fig.1b,c)する。薬剤が効果を示した患者群(奏効群)と示せなかった患者群(非奏効群)について、画像を目視比較することによって層別化因子を特定した。
【0005】
非特許文献1の手法は、煩雑な目視確認作業であるが故に、因子の特定に至らない可能性がある。また、複数因子の組み合わせにより、奏効群と非奏効群が層別化される薬剤の場合において、非特許文献1のFig.1cに示される可視化画像から目視で組み合わせを見いだすことは著しく困難である。
【0006】
本発明は、複数の要素の組み合わせによるデータ群の分析を容易にすることを目的とする。
【課題を解決するための手段】
【0007】
本願において開示される発明の一側面となるデータ処理装置は、分析対象ごとに因子と目的変数とを有する分析対象データ群を記憶する記憶部と、前記分析対象ごとに、第1因子を変調し第1変調結果を出力する第1変調部と、前記分析対象ごとに、第2因子を変調し第2変調結果を出力する第2変調部と、前記第1因子に対応する第1軸と、前記第2因子に対応する第2軸と、により規定される座標空間に、前記分析対象ごとに、前記第1変調部からの第1変調結果および前記第2変調部からの第2変調結果である座標点を付与し、かつ、前記座標点に対応する前記分析対象の目的変数に関する情報を前記座標点に付与した第1画像データを生成する生成部と、を有することを特徴とする。
【発明の効果】
【0008】
本発明の代表的な実施の形態によれば、複数の要素の組み合わせによるデータ群の分析を容易にすることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1にかかるデータ群の分析の一例を示す説明図である。
【
図2】
図2は、データ処理装置のハードウェア構成例を示すブロック図である。
【
図3】
図3は、分析対象DBの一例を示す説明図である。
【
図4】
図4は、パターンテーブルの一例を示す説明図である。
【
図5】
図5は、画像処理回路の回路構成例を示すブロック図である。
【
図6】
図6は、
図5に示したコントローラの構成例を示すブロック図である。
【
図7】
図7は、制御信号の一例を示す説明図である。
【
図8】
図8は、データ処理装置の出力デバイスに表示される入出力画面の一例を示す説明図である。
【
図9】
図9は、X軸変調ユニット、Y軸変調ユニット、およびイメージジェネレータによる画像データ生成処理の詳細な処理手順例を示すフローチャートである。
【
図10】
図10は、分析支援処理手順例を示すフローチャートである。
【
図12】
図12は、実施例2にかかる分析対象DBの一例を示す説明図である。
【
図13】
図13は、実施例2にかかるデータ処理装置の出力デバイスに表示される入出力画面の一例を示す説明図である。
【発明を実施するための形態】
【実施例0010】
以下、実施例1にかかるデータ処理装置、分析方法、および分析プログラムの一例について添付図面を参照して説明する。また、実施例1では、分析対象となるデータ群は、たとえば、50人の患者の各々について、薬剤が投与された患者の表面抗原を持つ100種類の免疫細胞(因子群)の細胞数を示す分析対象データと薬剤投与の薬効を示す正解データとの組み合わせである分析対象データセットの集合である。なお、患者の人数や免疫細胞の種類の数は一例である。
【0011】
<分析の一例>
図1は、実施例1にかかるデータ群の分析の一例を示す説明図である。データ処理装置100は、数式立案AI(Artificial Intelligence)101と、識別器102と、を有する。数式立案AI101は、たとえば、数式111,112を立案する強化学習型のCNN(Convolutional Neural Network)である。識別器102は、X軸とY軸とで張られる座標空間110上の座標値を入力し、予測精度を数式立案AI101への報酬として出力するAIである。データ処理装置100のユーザ103は、たとえば、医師や学者、研究者でもよく、データ処理装置100による分析サービスを提供する事業者でもよい。
【0012】
(1)ユーザ103は、患者ごとのデータ群を記憶する分析対象DB104から分析対象データ群を選択して数式立案AI101に読み込ませる。分析対象データは、患者ごとの上述した100種類の免疫細胞の細胞数と薬効との組み合わせである。
【0013】
数式立案AI101は、要素群105から2以上の因子および因子を変調する変調方法を選択する。数式立案AI101は、たとえば、X軸の因子として{x1、x2}を選択し、Y軸の因子として{y1、y2}を選択する。また、変調方法とは、因子を非演算子とする演算子である。
【0014】
(2)数式立案AI101は、選択された因子{x1、x2}、{y1、y2}と選択された変調方法とを組み合わせて、X軸の数式111と、Y軸の数式112と、を立案する。そして、数式立案AI101は、患者の因子{x1、x2}で特定される細胞数をX軸の数式111に代入してX座標値を算出し、患者の因子{y1、y2}の特徴量である細胞数をY軸の数式112に代入してY座標値を算出し、座標空間110にプロットする。X座標値およびY座標値の算出は、患者ごとに実行される。
【0015】
座標空間110には、患者の座標値がプロットされている。黒丸●は、投与された薬剤が薬効を示している患者(奏功)を特定する座標値であり、黒四角■は、投与された薬剤が薬効を示していない患者(非奏功)を特定する座標値である。座標空間110にプロットされた座標値を、「患者データ」と称す。
【0016】
(3)データ処理装置100は、患者データの座標値を識別器102に入力する。
【0017】
(4)識別器102は、奏功の患者データと非奏功の患者データとを分類する識別境界線113の予測精度を算出する。そして、識別器102は、算出した予測精度を、強化学習における報酬として数式立案AI101に出力する。
【0018】
(5)また、データ処理装置100は、(3)とは別に、患者データがプロットされた座標空間110である画像データIを数式立案AI101に入力する。
【0019】
(6)数式立案AI101は、(4)で入力された報酬を用いて、座標空間110の画像データIについて強化学習型のCNNによる畳み込み演算を実行して、次に採りうる行動として、数式111、112を構成する因子や変調方法を再選択する。このあと、データ処理装置100は、(2)~(6)を繰り返し実行する。
【0020】
このように、数式立案AI101が画像データIを参照しながら数式111,112を解くことで、奏功の患者データと非奏功の患者データとを高精度に分類する画像データIを生成する。これにより、ユーザは、最終的に得られた画像データIを用いて、奏功の患者データと非奏功の患者データとを分類する高精度な識別境界線113を容易に設定することができる。
【0021】
<データ処理装置100のハードウェア構成例>
図2は、データ処理装置100のハードウェア構成例を示すブロック図である。データ処理装置100は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、画像処理回路207と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、通信IF205および画像処理回路207は、バス206により接続される。
【0022】
プロセッサ201は、データ処理装置100を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータ、分析対象DBを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタがある。通信IF205は、ネットワークと接続し、データを送受信する。
【0023】
画像処理回路207は、層別化画像処理を実行する回路構成である。画像処理回路207は、パターンテーブル208を参照して、
図1に示した(1)~(6)の処理を実行する。パターンテーブル208は、たとえば、画像処理回路207内の図示しない記憶領域に記憶されている。なお、画像処理回路207は、回路構成により実現されるが、記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現されてもよい。
【0024】
<分析対象DB104>
図3は、分析対象DB104の一例を示す説明図である。分析対象DB104は、フィールドとして、患者ID301と、目的変数302と、因子群303と、を有する。同一行における各フィールドの値の組み合わせが、1人の患者の分析対象データセットとなる。
【0025】
患者ID301は、分析対象の一例である患者を他の患者と区別するための識別情報であり、患者ID301の値は、たとえば、1~50で表現される。目的変数302は、薬効、すなわち、薬の投与が奏功か非奏功かを示し、目的変数302の値は、「1」が奏功、「0」が非奏功を示す。因子群303は、100種類の因子の集合である。因子群303の各因子は、免疫細胞を示す。因子の値は、免疫細胞の細胞数を示す。たとえば、「CD4+」という因子の患者ID301が「1」の細胞数は、「372」である。すなわち、分析対象DB104の各エントリは、因子群303で特定される患者に薬を投与した場合の薬効(奏功または非奏功)を示す。
【0026】
また、因子群303の各因子には、変調方法304が関連付けられている。変調方法304とは、因子の値を非演算子とする演算子である。演算子には、単項演算子や多項演算子が含まれる。単項演算子には、たとえば、恒等写像、符号反転、対数、平方根、シグモイド、裁定関数が含まれる。多項演算子には、たとえば、四則演算子が含まれる。
【0027】
<パターンテーブル208>
図4は、パターンテーブル208の一例を示す説明図である。パターンテーブル208は、数式111、112を立案し、座標空間110に座標値をプロットするための制御信号の生成に用いられる要素群を規定したテーブルである。パターンテーブル208の内容は、あらかじめ設定される。
【0028】
パターンテーブル208は、フィールドとして、制御ID401と、要素番号列402と、を有する。制御ID401は、要素番号列402の中のいずれかの要素番号(1~100)の値である要素(CD4+、CD8+、無変調、符号反転など)を選択する選択主体を一意に特定する識別情報である。便宜的に、制御ID401の値513~518は、後述する
図5のX軸変調ユニット510内のモジュールに付与された符号とする。同様に、制御ID401の値523~528は、後述する
図5のY軸変調ユニット520内のモジュールに付与された符号とする。要素番号列402は、制御ID401で特定されるモジュールが選択可能な要素に対応する要素番号の集合である。
【0029】
制御ID401の値が「513」、「514」、「523」、「524」の各モジュールは、100個の要素である因子(免疫細胞)から、データ処理装置100であらかじめ設定された最大選択数(たとえば、2個)分の因子を選択することになる。制御ID401の値が「515」~「518」、「525」~「528」の各モジュールは、7個または4個の要素である複数の演算子(無変調、符号反転など)からいずれか1つの演算子を選択することになる。なお、
図4では、パターンテーブル208の要素は、因子の種類と変調方法の種類を含むが、因子の種類のみでもよく、変調方法の種類のみでもよい。
【0030】
<画像処理回路207の構成例>
図5は、画像処理回路207の回路構成例を示すブロック図である。画像処理回路207は、データメモリ500、X軸変調ユニット510、Y軸変調ユニット520、イメージジェネレータ530、エバリュエータ540、コントローラ550、パターンテーブル208を有する。
【0031】
データメモリ500には、記憶デバイス202から分析対象DB104の全エントリ、すなわち、各患者の分析対象データセットが書き込まれる。
【0032】
X軸変調ユニット510は、
図1に示した数式立案AI101の一部を構成する。X軸変調ユニット510は、X軸の数式111における因子および変調方法を設定する。X軸変調ユニット510は、X軸データロードモジュール511,512と、マルチオペレータ517と、モジュレータ518と、を有する。
【0033】
X軸データロードモジュール511は、マルチプレクサ513と、モジュレータ515と、を有する。マルチプレクサ513は、コントローラから出力されてくる制御信号から因子x1を選択する。マルチプレクサ513は、ユーザから選択された因子x1の選択を受け付けてもよい。
【0034】
モジュレータ515は、コントローラ550から出力されてくる制御信号から、変調方法opx1を選択する。モジュレータ515は、変調方法opx1を因子x1の全症例に適用する。症例とは、因子x1における患者の細胞数である。たとえば、因子x1が「CD4+」である場合、因子x1は、50人の患者の細胞数の配列を示すx1=(372,…,128,12)というベクトルである。
【0035】
変調方法opx1としては、たとえば、無変調、符号反転、対数変換(例.log10)、絶対値変換、冪乗が適用される。実施例1では、冪乗として0より大きく1ではない乗数(たとえば、1/2、2、3)が組み込まれている。なお、変調方法opx1による変調後の因子x1を信号x1´とする。たとえば、変調方法opx1が「log10」であれば、信号x1´は、x1´=log10x1となる。
【0036】
X軸データロードモジュール512は、マルチプレクサ514と、モジュレータ516と、を有する。マルチプレクサ514が因子x2(x1と同一因子でもよい)を選択し、モジュレータ515が変調方法opx2を選択する点を除いて、X軸データロードモジュール511と同一構成であるため、説明を省略する。なお、変調方法opx2による変調後の因子x2を信号x2´とする。
【0037】
なお、実施例1では、X軸の因子の最大選択数を2個とする。このため、
図5において説明の理解の容易のため、画像処理回路207に2つのX軸データロードモジュール511,512を実装したが、最大選択数が3個以上であれば、X軸データロードモジュール511,512が交互に実行されてもよく、また、最大選択数と同数のデータロードモジュールが実装されてもよい。また、1つのX軸データロードモジュール511で、X軸の選択可能な複数の因子および複数の演算子を選択してもよい。
【0038】
マルチオペレータ517は、コントローラ550からの制御信号から四則演算子やmax関数、min関数などの多項演算子を変調方法opxaとして選択する。マルチオペレータ517は、各X軸データロードモジュール511,512から出力された信号x1´,x2´を、選択した変調方法opxaで合成する。変調方法opxaでの合成後の信号を信号xとする。たとえば、変調方法opxaが「+」であれば、信号xは、x=x1´+x2´となる。
【0039】
モジュレータ518は、マルチオペレータ517により合成された信号xを変調方法opxbで変調して信号x´とする。信号x´は、X軸の数式111に因子x1が代入されて計算された患者データのX軸座標値である。モジュレータ518は、X軸の数式111および信号x´を、データメモリ500に保存するとともにイメージジェネレータ530に出力する。変調方法opxbとしては、たとえば、無変調、符号反転、対数変換(例.log10)、絶対値変換、冪乗が適用される。実施例1では、冪乗として0より大きく1ではない乗数(たとえば、1/2、2、3)が組み込まれている。たとえば、変調方法opxbがべき乗数「2」であれば、信号x´は、x´=x2となる。
【0040】
Y軸変調ユニット520は、
図1に示した数式立案AI101の一部を構成する。Y軸変調ユニット520は、Y軸の数式112における因子および変調方法を設定する。Y軸変調ユニット520は、Y軸データロードモジュール521,522と、マルチオペレータ527と、モジュレータ528と、を有する。
【0041】
Y軸変調ユニット520は、因子x1、x2の代わりに因子y1、y2(y1と同一因子でもよい)を選択し、変調方法opx1、opx2、opxa、opxbの代わりに変調方法opy1(変調後の信号はy1´)、opy2(変調後の信号はy2´)、opya(変調後の信号はy)、opyb(変調後の信号はy´)を選択し、X軸の数式111の代わりにY軸の数式112を生成する点を除いて、X軸変調ユニット510と同一構成であるため、説明を省略する。
【0042】
なお、上述したX軸変調ユニット510およびY軸変調ユニット520は、制御信号a(t)を用いて因子x1,x2,y1,y2の各細胞数を代入しながら数式111,112を立案して座標値(患者データ)を求めたが、先に制御信号a(t)を用いて数式111,112を立案し、立案した数式111,112に因子x1,x2,y1,y2の各細胞数を代入することにより座標値(患者データ)を求めてもよい。
【0043】
イメージジェネレータ530は、
図1に示した数式立案AI101の一部を構成する。イメージジェネレータ530は、X軸変調ユニット510およびY軸変調ユニット520から出力された信号x´,y´を受信する。信号x´は、症例ごとにX軸の数式111から算出されたx座標値の集合(一次元ベクトル)であり、信号y´は、症例ごとにY軸の数式112から算出されたy座標値の集合(一次元ベクトル)である。イメージジェネレータ530は、信号x´,y´内の同一位置の座標値を座標空間110にプロットすることで、患者データがプロットされた座標空間110の画像データIを構成するピクセルとして描画する。
【0044】
その際、イメージジェネレータ530は、データメモリ500上の目的変数302を参照することで、各ピクセルのカラーを決定する。たとえば、イメージジェネレータ530は、
図1の黒丸●で示した奏功群を赤色、黒四角■で示した非奏効群を青色で描画することにより、画像データIを生成する。イメージジェネレータ530は、生成された画像データIをデータメモリ500に保存するとともにコントローラ550に出力する。
【0045】
エバリュエータ540は、
図1に示した識別器102を有する。エバリュエータ540は、X軸変調ユニット510およびY軸変調ユニット520から出力された信号x´,y´と、データメモリ500からの目的変数302と、を取得する。エバリュエータ540は、目的変数302の種類に応じて、タイムステップt(tは1以上の整数)の統計量r(t)を計算する。
【0046】
具体的には、たとえば、エバリュエータ540は識別器102を実行することで、患者ごとの奏効と非奏効を予測する予測精度を示す統計量r(t)を計算する。統計量r(t)は、たとえば、AUC(Area Under the Curve)であり、強化学習の報酬に相当する。
【0047】
エバリュエータ540には、識別器102と、回帰の計算ユニットとしてロジスティック回帰、線形回帰、ニューラルネットワーク、勾配boostingと、が搭載されている。エバリュエータ540は、統計量r(t)をデータメモリ500に保存するとともにコントローラ550に出力する。
【0048】
また、エバリュエータ540は、統計量r(t)が所定のしきい値、たとえば、0.5以下であれば、停止信号K(t)を、K(t)=1に設定し、そうでなければ、K(t)=0に設定する。停止信号K(t)は、画像データIの生成を継続判定するための信号である。K(t)=1の場合、画像データIの生成は停止され、K(t)=0の場合、画像データIの生成は継続される。
【0049】
コントローラ550は、
図1に示した数式立案AI101の一部を構成する。コントローラ550は、強化学習型のCNNである。コントローラ550は、イメージジェネレータで生成されたタイムステップtの画像データI(以下、画像データI(t))を取得する。また、コントローラ550は、エバリュエータ540からの統計量r(t)を強化学習の報酬として取得する。
【0050】
そして、コントローラ550は、X軸変調ユニット510およびY軸変調ユニット520を制御する。具体的には、たとえば、コントローラ550は、イメージジェネレータ530から画像データI(t)が入力されると、X軸変調ユニット510およびY軸変調ユニット520を制御する制御信号a(t)を生成し、つぎのタイムステップ(t+1)での画像データI(t+1)の生成を制御する。
【0051】
<コントローラ550の構成>
図6は、
図5に示したコントローラ550の構成例を示すブロック図である。コントローラ550は、ネットワークユニット600と、リプレイメモリ620と、学習パラメータ更新ユニット630と、を有する。ネットワークユニット600は、Q*ネットワーク601と、Qネットワーク602と、ランダムユニット603とを有する。
【0052】
Q*ネットワーク601およびQネットワーク602は、価値を最大化するような行動である制御信号a(t)を学習する同一構成の行動価値関数である。この場合の価値とは、制御信号a(t)で規定される行動をとる(数式111,112を立案する)ことにより、最終的に画像データI(t)において奏功の患者データ群と非奏功の患者データ群との識別がうまくいくかをあらわす指標値である。
【0053】
すなわち、Q*ネットワーク601およびQネットワーク602は、ある状態(画像データI(t))において、ある行動(制御信号a(t))を取ったときのパターンテーブル208内の要素群における各価値の中の最大値を選択する。換言すれば、その行動(制御信号a(t))によって価値の高い状態(画像データI(t+1))に遷移できるような行動(制御信号a(t))は、つぎの行動(制御信号a(t+1))と同じくらいの価値を有する。
【0054】
具体的には、たとえば、Q*ネットワーク601は、画像データI(t)を入力とし、学習パラメータθ*に基づいて制御信号a(t)における各要素(因子および変調方法)の価値を示す一次元配列を出力とする深層強化学習DQN(Deep Q-Network)である。
【0055】
Qネットワーク602は、Q*ネットワーク601と同一構成の深層強化学習DQNであり、学習パラメータをθとし、画像データI(t)の生成元となる要素(因子と変調方法の組み合わせ)の価値を求める。Q*ネットワーク601は、Qネットワーク602で求められた画像データI(t)の価値が一番高かった行動、すなわち、パターンテーブル208内の要素を選択する。
【0056】
ランダムユニット603は、画像データI(t)の生成を継続するか否かを判定するしきい値となる0以上1以下の乱数値を出力する。学習パラメータ更新ユニット630は、勾配算出ユニット631を有する。学習パラメータ更新ユニット630は、勾配算出ユニット631を用いて統計量r(t)を報酬として考慮した勾配gを算出し、勾配gを学習パラメータθに加算することにより、学習パラメータθを更新する。
【0057】
リプレイメモリ620は、データパックD(t)を格納する。データパックD(t)は、タイムステップtにおける、統計量r(t)、画像データI(t),I(t+1)、制御信号a(t)および停止信号K(t)を含む。データパックD(t)により、タイムステップtの状態(画像データI(t))において行動(制御信号a(t))を取った場合に生成されるタイムステップt+1の状態が画像データI(t+1)で、行動(制御信号a(t))を取った場合に得られる報酬が統計量r(t)で、つぎのタイムステップt=t+1で画像データI(t),I(t+1)の生成を継続すべきか(停止信号K(t))が特定される。
【0058】
Q*ネットワーク601の構成例を具体的に説明する。Q*ネットワーク601は、たとえば、84×84ピクセルのカラーの画像データI(t)を入力とした場合を例に説明する。Q*ネットワーク601の構成例を説明する。第1層は畳み込みネットワーク(カーネル:8×8ピクセル、ストライド:4、アクチベーション関数:ReLU)である。第2層は畳み込みネットワーク(カーネル:4×4ピクセル、ストライド:2、アクチベーション関数:ReLU)である。
【0059】
第3層は全結合ネットワーク(ニューロン数:256、アクチベーション関数:ReLU)である。また、出力層は全結合ネットワークであり、パターンテーブル208の要素列に対応する1次元配列z(t)を出力信号として出力する。出力信号の1次元配列z(t)の内訳を説明する。
【0060】
1次元配列z(t)は、マルチプレクサ513:100要素、マルチプレクサ514:100要素、モジュレータ515:7要素、モジュレータ516:7要素、マルチオペレータ517:4要素、モジュレータ518:7要素、マルチプレクサ523:100要素、マルチプレクサ524:100要素、モジュレータ525:7要素、モジュレータ526:7要素、マルチオペレータ527:4要素、モジュレータ528:7要素(合計で450要素)の順で、パターンテーブル208の各要素に1対1に対応する値を有する。すなわち、1次元配列z(t)は、450個の要素に対応する値を持つ配列である(
図11を参照)。
【0061】
<制御信号a(t)>
図7は、制御信号a(t)の一例を示す説明図である。制御信号a(t)は、制御ID401と、行動701と、を有する。行動701は、X軸変調ユニット510およびY軸変調ユニット520による因子または変調方法の選択を示す。制御ID401で指定された各モジュール513~518,523~528は、行動701にしたがって因子または変調方法を選択する。たとえば、制御ID401が「513」であるマルチプレクサ513は、因子x1として免疫細胞「CD4+」を選択する。したがって、マルチプレクサ513は、データメモリ500内の分析対象DB104からCD4+の列の細胞数(372、…、128、12)を読み出す。
【0062】
また、制御ID401が「515」であるモジュレータ515は、変調方法(演算子opx1)として「無変調」を選択する。したがって、モジュレータ518は、データメモリ500内の分析対象DB104から因子x1として読み出されたCD4+の列の細胞数(372、…、128、12)を、信号x1´とする。
【0063】
また、制御ID401が「524」であるマルチプレクサ524は、行動701が空欄であるため、因子y2を選択しない。また、制御ID401が「525」であるモジュレータ525は、変調方法opy1として「1/2」(平方根、1/2乗)を選択する。したがって、モジュレータ528は、データメモリ500内の分析対象DB104から因子y1として読み出されたCD4+の列の細胞数(372、…、128、12)を当該細胞数の平方根(√372、…、√128、√12)に変換し、信号y1´とする。
【0064】
図7に示した制御信号a(t)が与えられた場合に生成されるX軸の数式111およびY軸の数式112は、
図7に示した通りである。数式111,112の「CD4+」には、
図3に示した患者ID301ごとの「CD4+」の値(372,…,128,12)が代入され、数式111の「CD8+」には、
図3に示した患者ID301ごとの「CD8+」の値(303,…,390,180)が代入される。なお、t=1のときの制御信号a(t)は、パターンテーブル208からランダムに設定されてもよく、後述する
図8でユーザ103により設定されてもよい。
【0065】
<入出力画面例>
図8は、データ処理装置100の出力デバイス204に表示される入出力画面の一例を示す説明図である。入出力画面800は、ロードボタン810と、開始ボタン820と、因子数入力領域830と、単項演算子入力領域840と、多項演算子入力領域850と、目標尺度入力領域860と、画像表示領域870と、数式表示領域880と、を含む。
【0066】
ロードボタン810は、押下により分析対象DB104のエントリをデータメモリ500にロードするためのボタンである。開始ボタン820は、押下により層別化画像生成を開始するためのボタンである。
【0067】
因子数入力領域830は、X軸因子数入力領域831と、Y軸因子数入力領域832と、を有する。X軸因子数入力領域831には、X軸の因子数が入力可能である。X軸因子数入力領域831が空欄の場合、1以上最大因子数(本例では2)以下の数値が自動的に設定される。Y軸因子数入力領域832には、Y軸の因子数が入力可能である。Y軸因子数入力領域832が空欄の場合、1以上最大因子数(本例では2)以下の数値が自動的に設定される。なお、最大因子数は、図示しない設定画面で変更可能である。
【0068】
単項演算子入力領域840は、X軸単項演算子入力領域841と、Y軸単項演算子入力領域842と、を含む。X軸単項演算子入力領域841には、モジュレータ515,516,518の各々について、X軸における変調方法の一つである単項演算子の追加入力が可能である。同様に、Y軸単項演算子入力領域842には、モジュレータ525,526,528の各々について、Y軸における変調方法の一つである単項演算子の追加入力が可能である。
【0069】
X軸単項演算子入力領域841およびY軸単項演算子入力領域842のいずれについても、追加入力可能な単項演算子として、たとえば、パターンテーブル208に未登録な三角関数が追加入力可能である。追加入力されない場合は、パターンテーブル208に登録されている単項演算子(無変調、符号反転、絶対値、対数、べき乗数(1/2、2、3))が適用される。
【0070】
多項演算子入力領域850は、X軸多項演算子入力領域851と、Y軸多項演算子入力領域852と、を含む。X軸多項演算子入力領域851には、マルチオペレータ517について、X軸における変調方法の一つである多項演算子の追加入力が可能である。同様に、Y軸多項演算子入力領域852には、マルチオペレータ527について、Y軸における変調方法の一つである多項演算子の追加入力が可能である。追加入力可能な多項演算子としては、たとえば、パターンテーブル208に未登録なmax関数やmin関数が追加入力可能である。追加入力されない場合は、パターンテーブル208に登録されている多項演算子(+、-、×、/)が適用される。
【0071】
目標尺度入力領域860は、統計量入力領域861と、目標値入力領域862とを含む。統計量入力領域861には、学習パラメータ更新ユニット630に算出させる統計量の種類が入力可能である。具体的には、たとえば、AUCのような奏効と非奏功の良し悪しを判断する統計量が選択可能である。目標値入力領域862には、統計量入力領域861に入力された統計量の目標値が入力可能である(
図8では、例として「0.8」)。
【0072】
画像表示領域870には、イメージジェネレータによって生成された画像データIが表示される。たとえば、黒丸●で示した奏功群は赤色、黒四角■で示した非奏効群は青色で描画される。識別境界線113は、識別器102によって算出される。数式表示領域880には、X軸の数式111とY軸の数式112とが表示される。
【0073】
なお、入出力画面800は、たとえば、データ処理装置100の出力デバイス204の一例であるディスプレイに表示される。また、入出力画面800は、データ処理装置100の通信IF205から、入出力画面800に関する情報を、通信IF205と通信可能に接続される他のコンピュータに送信することにより、当該他のコンピュータのディスプレイに表示されてもよい。
【0074】
<画像データ生成処理>
図9は、X軸変調ユニット510、Y軸変調ユニット520、およびイメージジェネレータ530による画像データ生成処理の詳細な処理手順例を示すフローチャートである。まず、X軸変調ユニット510内のX軸データロードモジュール511,512が処理を実行する(ステップS901)。具体的には、たとえば、X軸データロードモジュール511に内蔵されたマルチプレクサ513は、コントローラ550からの制御信号a(t)により、データメモリ500に格納された因子群303の中から1つの因子x1を選択する。
【0075】
つぎに、モジュレータ515は、制御信号a(t)が指定した変調方法を因子x1の全症例(因子x1の各細胞数)に適用し、信号x1´を生成する。なお、モジュレータ515は、選択された因子x1に変調方法304が設定されている場合、当該変調方法304を優先適用してもよい。たとえば、因子x1として、MIP-1βが選ばれていれば、因子x1はlog10により変調される。また、因子x1として、CTLA-4が選ばれていれば、因子x1はlog10または平方根(1/2乗)のいずれかにより変調される。
【0076】
なお、X軸単項演算子入力領域841に単項演算子(たとえば、三角関数)が入力されていれば、モジュレータ515は、X軸単項演算子入力領域841に入力された単項演算子を優先的に適用してもよい。ステップS901では、X軸データロードモジュール511について説明したが、もう1つのX軸データロードモジュール512についても同様である。
【0077】
マルチオペレータ517は、制御信号a(t)に従って、X軸データロードモジュール511から出力された変調後の信号x1´と、X軸データロードモジュール512から出力された変調後の信号x2´を合成して信号xとする(ステップS902)。制御信号a(t)で指定された変調方法が、加算(+)である場合、マルチオペレータ517は、信号x1´と信号x2´とを加算する(x=x1´+x2´)。
【0078】
また、X軸多項演算子入力領域851に多項演算子(たとえば、max関数)が入力されていれば、マルチオペレータ517は、信号x1´と信号x2´とのうち大きい方を信号xとして選択する。信号x1´および信号x2´は、変調された患者数(50症例)分の値を持つ一次元ベクトルであるため、信号x1´と信号x2´と比較する場合は、最大値どうしを比較して大きい方を信号xとしてもよい。また、マルチオペレータ517は、合計値どうしを比較して大きい方を信号xとしてもよい。
【0079】
また、マルチオペレータ517は、信号x1´および信号x2´の同一患者どうしの値を比較して、大きい値の個数が多い方を信号xとしてもよい。同様に、マルチオペレータ517は、多項演算子がmin関数であれば、信号x1´と信号x2´と比較する場合は、最小値どうしを比較して小さい方を信号xとしてもよい。また、マルチオペレータ517は、合計値どうしを比較して小さい方を信号xとしてもよい。また、マルチオペレータ517は、信号x1´および信号x2´の同一患者どうしの値を比較して、小さい値の個数が多い方を信号xとしてもよい。
【0080】
モジュレータ518は、制御信号a(t)に従って、マルチオペレータ517により合成された信号xを変調して,X軸の数式111で算出された患者データごとの因子x1のX軸座標値である信号x´を出力して、データメモリ500に保存するとともにイメージジェネレータ530に出力する(ステップS903)。制御信号a(t)で指定された変調方法opxbが、符号反転である場合、モジュレータ518は、信号xの符号を反転する。
【0081】
なお、X軸単項演算子入力領域841に単項演算子(たとえば、三角関数)が入力されていれば、モジュレータ518は、信号xに、X軸単項演算子入力領域841に入力された単項演算子を優先的に適用してもよい。
【0082】
Y軸変調ユニット520内のY軸データロードモジュール521,522が処理を実行する(ステップS904)。データロードモジュール521に内蔵されたマルチプレクサ523は、制御信号a(t)により、データメモリ500に格納された因子群303の中から1つの因子y1を選択する。
【0083】
つぎに、モジュレータ525は、制御信号a(t)が指定された変調方法を因子y1の全症例(因子y1の各細胞数)に適用し、信号y1´を生成する。なお、モジュレータ525は、選択された因子y1に変調方法304が設定されている場合、当該変調方法304を優先適用してもよい。たとえば、因子y1として、MIP-1βが選ばれていれば、因子y1は、log10により変調される。また、因子y1として、CTLA-4が選ばれていれば、因子y1は、log10または平方根(1/2乗)のいずれかにより変調される。
【0084】
なお、Y軸単項演算子入力領域842に単項演算子(たとえば、三角関数)が入力されていれば、モジュレータ525は、Y軸単項演算子入力領域842に入力された単項演算子を優先的に適用してもよい。ステップS904では、Y軸データロードモジュール521について説明したが、Y軸データロードモジュール522についても同様である。
【0085】
マルチオペレータ527は、制御信号a(t)に従って、Y軸データロードモジュール521から出力された変調後の信号y1´と、Y軸データロードモジュール522から出力された信号y2´を合成して信号yとする(ステップS905)。制御信号a(t)で指定された変調方法が、減算(-)である場合、マルチオペレータ517は、信号y1´から信号y2´を減算する(y=y1´-y2´)。
【0086】
また、Y軸多項演算子入力領域852に多項演算子(たとえば、max関数)が入力されていれば、マルチオペレータ527は、信号y1´と信号y2´とのうち大きい方を信号yとして選択する。信号y1´および信号y2´は、変調された患者数(50症例)分の値を持つ一次元ベクトルであるため、信号y1´と信号y2´と比較する場合は、合計値どうしを比較して大きい方を信号yとしてもよい。
【0087】
また、信号y1´および信号y2´の同一患者どうしの値を比較して、大きい値の個数が多い方を信号yとしてもよい。同様に、多項演算子がmin関数であれば、信号y1´と信号y2´と比較する場合は、合計値どうしを比較して小さい方を信号yとしてもよい。また、信号y1´および信号y2´の同一患者どうしの値を比較して、小さい値の個数が多い方を信号yとしてもよい。
【0088】
モジュレータ528は、制御信号a(t)に従って、マルチオペレータ527により合成された信号yを変調して信号y´とし、データメモリ500に保存するとともにイメージジェネレータ530に出力する(ステップS906)。制御信号a(t)で指定された変調方法opybが、符号反転である場合、モジュレータ528は、信号yの符号を反転する。
【0089】
なお、Y軸単項演算子入力領域842に単項演算子(たとえば、三角関数)が入力されていれば、モジュレータ528は、信号yに、Y軸単項演算子入力領域842に入力された単項演算子を優先的に適用してもよい。
【0090】
イメージジェネレータ530は、X軸変調ユニット510およびY軸変調ユニット520から出力された信号x´、y´に基づいて、座標空間110に患者データごとの座標値をプロットし、画像データI(t)を生成する(ステップS907)。その際、イメージジェネレータ530は、データメモリ500上の目的変数302を参照することで、各ピクセルのカラーを決定する。
【0091】
<分析処理手順例>
図10は、分析支援処理手順例を示すフローチャートである。なお、処理開始前において、
図8の入出力画面800のロードボタン810の押下により分析対象DB104のエントリがデータメモリ500にロードされているものとする。
【0092】
[S1001]
データ処理装置100は、初期化を実行する(ステップS1001)。具体的には、たとえば、データ処理装置100は、計算ステップmをm=1に設定する。また、データ処理装置100は、Q*ネットワーク601の学習パラメータθ*をランダムな重みで初期化する。また、データ処理装置100は、Qネットワーク602の学習パラメータθをランダムな重みで初期化する。
【0093】
[S1002]
データ処理装置100は、コントローラ550を初期化する(ステップS1002)。具体的には、たとえば、データ処理装置100は、タイプステップtをt=1に設定する。コントローラ550はパターンテーブル208の要素を用いて、制御信号a(t)をランダムに設定する。
【0094】
[S1003]
つぎに、データ処理装置100は、
図9に示した、タイムステップtにおける画像データ生成処理(以下、画像データI(t)生成処理)をサブルーチンとして実行する(ステップS1003)。画像データI(t)生成処理(ステップS1003)は、制御信号a(t)をX軸変調ユニット510およびY軸変調ユニット520に与えることにより、イメージジェネレータ530から画像データI(t)を生成する。
【0095】
[S1004]
コントローラ550は、ステップS1002で生成されたタイムステップtの制御信号a(t)を更新する(ステップS1004)。具体的には、たとえば、ランダムユニット603は、乱数値を出力する。コントローラ550は、ランダムユニット603が出力した乱数値がe(たとえば、e=0.5)以上であれば、パターンテーブル208からランダムに1つの要素を選択し、選択した要素で制御信号a(t)を更新する。
【0096】
たとえば、パターンテーブル208からランダムに選択された要素が、制御ID401が「513」で要素番号99の「CTLA-4」であれば、コントローラ550は、
図7の制御信号a(t)の制御ID401が「513」が示す行動701の値「CD4+」を「CTLA-4」に変更する。
【0097】
たとえば、パターンテーブル208からランダムに選択された要素が、制御ID401が「515」で要素番号2の「符号反転」であれば、コントローラ550は、
図7の制御信号a(t)の制御ID401が「515」が示す行動701の値「無変調」を「符号反転」に変更する。なお、ランダムに選択される要素は、1つに限らず2以上でもよい。
【0098】
一方、ランダムユニット603が出力した乱数値がe未満であれば、コントローラ550は、ネットワークユニット600内のQ*ネットワーク601に、画像データI(t)生成処理(ステップS1003)で生成された画像データI(t)を入力し、1次元配列z(t)を計算する。
【0099】
<一次元配列z(t)>
図11は、一次元配列z(t)の一例を示す説明図である。一次元配列z(t)は、パターンテーブル208の450個の要素群に対応する450個の数値の配列である。数値の大きさは、その要素の選択価値を示す。配列番号は、各数値の配列位置を示し、パターンテーブル208の全要素の配列に対応する。たとえば、配列番号1~100が、制御ID401:513の要素番号1~100に対応する。配列番号101~200が、制御ID401:514の要素番号1~100に対応する。
【0100】
図示はしないが、配列番号201~207は、制御ID401:515の要素番号1~7に対応し、配列番号208~214は、制御ID401:516の要素番号1~7に対応し、配列番号215~218は、制御ID401:517の要素番号1~4に対応し、配列番号219~225は、制御ID401:518の要素番号1~7に対応し、配列番号226~325は、制御ID401:523の要素番号1~100に対応し、配列番号326~425は、制御ID401:524の要素番号1~100に対応し、配列番号426~432は、制御ID401:525の要素番号1~7に対応し、配列番号433~439は、制御ID401:526の要素番号1~7に対応し、配列番号440~443は、制御ID401:527の要素番号1~4に対応する。
【0101】
このように、制御ID401順の要素順に配列番号が順次昇順に割り当てられ、配列番号444~450が、最後の制御ID401:528の要素番号1~7に対応する。
【0102】
コントローラ550は、1次元配列z(t)において、最大値となった要素に対応するパターンテーブル208の要素を1つ選択し、制御信号a(t)を更新する。たとえば、
図11では、最大値は配列番号200の「0.9」である。配列番号200は、制御ID401:514および要素番号100に対応する。
【0103】
パターンテーブル208において、制御ID401:514および要素番号100に対応する要素は、「MIP-1β」である。コントローラ550は、
図7の制御信号a(t)の制御ID401が「514」が示す行動701の値「CD8+」を、最大値に対応する「MIP-1β」に変更する。このように、最大値となった要素に変更することにより、変更後の制御信号a(t)の価値を高めることができ、コントローラ550がより好適な行動を取ることで、イメージジェネレータ530は、座標値(患者データ)の座標空間110上の配置がより識別や回帰分析に適した画像データI(t)を生成することができる。
【0104】
また、最大値となった要素が複数存在する場合には、コントローラ550は、そのすべてを選択してもよく、その中からランダムに1つ選択してもよい。また、最大値となった要素だけではなく、コントローラ550は、数値の大きさが上位n位(nは1以上の任意の整数)までの要素を選択してもよい。この場合も、コントローラ550は、上位n位までの要素をすべて選択してもよく、その中からランダムに1つ選択してもよい。
【0105】
また、コントローラ550は、数値の大きさがしきい値以上の要素を選択してもよい。この場合も、コントローラ550は、しきい値以上の要素をすべて選択してもよく、その中からランダムに1つ選択してもよい。また、コントローラ550は、タイムステップt-1の一次元配列z(t-1)を逐次保持しておき、一次元配列z(t-1)の各要素の数値よりも大きい要素を一次元配列z(t)から選択してもよい。この場合も、コントローラ550は、一次元配列z(t-1)の各要素の数値よりも大きい要素をすべて選択してもよく、その中からランダムに1つ選択してもよい。このように、一次元配列z(t)の生成を繰り返すほど、要素の価値が向上する。
【0106】
[S1005]
図10に戻り、エバリュエータ540は、タイムステップtの統計量r(t)の計算を実行する(ステップS1005)。具体的には、たとえば、エバリュエータ540は、X軸変調ユニット510およびY軸変調ユニット520から出力された信号x´、y´と、データメモリ500からロードした目的変数302の種類と、に基づいて、統計量r(t)を計算する。
【0107】
より具体的には、エバリュエータ540は、識別器102を実行することで、患者ごとの奏効と非奏効を予測し、統計量r(t)を計算する。エバリュエータ540は、統計量r(t)をデータメモリ500に保存するとともにコントローラ550に出力する。また、エバリュエータ540は、統計量r(t)が0.5以下であれば、現在の制御信号a(t)で指定可能な要素群では、奏功および非奏功を識別しやすい画像データI(t)を生成できないと判断して、停止信号K(t)をK(t)=1(停止)に設定する。統計量r(t)が0.5以下でなければ、エバリュエータ540は、停止信号K(t)をK(t)=0(継続)に設定する。
【0108】
[S1006]
つぎに、データ処理装置100は、
図9に示した、タイムステップt+1における画像データ生成処理(以下、画像データI(t+1)生成処理)をサブルーチンとして実行する(ステップS1006)。画像データI(t+1)生成処理(ステップS1006)は、ステップS1004で更新された制御信号a(t)またはステップS1008:Yesでつぎのタイムステップt+1に更新されたタイムステップtでステップS1004により更新された制御信号a(t)を、X軸変調ユニット510およびY軸変調ユニット520に与えることにより、イメージジェネレータ530から画像データI(t+1)を生成する。
【0109】
[S1007]
つぎに、ネットワークユニット600は、統計量r(t)、制御信号a(t)、画像データI(t)、画像データI(t+1)、および停止信号K(t)を1組のデータとしたデータパックD(t)を、リプレイメモリ620に保存する(ステップS1007)。
【0110】
[S1008]
そして、K(t)=0、でかつ、タイムステップtが所定の回数T未満であれば(ステップS1008:Yes)、画像データI(t)の生成を継続することになるため、t=t+1としてタイムステップtを更新し、ステップS1004に戻る。一方、K(t)=1またはタイムステップtが所定の回数T以上であれば(ステップS1008:No)、ステップS1009に移行する。実施例1では、T=100とする。
【0111】
[S1009]
学習パラメータ更新ユニット630は、リプレイメモリ620からランダムにJ個のデータパックD(1),…,D(j),…,D(J)(j=1,…,J)(以下、データパック群Ds)をロードし、下記式(1)により教師信号y(j)を更新する(ステップS1009)。なお、実施例1ではJの上限を100とする。
【0112】
【0113】
上記式(1)において、γは割引率であり、実施例1では、γ=0.998とする。上記式(1)における計算処理maxQ(I(j+1);θ)は、ネットワークユニット600内のQネットワーク602に画像データI(j+1)を入力し、Qネットワーク602が学習パラメータθを適用して算出した1次元配列z(j)の中から最大値、すなわち、最大の行動価値を出力する処理である。たとえば、
図11の1次元配列z(t)が1次元配列z(j)である場合、計算処理maxQ(I(j+1);θ)は、配列番号200の値「0.9」を最大の行動価値として出力する。
【0114】
[S1010]
つぎに、学習パラメータ更新ユニット630は、学習計算を実行する(ステップS1010)。具体的には、たとえば、勾配算出ユニット631は、下記式(2)を用いて学習パラメータθについて勾配gを出力し、勾配gを学習パラメータθに加算することで学習パラメータθを更新する。
【0115】
【0116】
勾配gは、上記式(2)の右辺第2項である。これにより、Qネットワーク602は、報酬である統計量r(t)が考慮された更新後の学習パラメータθにより、統計量r(t)、すなわち、患者の奏功および非奏功の予測精度が高くなるような行動701を示す制御信号a(t)を生成することができる。
【0117】
また、学習計算(ステップS1010)において、学習パラメータ更新ユニット630は、Qネットワーク602の更新後の学習パラメータθを、Q*ネットワーク601の学習パラメータθ*に上書きする。すなわち、学習パラメータθ*が、更新後の学習パラメータθと同一の値となる。これにより、Q*ネットワーク601は、行動価値、すなわち、座標空間110の患者データの配置が奏功および非奏功を識別しやすくなるような行動701を特定することができる。
【0118】
[S1011]
つぎに、データ処理装置100は、統計量r(t)が目標値入力領域862に入力した目標値を下回り、かつ、計算ステップmが所定の回数M未満であれば(ステップS1011:Yes)、データ処理装置100による分析を継続するため、ステップS302に戻り、計算ステップmをm=m+1として更新する。実施例1では、M=100万回とする。
【0119】
一方、データ処理装置100は、統計量r(t)が目標値入力領域862に入力した目標値以上、または、計算ステップmが所定の回数Mに到達した場合(ステップS1011:No)、ステップS1012に移行する。
【0120】
[S1012]
つぎに、データ処理装置100は、データメモリ500から、データパック群Dsのうち、統計量r(k)が目標値以上となったタイムステップkのデータパックD(k)を記憶デバイス202に保存する(ステップS1012)。統計量r(k)が目標値以上となったタイムステップkのデータパックD(k)が存在しない場合、データパックD(k)を記憶デバイス202に保存しない。また、データ処理装置100は、統計量r(k)が目標値以上となったタイムステップkのデータパックD(k)が存在しない場合、データパック群Dsのうち、統計量r(k)が最大となるタイムステップkのデータパックD(k)を記憶デバイス202に保存してもよい。
【0121】
[S1013]
つぎに、データ処理装置100は、分析結果を表示する(ステップS1013)。具体的には、たとえば、データ処理装置100は、記憶デバイス202に保存されたデータパックD(k)をロードし、データパックD(k)内の制御信号a(k)を用いてX軸変調ユニット510およびY軸変調ユニット520に数式立案を実行させ、立案した数式111,112を数式表示領域880に表示する。
【0122】
また、データ処理装置100は、データパックD(k)内の画像データI(k)および統計量r(k)を画像表示領域870に表示する。また、データ処理装置100は、識別器102から計算された識別境界線113を画像表示領域870に表示する。なお、記憶デバイス202にデータパックD(k)が保存されていない場合、データ処理装置100は、分析失敗を示す分析結果を表示してもよい。これにより、一連の処理が終了する(ステップS1014)。
【0123】
このように、実施例1によれば、複数因子の組み合わせによるデータ群の識別を自動で高速に実現することができる。
実施例2は、実施例1において、目的変数302が量的変数である場合の例である。実施例2では、実施例1との相違点を中心に説明するため、実施例1と同一構成には同一符号を付し、その説明を省略する。
また、イメージジェネレータ530は、データメモリ500上の目的変数1202を参照することで、座標空間110上にプロットされた患者データである各ピクセルの輝度値を目的変数1202の大きさに合わせて濃淡を決定する。目的変数1202の値が大きくなるほど、当該患者データを示すピクセルは明るく描画される。
一方で、目的変数1202の値が小さくなるほど、当該患者データを示すピクセルは暗く描画される。イメージジェネレータ530は、生成された画像データI(t)をデータメモリ500に保存するとともにコントローラ550に出力する。また、イメージジェネレータ530は、画像データI(t)の患者データを参照して、回帰直線1301を生成する。このように、実施例2によれば、データ処理装置100を回帰分析にも適用することができる。
また、実施例1および実施例2では、分析対象データとして患者の免疫細胞数を用いた例としたが、分析対象データは、このような生体情報に限られず、たとえば、株式にも適用可能である。たとえば、分析対象を会社の銘柄とし、患者ID301を銘柄のIDとし、因子群303を、その会社の純利益、従業員数、売上高などの会社情報にすればよい。また、実施例1の場合、目的変数302は、当該銘柄の上昇または下降や、また、購入可否とすればよい。また、実施例2の場合、目的変数302(量的変数)は、当該銘柄の株価とすればよい。
(1)たとえば、データ処理装置100は、記憶部と、X軸変調ユニット510と、Y軸変調ユニット520と、イメージジェネレータ530と、を有する。記憶部の一例であるデータメモリ500は、分析対象ごとに因子303と目的変数302とを有する分析対象データ群(分析対象DB104)を記憶する。X軸変調ユニット510は、分析対象ごとに、第1因子(x1,x2)を変調し第1変調結果(患者データのX座標値)を出力する。Y軸変調ユニット520は、分析対象ごとに、第2因子(y1,y2)を変調し第2変調結果(患者データのY座標値)を出力する。イメージジェネレータ530は、第1因子に対応するX軸と、第2因子に対応するY軸と、により規定される座標空間110に、分析対象ごとに、X軸変調ユニット510からの第1変調結果およびY軸変調ユニット520からの第2変調結果である座標点(患者データ)を付与し、かつ、座標点に対応する分析対象の目的変数302に関する情報(たとえば、ピクセルカラー)を座標点に付与した画像データI(t)を生成する。
(2)また、上記(1)において、記憶部は、因子の種類と因子の変調方法の種類とのうち少なくとも一方の要素の種類を含むパターンテーブル208を記憶し、データ処理装置100は、コントローラ550を有する。コントローラ550は、パターンテーブル208を用いて、X軸変調ユニット510が第1要素を選択し、かつ、Y軸変調ユニット520が第2要素を選択する制御信号a(t)を生成し、制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御する。
これにより、コントローラ550は、パターンテーブル208が記憶する要素に応じて、X軸変調ユニット510およびY軸変調ユニット520を制御して、数式111,112を立案し、座標値(患者データ)を出力することができる。したがって、イメージジェネレータ530は、座標値(患者データ)を座標空間110にプロットして画像データI(t)を生成することができる。
(3)また、上記(2)において、パターンテーブル208は、因子の種類を含み、コントローラ550は、パターンテーブル208を用いて、X軸変調ユニット510が第1因子を選択し、かつ、Y軸変調ユニット520が第2因子を選択する制御信号a(t)を生成し、制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御してもよい。
これにより、パターンテーブル208が、CD4+、CD8+、…、CTLA-4,MIP-1βのような因子の種類を記憶し、変調方法の種類を記憶していない場合であっても、コントローラ550は、所定のまたはユーザ103に指定された変調方法が規定された制御信号a(t)を生成し、制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御することができる。
(4)また、上記(2)において、パターンテーブル208は、変調方法の種類を含み、コントローラ550は、パターンテーブル208を用いて、X軸変調ユニット510が第1変調方法を選択し、かつ、Y軸変調ユニット520が第2変調方法を選択する制御信号a(t)を生成し、制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御してもよい。
これにより、パターンテーブル208が、無変調、符号反転、対数変換、絶対値変換、冪乗、四則演算のような変調方法を記憶し、因子の種類を記憶していない場合であっても、コントローラ550は、所定のまたはユーザ103に指定された因子が規定された制御信号a(t)を生成し、制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御することができる。
(5)また、上記(2)において、パターンテーブル208は、因子の種類と因子の変調方法の種類とを含み、コントローラ550は、パターンテーブル208を用いて、X軸変調ユニット510が第1因子または第1変調方法の少なくとも一方の要素を選択し、かつ、Y軸変調ユニット520が第2因子または第2変調方法の少なくとも一方の要素を選択する制御信号a(t)を生成し、制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御してもよい。
これにより、コントローラ550は、因子および変調方法を組み合わせた制御信号a(t)を網羅的に生成することができ、画像データI(t)の生成パターンの増加を図ることができる。
(6)また、上記(2)において、コントローラ550は、パターンテーブル208を参照して制御信号a(t)の一部の要素を更新して、更新後の制御信号a(t)によりX軸変調ユニット510およびY軸変調ユニット520を制御し、イメージジェネレータ530は、コントローラ550によって更新後の制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520が制御されたことにより、画像データI(t+1)を生成してもよい。
これにより、イメージジェネレータ530は、更新後の制御信号a(t)による価値の行動が反映された画像データI(t+1)を生成することができ、コントローラ550は、このような画像データI(t+1)という状態において次の行動を取ることができる。
(7)また、上記(6)において、コントローラ550は、画像データI(t+1)を第1状態、制御信号a(t)に含まれる第1要素群を第1行動とし、学習パラメータθ*に基づいて第1状態において第1行動を取った場合のパターンテーブル208内の各要素の価値を示す一次元配列z(t)を出力するQ*ネットワーク601を有し、パターンテーブル208内の各要素の価値を示す一次元配列z(t)のうち特定の価値(例:0.9)に対応する制御信号a(t)内の要素(例:制御ID:514の「CD8+」)を、パターンテーブル208内の特定の価値(例:0.9)に対応する特定の要素(例:要素番号100の「MIP-1β」)に更新し、更新後の制御信号a(t)に基づいてX軸変調ユニット510およびY軸変調ユニット520を制御してもよい。
これにより、イメージジェネレータ530は、更新後の制御信号a(t)による特定の価値の行動が反映された画像データI(t+1)を生成することができ、コントローラ550は、このような画像データI(t+1)という状態において次の行動を取ることができる。
これにより、イメージジェネレータ530は、更新後の制御信号a(t)による価値が最大の行動が反映された画像データI(t+1)を生成することができ、コントローラ550は、このような画像データI(t+1)という状態において次の行動を取ることができる。したがって、イメージジェネレータ530は、行動を最大化する画像データI(t)を生成することができ、複数因子の組み合わせによる患者データ群の識別や回帰分析が容易になり、データ処理の自動化および高速化を実現することができる。
(9)また、上記(7)において、データ処理装置100は、第1変調結果(患者データのX座標値)、第2変調結果(患者データのY座標値)、および目的変数302に関する情報(たとえば、ピクセルカラー)に基づいて、目的変数302を評価するエバリュエータ540を有する。コントローラ550は、入力画像データを第2状態、更新後の制御信号a(t)に含まれる第2要素群を第2行動とし、学習パラメータθに基づいて第2状態において第2行動を取った場合のパターンテーブル208内の各要素の価値を示す一次元配列z(t)を出力するQネットワーク602を有する。コントローラ550は、Qネットワーク602に画像データI(t+1)が入力された場合の出力結果に、エバリュエータ540による評価結果である統計量r(j)を報酬として加算することにより第1行動の価値を教師データy(j)として算出し、教師データy(j)と、Qネットワーク602に画像データI(t)が入力された場合の出力結果と、に基づいて、学習パラメータθを更新し、更新後の学習パラメータθにより学習パラメータθ*を更新してもよい。
これにより、Q*ネットワーク601の最適化を図ることができ、Q*ネットワーク601が出力する一次元配列z(t)から、より価値が高い要素を特定することができる。したがって、複数の要素の組み合わせによる患者データ群の識別や回帰分析が容易になり、データ処理の自動化および高速化を実現することができる。
(10)また、上記(1)において、データ処理装置100は、エバリュエータ540と、出力部(出力デバイス204または通信IF205)と、を有する。エバリュエータ540は、第1変調結果(患者データのX座標値)、第2変調結果(患者データのY座標値)、および目的変数302に関する情報(たとえば、ピクセルカラー)に基づいて、目的変数302を評価するエバリュエータ540を有する。出力部は、エバリュエータ540による評価結果である統計量r(j)が、たとえば、目標値入力領域862に入力された目標値以上である場合、画像データI(j)を表示可能に出力してもよい。
(11)また、上記(10)において、目的変数302は、分析対象データ群を分類する情報であり、イメージジェネレータ530は、座標点を目的変数302で識別する識別境界線113を生成し、出力部は、識別境界線113を画像データI(j)に表示可能に出力してもよい。これにより、ユーザは、目的変数302別の座標点群を識別する境界を視認することができる。
(12)また、上記(11)において、因子303は、生体情報であり、目的変数302は、薬効を示す情報としてもよい。これにより、ユーザは、薬が効いた患者データ群(奏功群)と薬が効かなかった患者データ群とを識別境界線113で容易に層別化することができる。
(13)また、上記(11)において、目的変数302は、量的変数であり、イメージジェネレータ530は、座標点と目的変数302とに基づく回帰直線1301を生成し、出力部は、回帰直線1301を画像データI(j)に表示可能に出力してもよい。これにより、データ処理装置100は、回帰分析にも適用することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。