(57)【要約】      （修正有）【課題】欠損値の多いデータセットを用いてニューラルネットワークによる機械学習を行う場合において、出力の精度を向上させることや疾病予測に有用なマーカーを臨床検査データから予測する機械学習装置を提供する。【解決手段】機械学習装置は、複数の入力ユニットを含む入力層と、１以上の出力ユニットを含む出力層とを備えたニューラルネットワーク部と、複数の値を含む所定の入力データを整形し、入力層へ入力するための整形入力データを出力する前処理部１２とを備える。また、前処理部１２は、複数の値が欠損値であるか否かを示す情報、又は前記複数の値が欠損値である場合に用いる代替値を生成し、前記複数の値が欠損値であるか否かを示す情報、又は前記代替値を整形入力データとして出力する。【選択図】図１
2018068752.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ユニットを含む入力層と、１以上の出力ユニットを含む出力層とを備えたニューラルネットワーク部と、
複数の値を含む所定の入力データを整形し、前記入力層へ入力するための整形入力データを出力する前処理部と、
を備え、
前記前処理部は、前記複数の値が欠損値であるか否かを示す情報、又は前記複数の値が欠損値である場合に用いる代替値を生成し、前記複数の値が欠損値であるか否かを示す情報、又は前記代替値を前記整形入力データとして出力する
機械学習装置。
【請求項２】
前記所定の入力データは、量的データを含む統計データであり、
前記前処理部は、前記量的データに対し所定の確率分布に従うように正規化する
請求項１に記載の機械学習装置。
【請求項３】
前記所定の入力データは、質的データを含む統計データであり、
前記前処理部は、前記質的データに対し、当該質的データが取り得る値を識別するための識別情報に変換する
請求項１又は２に記載の機械学習装置。
【請求項４】
前記所定の入力データは臨床検査の結果を示す臨床検査データであると共に、前記出力ユニットが出力する出力データは所定の疾病への羅病を予測する指標値であり、
前記前処理部は、前記所定の疾病への罹病の可能性の程度を示す臨床検査データに１を加算した値の対数に正規化した値を前記指標値の教師値として求める
請求項１から３の何れか一項に記載の機械学習装置。
【請求項５】
前記所定の疾病は悪性腫瘍である
請求項４に記載の機械学習装置。
【請求項６】
複数の入力ユニットを含む入力層と、１以上の出力ユニットを含む出力層とを備えたニューラルネットワークを用いて予測モデルを生成すると共に、当該予測モデルを用いて予測処理を行うステップと、
複数の値を含む所定の入力データを整形し、前記入力層へ入力するための整形入力データを出力する前処理ステップと、
をコンピュータが実行し、
前記前処理ステップにおいて、前記複数の値が欠損値であるか否かを示す情報、又は前記複数の値が欠損値である場合に用いる代替値を生成し、前記複数の値が欠損値であるか否かを示す情報、又は前記代替値を前記整形入力データとして出力する
機械学習方法。
【請求項７】
複数の入力ユニットを含む入力層と、１以上の出力ユニットを含む出力層とを備えたニューラルネットワークを用いて予測モデルを生成すると共に、当該予測モデルを用いて予測処理を行うステップと、
複数の値を含む所定の入力データを整形し、前記入力層へ入力するための整形入力データを出力する前処理ステップと、
をコンピュータに実行させ、
前記前処理ステップにおいて、前記複数の値が欠損値であるか否かを示す情報、又は前記複数の値が欠損値である場合に用いる代替値を生成し、前記複数の値が欠損値であるか否かを示す情報、又は前記代替値を前記整形入力データとして出力する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、機械学習装置、機械学習方法及びプログラムに関する。
【背景技術】
【０００２】
従来、医療分野における治療効果については、多重ロジスティック回帰分析等の線形解析による評価が試みられてきた。しかしながら、様々な患者背景をもつ患者と、その治療効果については非線形な関係が存在するという報告もあった。
【０００３】
また、近年はＮＮ（Neural Network：ニューラルネットワーク）を用いる技術も提案されている。例えば、潰瘍性大腸炎患者において、サイタフェレシスを施行した場合の予後を予測する方法であって、ＮＮを利用するものが提案されている（例えば、特許文献１）。また、核酸アレイハイブリダゼーション情報を取得及び解析するＮＮも提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１３０４０８号公報
【特許文献２】特開２０１４−９６１８３号公報
【非特許文献】
【０００５】
【非特許文献１】Nair, V., & Hinton, G. E. (2010). Rectified linear units improve restricted boltzmann machines. In Proceedings of the 27th International Conference on Machine Learning (ICML-10) (pp. 807-814).
【非特許文献２】Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
【非特許文献３】Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167.
【非特許文献４】Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: A simple way to prevent neural networks from overfitting. The Journal of Machine Learning Research, 15(1), 1929-1958.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、臨床検査のデータは、一般的に統計解析には利用し難いという問題がある。臨床検査は、医師が病気を診断し治療していくために利用され、一般臨床検査、血液検査、生化学検査、免疫血清検査、細菌検査、病理検査、腫瘍関連検査、その他検査など、多くの検査項目がある。個々の患者に対しては項目を選択して検査されるため、患者全体（サンプル）の数は多いが、個々の患者においては未測定項目が大量に存在する（すなわち、欠損値の多い）データセットといえる。このようなデータは、統計解析には利用し難い。
【０００７】
一方、定期的に受診する特定健康診査や企業の健康診断においては一般的な検査しかされておらず、悪性腫瘍等の罹患を判定するためには画像検査や腫瘍マーカー等の特殊項目の検査を別途受診する必要がある。これは受診者にとっては複数回の検査を受診する手間がかかることや早期発見の障害となっている。
【０００８】
本発明は、欠損値の多いデータセットを用いてニューラルネットワークによる機械学習を行う場合において、出力の精度を向上させることや罹病予測に有用なマーカーを臨床検査データから予測することの、両方またはいずれか一方を目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る機械学習装置は、複数の入力ユニットを含む入力層と、１以上の出力ユニットを含む出力層とを備えたニューラルネットワーク部と、複数の値を含む所定の入力データを整形し、入力層へ入力するための整形入力データを出力する前処理部とを備える。また、前処理部は、複数の値が欠損値であるか否かを示す情報、又は複数の値が欠損値である場合に用いる代替値を生成し、複数の値が欠損値であるか否かを示す情報、又は代替値を整形入力データとして出力する。
【００１０】
このようにすれば、欠損値であるか否かを示すフラグを入力することで、欠損値の多いデータセットを用いてニューラルネットワークによる機械学習を行う場合においても、出力の精度を向上させることができる。
【００１１】
また、所定の入力データは、量的データを含む統計データであり、前処理部は、量的データに対し所定の確率分布に従うように正規化するようにしてもよい。このようにすれば、ＮＮの入力値として取り得る範囲に入力データをマッピングし、適切に学習できるようになる。
【００１２】
また、所定の入力データは、質的データを含む統計データであり、前処理部は、質的データに対し、当該質的データが取り得る値を識別するための識別情報に変換するようにしてもよい。このようにすれば、このような処理を行うことにより、質的データについてもＮＮを用いて適切に学習できるようになる。
【００１３】
また、所定の入力データは臨床検査の結果を示す臨床検査データであると共に、出力ユニットが出力する出力データは所定の疾病への羅病を予測する指標値であり、前処理部は、所定の疾病への罹病の可能性の程度を示す臨床検査データに１を加算した値の対数に正規化した値を指標値の教師値として求めるようにしてもよい。このようにすれば、測定値がゼロに近い分布になっている場合であっても偏りを緩和することができる。また、所定の疾病として、悪性腫瘍への罹病を予測するようにしてもよく、また、腫瘍マーカーの測定値を教師値としてもよい。このようにすれば、悪性腫瘍の存在を予測し得る。
【００１４】
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。該プログラムはネットワーク上で実行されるようにすることも可能である。また、当該プログラムを保持する記録媒体を提供するようにしてもよい。
【発明の効果】
【００１５】
本発明によれば、欠損値の多いデータセットを用いてニューラルネットワークによる機械学習を行う場合において、出力の精度を向上させることや罹病予測に有用なマーカーを臨床検査データから予測することの、両方またはいずれか一方を可能にする。
【図面の簡単な説明】
【００１６】
【図１】罹病予測装置の機能ブロック図である。
【図２】コンピュータの一例を示す装置構成図である。
【図３】罹病予測処理の一例を示す処理フロー図である。
【図４】臨床検査データを説明するための図である。
【図５】予測モデルとして利用するＮＮの構造の概要を示す図である。
【図６】全結合層を説明するための図である。
【図７】ＲｅＬＵ層、ソフトプラス層、及びドロップアウト層を説明するための図である。
【図８】バッチ正規化層を説明するための図である。
【図９】ミニバッチを説明するための図である。
【図１０】訓練の流れを説明するための図である。
【図１１】腫瘍マーカーの一種であるフェリチンについて、特定健診項目に基づいて予測した結果を示す散布図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を用いて説明する。なお、実施形態は例示であり、本発明は下記の構成には限定されない。
【００１８】
＜装置の機能構成＞
図１は、本実施形態に係る罹病予測装置の機能ブロック図である。罹病予測装置１は、検査データ記憶部１１と、前処理部１２と、整形データ記憶部１３と、学習処理部１４と、予測モデル記憶部１５と、予測処理部１６と、結果記憶部１７と、検証処理部１８とを備える。罹病予測装置１は、後に詳述する通り、コンピュータが所定のプログラムを実行することにより実現される。検査データ記憶部１１、整形データ記憶部１３、予測モデル記憶部１５及び結果記憶部１７は、コンピュータが備える主記憶装置又は補助記憶装置である。また、前処理部１２、学習処理部１４、予測処理部１６及び検証処理部１８は、コンピュータが備えるプロセッサが所定のプログラムに従って動作することにより実現される。
【００１９】
検査データ記憶部１１は、臨床検査の結果を示すデータ（以下、「臨床検査データ」とも呼ぶ）を記憶する。ここで、臨床検査とは、患者や傷病の状態を評価するための検査である。臨床検査は、患者から採取した血液、尿、便、細胞等を化学的又は形態学的に調べる検体検査と、心電図や脳波等を波形として表したり、超音波や磁力線等を利用して体内の状態を画像に表したりして患者を直接調べる生理機能検査とを含む。また、臨床検査データは、一般的に複数の項目を含み、検査結果を示すデータは、統計データにおける量的データ（数値データとも呼ぶ）と質的データ（カテゴリデータとも呼ぶ）とを含む。量的データは数量を表し四則演算ができる、間隔尺度や比例尺度等のデータである。また、質的データは、分類や種類を表す名義尺度や順序尺度等のデータである。質的データは、数値であるが値はカテゴリを意味し大小に意味がないデータと、数値でないデータとを含む。
【００２０】
前処理部１２は、本実施形態に係る処理を行うために、臨床検査データを所定の形式に正規化する。正規化については、後に詳述する。また、正規化された臨床検査データ（「整形データ」とも呼ぶ）は、整形データ記憶部１３に保持される。
【００２１】
学習処理部１４は、整形データを用いて所定の学習処理を行う。具体的には、ニューラルネットワーク（ＮＮ： Neural Network）を利用して、臨床検査の結果を示すデータと
、所定の疾病の罹病の可能性の程度を示すデータとの関係を学習する。例えば、所定の疾病は悪性腫瘍であり、所定の疾病の罹病の可能性の程度を示すデータは、いわゆる腫瘍マーカーの値である。学習処理部１４は、臨床検査の腫瘍マーカー以外の項目の結果を示す値から、腫瘍マーカーの値を予測するための予測モデルを生成する。予測モデルは、採用するＮＮの層数や各層に含まれるユニット数といった構造、各層に含まれるユニット（「
ノード」とも呼ぶ）の間の重み等のパラメータにより規定される。また、生成された予測モデルは、予測モデル記憶部１５に保持される。
【００２２】
なお、本実施形態では、整形データのうち、所定の腫瘍マーカーの検査を行ったデータ群をラベル有りデータセットに、所定の腫瘍マーカーの検査を行っていないデータ群をラベルなしデータセットに分類する。また、ラベル有りデータセットのうち、予測モデルの生成に用いるものを訓練データセットに、予測モデルの評価に用いるものをテストデータセットに分類する。なお、訓練データセットには、ラベルなしデータセットを用いてもよい。すなわち、上述した学習処理部１４は、整形データのうち訓練データセットを用いて予測モデルを生成する。なお、訓練データセットと、テストデータセットとは、無作為に分類するものとする。
【００２３】
予測処理部１６は、学習処理部１４が生成した予測モデルと、対象者の臨床検査の結果を正規化した整形データとを用いて、所定の疾病について罹病の可能性の程度を予測する予測処理を行う。本実施形態に係る予測処理は、テストデータセットを用いて行う。また、予測処理では、所定の腫瘍マーカーの予測値を求めることができる。予測処理で求められた、所定の疾病について罹病の可能性の程度を示す予測値は、結果記憶部１７に保持される。なお、学習処理部１４及び予測処理部１６を、本発明に係るニューラルネットワーク部とも呼ぶ。
【００２４】
検証処理部１８は、予測モデルの精度を評価する。具体的には、テストデータセットを用いて求めた腫瘍マーカーの予測値について、実測値との相関を検証する。このようにして所定の精度を有すると評価された予測モデルは、ラベルなしデータセットを用いて予測処理を行った場合にも所定の精度で腫瘍マーカーの値を予測できると考えられる。
【００２５】
＜装置構成＞
図２は、コンピュータの一例を示す装置構成図である。罹病予測装置１は、例えば図２に示すようなコンピュータである。図２に示すコンピュータ１０００は、ＣＰＵ（Central Processing Unit）１００１、主記憶装置１００２、補助記憶装置１００３、通信ＩＦ
（Interface）１００４、入出力ＩＦ（Interface）１００５、ドライブ装置１００６、通信バス１００７を備えている。ＣＰＵ１００１は、プログラム（「ソフトウェア」又は「アプリケーション」とも呼ぶ）を実行することにより本実施の形態に係る処理等を行う。主記憶装置１００２は、ＣＰＵ１００１が読み出したプログラムやデータをキャッシュしたり、ＣＰＵの作業領域を展開したりする。主記憶装置は、具体的には、ＲＡＭ（Random
Access Memory）やＲＯＭ（Read Only Memory）等である。補助記憶装置１００３は、ＣＰＵ１００１により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置１００３は、具体的には、ＨＤＤ（Hard-disk Drive）やＳＳＤ（Solid State Drive）、フラッシュメモリ等である。主記憶装置１００２や補助記憶装置１００３は、検査データ記憶部１１、整形データ記憶部１３、予測モデル記憶部１５及び結果記憶部１７として働く。なお、説明の便宜上、図１では複数の記憶部（検査データ記憶部１１、整形データ記憶部１３、予測モデル記憶部１５及び結果記憶部１７）を示したが、物理的には１つの記憶装置でも複数の記憶装置でもよい。通信ＩＦ１００４は、他のコンピュータとの間でデータを送受信する。罹病予測装置１は、通信ＩＦ１００４を介して接続された図示していないコンピュータから健診情報やレセプト情報を受信するようにしてもよい。通信ＩＦ１００４は、具体的には、有線又は無線のネットワークカード等である。入出力ＩＦ１００５は、入出力装置と接続され、ユーザから入力を受け付けたり、ユーザへ情報を出力したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置１００６は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス１００７で接続されている。
なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素（例えば、ドライブ装置１００６）を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置１００６で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置１００３、通信ＩＦ１００４などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、ＣＰＵ１００１がプログラムを実行することにより、上記のようなコンピュータを図１に示した罹病予測装置１として働かせる。
【００２６】
なお、図１に例示した機能ブロックの一部を複数のコンピュータによって分担したり、処理するデータセットの一部を複数のコンピュータによって並列に処理したりしてもよい。また、コンピュータは、ネットワーク上のいわゆるクラウドサービスを提供するものであってもよい。
【００２７】
＜罹病予測処理＞
図３は、罹病予測処理の一例を示す処理フロー図である。まず、罹病予測装置１の前処理部１２は、検査データ記憶部１１の臨床検査データに対し所定の前処理を行い、正規化されたデータを整形データ記憶部１３に記憶させる（図３：Ｓ１）。
【００２８】
図４は、臨床検査データを説明するための図である。臨床検査データは、データ管理項目、特定健診項目、腫瘍マーカー等の項目を列に含む。データ管理項目は、顧客コード、受付日、固有ＩＤ、性別、年齢等、ある患者が受診した１回の健康診断を一意に特定するための項目を含む。特定健診項目は、ＡＳＴ（ＧＯＴ）、ＡＬＴ（ＧＰＴ）、γ−ＧＴ（γ−ＧＴＰ）、中性脂肪、ＨＤＬ−コレステロール、ＬＤＬ−コレステロール、空腹時血糖、ＨｂＡ１ｃ、糖、蛋白、ヘマトクリット、血色素量（ヘモグロビン）、赤血球数、クレアチニン、ｅＧＦＲ、推算値、尿酸検査等の項目を含む。また、腫瘍マーカーは、ＡＦＰ、ＣＥＡ、ＣＡ１５−３、ＣＡ１９−９、ＣＡ１２５、ＣＡ６０２、ＴＰＡ、ＰＳＡ、ＣＹＦＲＡ、ＳＣＣ、ＮＳＥ、ＳＬＸ、ｈＣＧ、ＰＩＶＫＡ−ＩＩ、フェリチン、エラスターゼ１、ｐ５３抗体等の項目を含む。なお、図４の検査項目は一例であり、その他の項目を含んでいてもよい。受診者が健康診断を受診すると、図４に示すデータの１レコードが生成される。一般的に、受診するのは一部の項目であり、未測定の項目は欠損値となっている。
【００２９】
本実施形態では、図４に示した項目のうち、特定健診項目の測定値を要素とする特徴ベクトルを入力値とし、所定の腫瘍マーカーの測定値を教師値（ラベル）として、ＮＮによる機械学習を行う。前処理では、入力値に対して例えば以下に示す３種の正規化を行うものとする。
【００３０】
まず、検査項目の結果を示すデータのうち量的データに対し、いわゆる白色化を行う。白色化は、訓練データセットにおける平均が０、分散が１となるように測定値を変換する処理である。ｄ番目の検査項目について訓練データセットの測定値の算術平均をｍ、共分散をｓとすると、受診者ｎのｄ番目の検査項目の測定値ｖｎｄは以下の式（１）により求められる。ただしここで、Ｖｎｄは変換前の測定値を、Ｖｎｄ’は変換後の測定値を、それぞれ表す。
ｖｎｄ’＝（ｖｎｄ−ｍ）／ｓ      ・・・（１）
【００３１】
また、検査項目の結果を示すデータのうち質的データについて、検査項目ごとに出現し得る値を識別するためのｏｎｅ−ｈｏｔベクトルに変換する。具体的には、ラベル有りデータ及びラベルなしデータに出現し得る値の種類と同数の桁を有する固定長のビット列を定義し、値に対応する桁が１、他の桁が０となるビット列（ｏｎｅ−ｈｏｔベクトル）に変換する。具体的には、出現し得る値に非負整数の連続番号のＩＤを割り当て、当該ＩＤ
をｏｎｅ−ｈｏｔベクトルに変換する。例えば、ある検査項目の結果として、ラベル有りデータ及びラベルなしデータに、「Ａ」、「Ｂ」、「（＋）」及び「２０」という４種類の質的データが出現する場合、これらの検査結果を４桁のｏｎｅ−ｈｏｔベクトル「０００１」、「００１０」、「０１００」及び「１０００」に変換することができる。そして、各桁の値を特徴ベクトルの要素として、ＮＮの入力ユニットに与える。
【００３２】
また、各検査項目について、測定されたか否かを示す情報を生成する。具体的には、検査結果を示すデータとは別に、各データが欠損値であるか否かを示すフラグを検査項目ごとに生成する。この処理により、ＮＮへの入力データは検査項目の数の２倍になる。このような入力値を生成することにより、入力値に欠損値が多い場合であっても予測モデルの精度を向上させることができる。
【００３３】
また、教師値については、測定値に１を加えた値の対数を教師値として正規化する。すなわち、腫瘍マーカーの値をｔとすると、正規化後の値ｔ’は、以下の式（２）により求められる。
ｔ’＝ｌｏｇ（１＋ｔ）      ・・・（２）
【００３４】
このような関数を「ｌｏｇ１ｐ」とも呼ぶ。ｌｏｇ１ｐを用いることで、測定値の値がゼロに近い場合でも精度を保つことができる。ここで、腫瘍マーカーの多くは、ゼロ以上の値であって所定の閾値以上の場合に異常であると判定される指標である。サンプルの多くはゼロに近い正常値に偏っているところ、ｌｏｇ１ｐを用いることで分布の偏りを緩和することができる。
【００３５】
前処理の後、学習処理部１４は、整形データ記憶部１３が保持している正規化後のデータを用いて所定の学習処理を行い、生成した予測モデルを予測モデル記憶部１５に記憶させる（図３：Ｓ２）。
【００３６】
図５は、予測モデルとして利用するＮＮの構造の概要を示す図である。図５では、長方形でデータの変換を行う層群を示し、他の平行四辺形で入出力データを示している。入出力データに記した値は入出力データの数であり、Ｄは検査項目の数である。また、矢印はデータの流れを示している。すなわち、図５の予測モデルは、入力データから出力データに向かって、５つの層群（Composite A1〜Composite A4、Composite B）を介し、Ｄ×２
次元、１０２４次元、２５６次元、６４次元、１６次元、１次元の順にデータ（ユニット数）を変換している。なお、ここでは、複数のユニット群の間での変換処理についても「層」と呼んでいる。
【００３７】
また、図５に示すように、層群Composite A1〜A4は、全結合処理を行う全結合層「Ｌｉｎｅａｒ」、バッチ正規化処理を行うバッチ正規化層「ＢＮ（Batch Normalization）」
、ドロップアウト処理を行うドロップアウト層「Ｄｒｏｐｏｕｔ」、ＲｅＬＵ処理を行うＲｅＬＵ層「ＲｅＬＵ」を含み、層群Composite Bは、全結合層、バッチ正規化層、ソフ
トプラス処理を行うソフトプラス層「ＳｏｆｔＰｌｕｓ」を含む。層群Composite A1の全結合層の入力ユニットが入力層、層群Composite Bのドロップアウト層の出力ユニットが
出力層、これらの間にあるユニットが中間層（隠れ層）に相当する。
【００３８】
図６は、全結合層を説明するための図である。全結合層は、入力側層に属するＤ個のユニットｘに対して重みに応じた処理を行い、出力側の層に属するＥ個のユニットｙの値を算出する。図６の例では、入力側の層に属するユニットｘよりも、出力側の層に属するユニットｙの方が少ない（Ｄ＞Ｅ）が、入力側から出力側へユニット数が増加する構成や入力側と出力側とでユニット数が同数の構成を採用してもよい。また、入力側の層に属するユニットｘの各々と、出力側の層に属するユニットｙの各々とは、それぞれ結合されてい
る。ｘ１〜ｘＤは、要素数Ｄのベクトルであり、行列で表すことができる。また、ｙ１〜ｙＥは、要素数Ｅのベクトルであり、以下の式（３）で求められる。
ｙ＝Ｗｘ＋ｂ      ・・・（３）
ここで、Ｗは重みであり、Ｄ×Ｅの行列で表される。また、ｂはバイアス項であり、要素数Ｄのベクトルで表すことができる。学習処理においては、ＮＮの最終的な出力値と教師値とに応じて重みＷのパラメータを適宜修正することにより、ＮＮに特定健診項目の結果と腫瘍マーカーの測定値との関係を学習させる。パラメータの修正については、バックプロパゲーション等、既存の技術を利用することができる。
【００３９】
また、図７は、ＲｅＬＵ層、ソフトプラス層、及びドロップアウト層を説明するための図である。ＲｅＬＵ層は、入力側の層に属するＤ個のユニットｘに入力される値の各々に対し、非線形関数σを適用したテンソルを算出し、出力側のユニットｙの値とする。当該関数はＲｅＬＵと呼ばれる活性化関数の一種であり、ｙは以下の式（４）で求められる。ｙｉ＝σ（ｘｉ）  （ｉ＝１，２，・・・，Ｄ）      ・・・（４）
【００４０】
また、ソフトプラス層における層間の接続は、図７に示す通りＲｅＬＵ層と同様の構造である。入力側の層に属するＤ個のユニットｘに入力される値の各々に対し、以下の式（５）で表される関数の値を算出し、出力側のユニットｙの値とする。
ｙ＝ｓｏｆｔｐｌｕｓ（ｘ）
＝ｌｏｇ（１＋ｅｘｐ（ａｘ））／ａ      ・・・（５）
なお、ａはソフトプラスの勾配の大きさを決めるパラメータである。ソフトプラス層の出力は、正の値になる。腫瘍マーカーの値は前処理においてゼロ以上となるように正規化されており、これに合わせてソフトプラス層により予測モデルの出力を正の値としている。なお、ソフトプラス層はゼロを出力することができないが、腫瘍マーカー等、臨床検査の測定値を予測する上では影響は少ないといえる。
【００４１】
また、ドロップアウト層における層間の接続も、図７に示す通りであるが、ドロップアウト層の処理は訓練時（学習時）とテスト時（予測モデルの評価時）とで異なる。訓練時においては、入力側の層に属するＤ個のユニットｘに入力される値について、所定の確率αでゼロにする。ここでは、各ユニットに入力される値は独立に確率αで０に置換される。すなわち、入力されるデータの順序や患者の同否に関わらず、独立に判断される。出力側のユニットｙの値は、次の式（６）で表すことができる。
ｙｄ＝０（確率α）、又は
ｘｄ（確率１−α）      ・・・（６）
また、テスト時においては、以下の式（７）に示す通り、入力側の層に属するユニットｘに入力される値をそのまま出力側のユニットｙの値とする。
ｙ＝ｘ      ・・・（７）
このようなドロップアウト層を取り入れることで、過学習を防ぐ効果がある。
【００４２】
図８は、バッチ正規化層を説明するための図である。バッチ正規化層も、訓練時とテスト時とで一部異なる処理を行う。また、バッチ正規化層は３層を含み、２段階の処理を行う。訓練時においては、１段階目として、入力側の層に属するＤ個のユニットについて次元ごとに平均が０、分散が１となるように値を正規化する。例えば、ｎ番目の受診者の入力データをｘｎ＝（ｘｎ１，ｘｎ２，・・・，ｘｎＤ）、ｎ番目の受診者の正規化後の値をｙｎ＝（ｙｎ１，ｙｎ２，・・・，ｙｎＤ）とすると、すべての訓練データを用いて求めたｄ番目の次元の特徴値の平均μｄ及び標準偏差σｄを用いて、ユニットｙｎｄの値は以下の式（８）で求められる。
ｙｎｄ＝（ｘｎｄ−μｄ）／σｄ      ・・・（８）
また、２段階目として、各次元の値に対し、所定のアフィン変換を行う。ｎ番目のユニットの値をｚｎ＝（ｚｎ１，ｚｎ２，・・・，ｚｎＤ）とすると、ユニットｚｎｄの値は以
下の式（９）で求められる。
ｚｎｄ＝αｄｙｎｄ＋βｄ      ・・・（９）
なお、α及びβは所定のパラメータであり、訓練によってチューニングされる対象である。また、テスト時は、訓練時とほぼ同様の処理を行うが、平均及び標準偏差は、訓練時に求めた値を用いる。このようなバッチ正規化層によれば、学習を早める効果がある。
【００４３】
なお、入力データは、所定数をいわゆるミニバッチにまとめて処理するようにしてもよい。ミニバッチは、所定のサイズの行列であり、ある検査項目についての複数の患者の検査値を要素として含む。このような行列を用いることで、複数のデータに対してまとめて同一の処理を行うことができるため処理速度を向上させることができる。
【００４４】
図９は、ミニバッチを説明するための図である。図９の例では、上述した全結合層の処理を行っている。具体的には、３×５の２次元行列で表される入力層側のユニットに対し、５×４の２次元行列で表される重みＷを乗じ、３×４の２次元行列で表される出力層側のユニットの値を算出している。ミニバッチのサイズは、例えば使用するＧＰＵのメモリ容量に応じて適宜設定することができる。
【００４５】
また、学習処理においては、訓練データセットを複数回繰り返し入力してもよい。図１０は、訓練の流れを説明するための図である。図１０の例では、訓練データセットをＮ回繰り返しＮＮに入力している。なお、訓練データセットを一巡させることをＥｐｏｃｈという単位で表している。また、一回のＥｐｏｃｈにおいては、図１０の右に示すような処理を行う。すなわち、まず訓練データセットに含まれるデータの入力順をランダムに並べ替え、上述したミニバッチによるデータの入力とパラメータ更新とを、訓練データセットに含まれる全データ分繰り返す。
【００４６】
以上のようにして、ＮＮを用いた学習処理（図３：Ｓ２）を行う。
【００４７】
また、罹病予測装置１の予測処理部１６は、生成された予測モデルを評価するモデル評価処理を行う（図３：Ｓ３）。モデル評価処理は、テストデータセットと、学習処理で生成された予測モデルとを用いて所定の疾病について罹病の可能性の程度を予測する。すなわち、図５に示したＮＮにより所定の腫瘍マーカーの値を予測する。なお、モデル評価処理においては、パラメータの更新は行わない。
【００４８】
また、モデル評価処理においては、罹病予測装置１の検証処理部１８が、予測値と実測値とを用いて予測精度を評価する。精度評価は、例えば二乗平均誤差（ＭＳＥ：Mean Square Error）を用いて行うことができる。ｍ番目のテストデータに対する腫瘍マーカーの
予測値をｔｍ、実測値をｙｍとすると、ＭＳＥは以下の式（１０）で求めることができる。
【数１】
2018068752.tif 000003
なお、Ｍはテストデータセットのサンプル数である。
【００４９】
その後、罹病予測装置１の予測処理部１６は、生成された予測モデルとラベルなしデータとを用いて、予測処理を行う（図３：Ｓ４）。すなわち、図５に示したＮＮにより所定の腫瘍マーカーの値を予測する。なお、予測処理においても、パラメータの更新は行わない。モデル評価処理においてある程度の精度を有すると評価された予測モデルによれば、ラベルなしデータに対しても同程度の精度で所定の疾病について罹病の可能性を予測でき
ると期待できる。
【００５０】
＜効果＞
本実施形態では、学習処理部１４及び予測処理部１６は、ＮＮを用いた学習処理及び予測処理を行う。具体的には、複数の入力ユニットを含む入力層と、１以上の出力ユニットを含む出力層とを備えたニューラルネットワークを用いることで、複数の独立変数の組み合わせと従属変数との相関や、独立変数と従属変数との非線形な関係性がある場合であっても、特徴を学習して予測し得る。なお、ニューラルネットワークは、入力層及び出力層の間に、１以上の隠れユニットを含む中間層を備えるものであってもよい。このようなニューラルネットワークを採用することで、学習の性能が向上し得る。また、図５〜図８に示したように、ニューラルネットワークは、段階的に複数のユニット群を含み、ユニット群の間において所定の関数に基づく値の変換を行うものであってもよい。
【００５１】
また、前処理において、入力データとなる検査項目の各々について当該値が欠損値であるか否かを示す情報を生成し、検査項目の測定値と、各値が欠損値であるか否かを示す情報（フラグ）とを入力ユニットに入力する。欠損値の多いデータセットを用いて機械学習を行うのは一般的に困難であるが、本実施形態では欠損値であるか否かを示すフラグを入力することで予測精度を向上させている。すなわち、欠損値の多いデータセットを用いてニューラルネットワークによる機械学習を行う場合において、出力の精度を向上させることができる。
【００５２】
また、特定健診項目は受診者が比較的多いため、特定健診項目を入力データとすることで、入力データにおける欠損値の占める割合を低く抑えることができる。ただし、入力データに用いる臨床検査データは、特定健診項目に限定されず、予測モデルの精度が向上するように適宜選択すればよい。なお、特定健診項目であっても必ずしも受診される項目ではなく、上述した「欠損値の多いデータセット」に当たるものとする。
【００５３】
また、前処理においては、入力データのうちいわゆる量的データに対して所定の確率分布に従うようにいわゆる白色化を行っている。このようにすることで、ＮＮの入力値として取り得る範囲に測定データをマッピングし、適切に学習できるようにしている。
【００５４】
また、前処理においては、入力データのうちいわゆる質的データに対して、これを示すカテゴリを一意に特定できる識別情報に変換している。なお、本実施形態では、具体的にはＯｎｅ−ｈｏｔベクトルに変換したが、このような例には限定されない。このような処理を行うことにより、質的データについてもＮＮを用いて適切に学習できるようになる。
【００５５】
また、前処理においては、教師値である腫瘍マーカーについて、ｌｏｇ１ｐの値に変換した。すなわち、測定値に１を加算した値の対数をとることにより、測定値がゼロに近い分布になっている場合であっても偏りを緩和するようにしている。
【００５６】
＜実施例＞
図１１は、腫瘍マーカーの一種であるフェリチンについて、特定健診項目に基づいて予測した結果を示す散布図である。横軸は実測値、縦軸は予測値である。また、（Ａ）は、訓練データセットでの散布図である。（Ｂ）は、テストデータセットのうち、検査項目数が１１以上のサンプルをプロットした散布図である。（Ｃ）は、テストデータセットのうち、検査項目数が１０以下のサンプルをプロットした散布図である。なお、フェリチンの値は、ｌｏｇ１ｐ関数による変換を行っている。
【００５７】
データセットとして、２０１５年に測定された検査結果を利用し、学習処理と予測処理を行った。測定された検査項目数は、２３１８５１１４０件であった。また、ラベル有り
データセットの９０％を訓練データセットとし、１０％をテストデータセットとした。テストデータにおける実測値と予測地との相関係数は０．６８であった。また、実測値と特定健診項目の各々の値との相関係数はせいぜい０．２弱（図示せず）であり、上述した実施形態に係るＮＮにより特定健診項目とフェリチンとの関係を学習できたと評価できる。
【００５８】
＜欠損値フラグの変形例＞
上述の例では、各測定値に対し欠損値であるか否かを示す欠損値フラグを加え、ＮＮの入力値とした。欠損値フラグを追加する代わりに、測定されなかった検査項目に対して、所定の代替値を補って入力値としてもよい。代替値は、検査項目の測定値としてとり得る値を、例えば他者の測定値に基づいて決定して用いるようにしてもよいし、欠損値であることを示す他の情報を用いるようにしてもよい。例えば、次のような値を用いることができる。
【００５９】
（１）測定値の統計値
検査項目について測定した他者の測定値の平均値、中央値、分位値（四分位値）、最大値、最小値等といった、標本の代表値を、当該項目について測定しなかった者の欠損値に代入し、入力値としてもよい。また、代表値には乱数によって生成されたノイズをさらに加え、入力値として用いるようにしてもよい。
【００６０】
（２）確率分布を利用した値
例えばガウス分布やベルヌーイ分布等の所定の確率分布、または複数の確率分布の組合せに従う値を欠損値に代入し、入力値としてもよい。
【００６１】
（３）他者の測定値
検査項目について測定した他者の測定値を、そのまま用いるようにしてもよい。例えば、他者の測定値を無作為に抽出し、欠損値の代替値として用いる。
【００６２】
（４）所定の値
例えばゼロ等、所定の値を欠損値の代替値として用いるようにしてもよい。測定値としてゼロはあり得ないような検査項目の場合、実質的にゼロは欠損値であることを表す情報といえる。また、欠損値の代替値として、欠損値であることを示す特別な情報（例えば、ＮａＮ（Not a Number））を用いてもよい。
【００６３】
なお、測定値が質的データであるような検査項目の場合は、上述のｏｎｅ−ｈｏｔベクトルに欠損値であるか否かを表す桁（ビット）をさらに設けることにより、欠損値フラグと同様の情報を付加することができる。
【００６４】
＜その他の変形＞
ＮＮの構造は、図３に示した例には限定されない。上述したＮＮは、入力層と出力層との間に１層以上の中間層を備えているが、層の数や、各層に属するユニットの数等は、適宜変更することができる。例えば、中間層を備えないＮＮであってもよい。また、入力データは、特定健診項目には限定されず、任意の臨床検査データの組み合わせを採用することができる。同様に、予測データも腫瘍マーカーには限定されない。
【００６５】
また、図１に示した罹病予測装置１は、上述した処理の一部を実行するものであってもよい。例えば、図１のすべての機能部を有し、主として予測モデルの生成を行う装置であってもよいし、例えば図１の学習処理部１４を備えず、予め生成し予測モデル記憶部１５に記憶させた予測モデルと、腫瘍マーカーの検査を行っていない患者の健診データとを用いて悪性腫瘍の有無を予測する装置であってもよい。学習処理を行い予測モデルを生成する装置、及び学習処理により生成した予測モデルを利用して予測処理を行う装置を含めて
本発明における機械学習装置とも呼ぶ。
【００６６】
本発明は、上述した処理を実行するコンピュータプログラムや、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体を含む。当該プログラムが記録された記録媒体は、プログラムをコンピュータに実行させることにより、上述の処理が可能となる。
【００６７】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ＨＤＤやＳＳＤ（Solid State Drive）、ＲＯＭ等がある。
【符号の説明】
【００６８】
１  罹病予測装置
１１  検査データ記憶部
１２  前処理部
１３  整形データ記憶部
１４  学習処理部
１５  予測モデル記憶部
１６  予測処理部
１７  結果記憶部
１８  検証処理部
【図１】
2018068752.tif 000004
【図２】
2018068752.tif 000005
【図３】
2018068752.tif 000006
【図４】
2018068752.tif 000007
【図５】
2018068752.tif 000008
【図６】
2018068752.tif 000009
【図７】
2018068752.tif 000010
【図８】
2018068752.tif 000011
【図９】
2018068752.tif 000012
【図１０】
2018068752.tif 000013
【図１１】
2018068752.tif 000014