(57)【特許請求の範囲】
【請求項１】
複数の特徴を含むデータからブースティングモデルを用いた予測モデルを訓練する、コンピュータで実行される方法であって、各特徴が、実値および時間成分と関連し、前記コンピュータのプロセッサにおいて以下のステップを実行し、前記ステップが、
a) 多数の述語を定義するステップであって、各述語は前記特徴の前記時間成分に基づく時系列または前記特徴の前記時系列の論理結合に適用された場合に出力を生成する関数である、ステップと、
b）前記多数の述語に基づきブースティングモデルを生成し、
c)以下の動作を行うことによって、前記ブースティングモデルを反復的に訓練するステップとを含み、前記動作が
1)前記複数の特徴からランダムに選んだ特徴の名前と時間に基づき所定数の新たなランダムな述語を生成し、
2) 全ての前記新たなランダムな述語に対し、前記ブースティングモデルの予測と関連するクラスラベルに関する加重情報利得を計算し、
3)最高加重情報利得を持つ所定数の前記新たなランダムな述語を選択して、選択された述語を前記ブースティングモデルに追加し、
4)前記ブースティングモデルにおける全ての前記述語に対して重みを計算し、
5)オペレータからの入力に応じて前記ブースティングモデルから前記最高加重情報利得を持つ前記選択された新たな述語の1つまたは複数を取り除き、
6)ステップ1、2、3、4および5の遂行を複数回繰り返して、それによって最終的な反復的に訓練されたブースティングモデルを生成することを含む、
コンピュータで実行される方法。
【請求項２】
d)前記最終的な反復的に訓練されたブースティングモデルを評価するステップをさらに含む、
請求項1に記載の方法。
【請求項３】
前記データが、型{X、xi、ti}のタプル形式であり、
ここで、Xが特徴の名前であり、
xiが前記特徴の実値であり、
tiが前記実値xiに対する時間成分であり、
前記述語が、タプルの系列の操作または前記タプルの系列の論理結合に適用された場合に関数として定義される、
請求項1または2に記載の方法。
【請求項４】
前記データが、複数の患者に対する電子健康記録データを含む、
請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記方法は、
前記述語を前記特徴の所定の名前の存在や前記特徴の所定の名前の個数に応じて出力を生成する述語を含む第1のグループおよび前記第1のグループに属さない述語から構成される第2のグループに分割するステップをさらに含み、
前記新たなランダムな述語が前記第1のグループから選択される、
請求項1から4のいずれか一項に記載の方法。
【請求項６】
ステップc)5)が、
現在前記ブースティングモデルにおける前記述語をグラフィカルに表現するとともに、前記述語の1つまたは複数を取り除く能力を前記オペレータに提供するステップをさらに含む、
請求項1から5のいずれか一項に記載の方法。
【請求項７】
ステップc)6)の反復の各々の後に前記ブースティングモデルに追加される一組の述語をグラフィカルに表現するステップをさらに含む、
請求項1から6のいずれか一項に記載の方法。
【請求項８】
ステップc)4)において、前記述語の各々に対して計算される前記重みをグラフィカルに表現するステップをさらに含む、
請求項6に記載の方法。
【請求項９】
前記データが複数の患者に対する電子健康記録データを含み、
前記一組の述語が、前記述語の内容または前記電子健康記録データ内の出所を示すように表現される、
請求項7に記載の方法。
【請求項１０】
前記評価するステップd)が、
精度、複雑さまたは信頼性の少なくとも1つに対して前記最終的な反復的に訓練されたブースティングモデルを評価することを含む、
請求項2に記載の方法。
【請求項１１】
前記述語が、前記複数の患者における所与の患者に対する前記電子健康記録データ内に特徴が存在するかどうかに応じて0または1の結果を返す存在述語、および数値パラメータに対する前記複数の患者における所与の患者に対する前記電子健康記録データ内の特徴のカウント数に応じて0または1の結果を返すカウント述語を含む、
請求項9に記載の方法。
【請求項１２】
ステップc)が、
モデル訓練中に述語を定義することが可能なインタフェースを前記オペレータに提供するステップをさらに含む、
請求項1から11のいずれか一項に記載の方法。
【請求項１３】
タプルの前記系列が、1日もしくは複数日、1時間もしくは複数時間、1分もしくは複数分、または1月もしくは複数月からなる群から選択される時限によって定義される、
請求項3に記載の方法。
【請求項１４】
ステップc)3)で選択される前記述語をランク付けするステップをさらに含む、
請求項1に記載の方法。
【請求項１５】
特定の述語が真である例の数と前記特定の述語と述語が真である真のラベルを持つ例の数に基づく精度を前記ブースティングモデルにおける述語の統計量として生成し、前記統計量を前記オペレータに提示するステップをさらに含む、
請求項1に記載の方法。
【請求項１６】
複数の患者に対する電子健康記録データからブースティングモデルを用いた予測モデルを訓練する、コンピュータで実行される方法であって、前記電子健康記録データが、複数の特徴を含み、各特徴が、実値および時間成分と関連し、前記電子健康記録データが、型{X、xi、ti}のタプル形式であり、ここで、Xが特徴の名前であり、xiが、前記特徴の実値であり、tiが、前記実値xiに対する時間成分であり、前記コンピュータのプロセッサにおいて、以下のステップを実行し、前記ステップが、
a) 多数の述語を定義するステップであって、各述語はタプルの時間成分に基づく系列または前記タプルの前記系列の論理結合に適用された場合に出力を生成する関数である、ステップと、
b）前記多数の述語に基づきブースティングモデルを生成するステップと、
c )前記多数の述語を前記特徴の所定の名前の存在や前記特徴の所定の名前の個数に応じて出力を生成する述語を含む第1のグループおよび前記第1のグループに属さない述語により構成される第2のグループに分割するステップと、
d)以下の動作を行うことによって前記ブースティングモデルを反復的に訓練するステップとを含み、前記動作が、
1)前記第1のグループの述語からランダムに選んだ特徴の名前と時間に基づき所所定数の新たなランダムな述語を生成し、
2) 前記新たなランダムな述語に対し、前記ブースティングモデルの予測と関連するクラスラベルに関する加重情報利得を計算し、
3)最高加重情報利得を持つ所定数の前記新たなランダムな述語を選択して、前記選択された述語を前記ブースティングモデルに追加し、
4)前記ブースティングモデルにおける全ての前記述語に対して重みを計算し、
5)オペレータからの入力に応じて、前記ブースティングモデルから前記最高加重情報利得を持つ前記選択された新たな述語の1つまたは複数を取り除き、
6)ステップ1、2、3、4および5の遂行を複数回繰り返して、それによって最終的な反復的に訓練されたブースティングモデルを生成することを含む、
コンピュータで実行される方法。
【請求項１７】
e)前記最終的な反復的に訓練されたブースティングモデルを評価するステップをさらに含む、
請求項16に記載の方法。
【請求項１８】
請求項1から17のいずれか1項に記載の方法を実行するコンピューティングデバイス。
【請求項１９】
請求項1から17のいずれか1項に記載の方法を実行するワークステーションであって、前記ワークステーションはブースティングモデルの反復的訓練に対するオペレータ入力を提供し、前記ブースティングモデルの予測を行うための加重情報利得を有するとして選択される述語を表示するインタフェース、および前記ブースティングモデルにおける前記述語の1つまたは複数の選択または選択解除のためのツールを提供する前記インタフェースを含む、
ワークステーション。
【請求項２０】
前記インタフェースが、オペレータが述語を定義することを可能にするためのツールをさらに含む、
請求項19に記載のワークステーション。
【請求項２１】
訓練データからブースティングモデルを用いた予測モデルを生成する、コンピュータで実行される方法であって、前記予測モデルが、複数の特徴Xの各々に対して、複数の時間の各々での前記特徴の値xを示す入力データに基づいて、ラベルを予測するためであり、前記訓練データが、複数のサンプルを含み、各サンプルが、1つまたは複数の時間の各々での前記特徴の1つまたは複数の前記値および対応するラベルを示し、
前記方法は、プロセッサで以下のステップを実行し、前記ステップが、
一組の述語を定義するステップであって、各述語が、前記特徴の時間に基づく時系列または前記特徴の前記時系列の論理結合に適用された場合に出力を生成する関数である、ステップと、
ブースティングモデルを生成するステップであって、前記ブースティングモデルが、前記訓練データの前記サンプルに適用された場合に、前記一組の述語のそれぞれの各出力を入力として受け取る、ステップと、
以下の一連の動作を複数回行うステップとを含み、前記動作が、
(i) 前記複数の特徴からランダムに選んだ特徴の名前と時間に基づき所複数の追加の述語を自動的に生成するステップと、
(ii)既に前記ブースティングモデルにおける述語に前記複数の追加の述語を追加して、更新された一組の述語を形成するステップと、
(iii)複数の前記更新された一組の述語を表示するステップと、
(iv)前記更新された一組の述語の1つまたは複数を拒否するデータ入力を受け取るステップと、
(v)前記更新された一組の述語から前記拒否された1つまたは複数の述語を取り除くステップとを含む、
コンピュータで実行される方法。
【請求項２２】
前記複数の追加の述語を自動的に生成するステップ(i)が、
(a)疑似ランダムアルゴリズムによって候補述語を生成するステップと、
(b) 前記候補述語に対し、前記ブースティングモデルの予測と関連するクラスラベルに関する加重情報利得を計算するステップと、
(c)前記加重情報利得に基づいて前記候補述語から前記追加の述語を選択するステップとを含む、
請求項21に記載の方法。
【請求項２３】
各述語の前記出力が2進値である、
請求項21または22に記載の方法。
【請求項２４】
前記訓練データ内の各サンプルが、型{X、xi、ti}のタプル形式を有する複数のデータ項目としてフォーマット化され、
ここで、xiが時間tiでの特徴Xの値を示し、
iが前記サンプルのタプルにラベル付けし、
各述語が、前記サンプルの複数のデータ項目に行われる関数である、
請求項21から23のいずれか一項に記載の方法。
【請求項２５】
前記訓練データが複数の患者に対する電子健康記録データを含む、
請求項21から24のいずれか一項に記載の方法。
【請求項２６】
前記追加の述語が、少なくとも1つの時間に具体的な範囲内の値をとる具体的な特徴を各々示す存在述語、および具体的な回数Cより多く、少なく、または等しく具体的な範囲内の値をとる具体的な特徴を各々示すカウント述語の少なくとも1つを含む、
請求項21に記載の方法。
【請求項２７】
前記特徴が、内容によりグループ化され、
複数の前記一組の述語を表示するステップ(iii)が、
各グループの特徴に関するデータの関数である前記述語を共にグループ化して表示することを含む、
請求項21から26のいずれか一項に記載の方法。
【請求項２８】
複数の前記一組の述語を表示するステップ(iii)が、
再構成されたブースティングモデルの前記述語のそれぞれの重み値を表示することを含む、
請求項21に記載の方法。
【請求項２９】
前記訓練データの検証部分集合を使用して前記ラベルを予測する際の前記ブースティングモデルの精度を評価するステップをさらに含む、
請求項21に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2017年8月30日出願の米国仮出願第62/552,088号の優先権利益を主張する。
【０００２】
本開示は、機械学習の分野に関し、より詳細には基礎データから予測モデルを訓練する方法に関する。
【背景技術】
【０００３】
機械学習モデル、例えば予測を行うまたは予測試験を確立するために健康科学において使用されるニューラルネットワークモデルは、それらが、内科医または医療研究者などのエンドユーザによって理解しにくいという問題を抱える傾向がある。モデルがどのように働くかの理解の不足がモデルに対する信頼の欠如となる。言い換えれば、モデルは「解釈可能」でなく、しばしば或る不可知の「ブラックボックス」と見なされる。裁判官および医師のような専門家が重大な決定を下すのを補助するために機械学習モデルがより広く採用されるようになるにつれて、そのようなシステムが単に正確であるにとどまらず、それらが理解可能で、かつ信頼、すなわち「解釈可能」と一般に称される特性の集合を植え付けなければならないことを保証することに著しい関心がある。Z. Lipton、The Mythos of Model Interpretability、arXiv:1606.03490[cs.LG](2016年6月)。
【０００４】
解釈可能性は、機械学習コミュニティにおいて技術的定義が普遍的に合意に達していないが、一部では以下の性質を提案してきた:
・複雑さまたはモデルサイズ。疎線形モデルのような、その全体が人間によって理解できるモデル。これの変異形は、人間が妥当な時間量で推論を行い得るかどうかである。これは模擬可能性とも呼ばれてきた。
・理解可能。決定木におけるノードのような、どのようにモデルによる入力が見なされるかの間の明白な関係。これは分解可能性とも呼ばれてきた。
・訓練透明性。凸最適化のような訓練の方法が、線形モデルを訓練するために使用されるもののような性質をよく理解している。
・事後エンドユーザ解釈可能性。すなわち、モデルが、顕著性マップのような予測、または類似の予測を伴う場合の例の事後説明を可能にする。
【０００５】
本開示は、解釈可能なモデルを生成するこの問題の解決策を提示する。この点に関して、我々は、エンドユーザによって解釈可能である予測モデルを生成する方法を記載する。本開示は、電子健康記録との関連で予測モデルを訓練する方法の一例を提供するが、他の種類のエンドユーザにとってより理解可能または解釈可能な予測モデルを生成する要望がある他の状況において同方法が使用され得るように、それは限定でなく例として提示される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Z. Lipton、The Mythos of Model Interpretability、arXiv:1606.03490[cs.LG](2016年6月)
【非特許文献２】A.E. Johnsonら、MIMIC-III, a freely accessible critical care database、J. Sci. Data、2016
【非特許文献３】Mandel JCら、SMART on FHIR: a standards-based, interoperable apps platform for electronic health records、J Am Med Inform Assoc. 2016;23(5):899-908
【非特許文献４】https://en.wikipedia.org/wiki/Information_gain_in_decision_trees
【非特許文献５】Trivediら、An Interactive Tool for Natural Language Processing on Clinical Text、arXiv:1707.01890[cs.HC](2017年7月)
【非特許文献６】DuchiおよびSinger、Efficient Online and Batch Learning Using Forward Backward Splitting、J. Mach. Learn. Res.(2009)
【非特許文献７】https://en.wikipedia.org/wiki/Loss_functions_for_classification#Logistic_loss
【発明の概要】
【課題を解決するための手段】
【０００７】
本開示は、エンドユーザに解釈可能かつ本来的により理解可能であり、それ故に、ディープニューラルネットワークなどの他の種類のモデルより信頼できる予測モデルを訓練するコンピュータで実行される方法に関する。人間が理解可能な形式のモデルの「知識」の表現およびモデル訓練の最中の人間オペレータまたは専門家からの入力の使用を含め、この目的に資する幾つかの態様がある。例示される実施形態において、モデルの知識は、人間が理解可能な述語の形態である。モデルは一組の述語および重みから成る。モデル訓練での人間からの入力は、信頼できないまたはその他モデルに望ましくないと人間によって考えられる、モデルに対する提案された述語の選択解除を可能にする。したがって、モデル全体が人間によって理解可能かつ修正可能である。モデルは、述語型の柔軟な設計のために非常に望ましい表現能力も有する。
【０００８】
一実施形態において、モデルは、多くの反復、ブースティングとして知られる技法を通じて徐々に構築される。本方法は、複数の特徴を有するデータ(例えば、テキストメモ内の単語、薬剤、研究室結果、バイタルサイン、入院歴等などの非構造化データ)を使用する。各特徴のどの例も実値(バイタルサインまたはメモ内の単語など)および時間成分と関連付けられる。時間成分は、時系列の指標、または過去の或る日数、月数もしくは分数などの、モデルによって予測が生成される現在時刻に対する過去の時間であり得る。一実施形態において、データは型{X、xi、ti}のタプル形式で構造化され、ここでXは特徴の名前であり、xiは特徴の実値であり、そしてtiは実値xiに対する時間成分である。
【０００９】
本方法は、多数の「述語」を定義するステップを含む。述語は、タプルの系列に作用する2値関数であり、0または1の結果を返す。述語は、Predicate 1 OR Predicate 2、またはPredicate 1 OR Predicate 2 where Predicate 2=Predicate 2a AND Predicate 2Bなどの、タプルの系列の論理結合の2値関数でもあり得る。別の例として、述語は、或る時限にわたる薬剤バンコマイシンANDゾシンに対する2つのExists述語の結合であり得る。述語は、ExistsまたはCounts型述語などの「相対的に人間が理解可能な」述語、および相対的に人間が理解可能でない述語などの型にグループ化できる。特徴Xに対するExists述語の一例は、「トークン/特徴Xがいずれかの時間で患者に対する電子健康記録に存在したか?」である。そうであれば1が返され、そうでなければ0が返される。Counts述語の一例は、「患者に対する電子健康記録内の全ての時間にわたる特徴Xのカウント数が或る値Cを超えるか?」である。そうであれば1が返され、さもなければ0が返される。複数の患者にわたる非構造化電子健康記録などの複合データセットでは、考え得る述語数は極めて大きく、潜在的に数百万である。しかしながら、述語は、人間が理解可能な仕方で設計または構造化できる。すなわち、述語の定義は、それらが概念的に関係があり、かつモデルによって行われるであろう予測に関連するように専門家(例えば、エンドユーザ)によって指定できる。
【００１０】
本方法は、ブースティングモデルを反復的に訓練するステップを含む。ブースティングモデルは、1などのバイアス項によってシード処理または初期化できる。反復訓練方法は以下を含む:
1)所定数のランダムに選択される新たな述語を生成すること(1つの可能性では、これらの述語は人間が理解可能な述語だけであるが、これは必須でなく、追加的に、人間が信頼できないまたはいずれにしろ無関連として削除するであろう述語を自動的に除外することが可能でよい)。一実施形態において、5,000の述語がランダムに選択される。
2)ブースティングモデルの予測(例えば、退院時の診断請求コード、入院患者死亡率等)と関連するクラスラベルに関する加重情報利得によって全ての新たなランダムな述語を採点すること。
3)最高加重情報利得を持つ所定数、例えば、10の新たなランダムな述語を選択し、そしてそれらをブースティングモデルに追加すること。
4)ブースティングモデルにおける全ての述語に対して重みを計算すること。
5)オペレータまたは介在する人間からの入力に応じてブースティングモデルから最高情報利得を持つ選択された新たな述語の1つまたは複数を取り除くこと(例えば、人間の専門家が述語を閲覧して、信頼しにくい、理解可能でない、無関連である、またはその他と考えられるものを取り除く)。
【００１１】
ステップ1、2、3、4および5は反復的に、例えば10または20回繰り返されて、ブースティングモデルを徐々に構築する。介在する人間の使用は、信頼できない、無関連である、不必要な複雑さを増す等の述語を取り除くことによって、解釈可能性を高めかつモデルの複雑さを軽減する。この反復プロセスが、最終的な反復的に訓練されたブースティングモデルを生成する。
【００１２】
一実施形態において、最終的な反復的に訓練されたブースティングモデルが生成された後に、それは、例えば、精度または性能、信頼性、複雑さ、人間理解可能性、事後説明可能性等などの解釈可能性の証に関して評価される。
【００１３】
本開示は、評価ステップにおいてモデルを可視化するための幾つかの方法を含む。これらには、とりわけ、i)各ブースティングラウンドでの述語の追加によってブースティングモデルを生成する反復プロセスを表示すること、(ii)例えば、内容または関連概念による、最終的な反復的に訓練されたブースティングモデルにおける述語のグループ化を表示すること、(iii)述語を可視化して、それらをより人間が理解可能にすることの他に、(iv)最高加重情報利得を持つ提案された述語を提示し、そして専門家のユーザが提案された新たな述語の1つまたは複数を選択解除するように備えるためのユーザインタフェースツールを含むことができる。
【００１４】
別の態様では、複数の患者に対する電子健康記録データから予測モデルを訓練するコンピュータで実行される方法が開示される。データは複数の特徴を含み、各特徴が実値および時間成分と関連し、データは型{X、xi、ti}のタプル形式であり、ここでXは特徴の名前であり、xiは特徴の実値であり、そしてtiは実値xiに対する時間成分である。本方法は、コンピュータのプロセッサにおいて以下の命令またはステップであって:
a)タプルの系列またはタプルの系列の論理演算に作用する2値関数として多数の述語を定義する、ステップと、
b)多数の述語を理解可能性に基づくグループ、すなわち相対的により人間が理解可能な述語の第1のグループおよび相対的に人間が理解可能でない述語の第2のグループに分割する、ステップと、
c)以下を行うことによってブースティングモデルを反復的に訓練する、ステップで:
1)第1のグループの述語から所定数の新たなランダムな述語を生成し、
2)ブースティングモデルの予測と関連するクラスラベルに関する加重情報利得によって全ての新たなランダムな述語を採点し、
3)最高加重情報利得を持つ所定数の新たなランダムな述語を選択し、そしてそれらをブースティングモデルに追加し、
4)ブースティングモデルにおける全ての述語に対して重みを計算し、
5)オペレータからの入力に応じてブースティングモデルから最高情報利得を持つ選択された新たな述語の1つまたは複数を取り除き、
6)ステップ1、2、3、4および5の遂行を複数回繰り返して、それによって最終的な反復的に訓練されたブースティングモデルを生成する、
ステップとを実装することを含む。
【００１５】
さらに別の態様では、我々は、改良されたコンピューティングプラットフォーム、例えば、汎用コンピュータを開示して、機械学習モデルを実装した。改良は、実値および時間成分の両方を有する特徴の系列に作用する2値関数として定義される述語から構築される反復的に訓練されたブーストモデルである機械学習モデルの形態をとる。述語はオペレータ入力で定義され、反復的に訓練されたブーストモデルへの包含のための述語の選択は、ブースティングモデルの反復訓練中のオペレータによる再検討および選択または選択解除を要する。
【００１６】
一実施形態において、特徴は電子健康記録内の特徴である。他の種類の訓練データセットが使用され得、そして電子健康記録の使用は限定でなく例として提示される。
【００１７】
さらに別の態様では、ブースティングモデルを反復的に訓練することへオペレータ入力を提供するために、ワークステーションが開示される。ワークステーションは、ブースティングモデルの予測を行うための加重情報利得を有するとして選択される述語を表示するインタフェース、およびブースティングモデルを反復的に訓練する際の述語の1つまたは複数の選択または選択解除のためのツールを提供するインタフェースを含む。
【００１８】
最も広い意味で、本開示の方法が訓練データ内の「特徴」に対して使用でき、ここで用語「特徴」が、分類器を構築するために使用される訓練データ内の個々の原子元、例えば医療記録のメモ内の個々の単語、研究室試験結果等として機械学習におけるその従来の意味で使用されることが留意されるであろう。以下の説明では、我々は、訓練データに特定の要素が存在するかどうかを、要素と関連する時間情報を考慮に入れて判定するより複雑な仕方を提供する2値関数(述語)の形態で特徴を説明する。より一般に、本方法論は、訓練データのいかなる部分にも適用可能な関数の形態の試験(またはクエリ)を使用して、訓練データのその部分内の特徴の1つまたは複数の存在を検出してよい。
【００１９】
それに応じて、更なる一態様では、訓練データから予測モデルを生成するコンピュータで実行される方法が記載され、予測モデルが、複数の特徴Xの各々に対して、複数の時間の各々での特徴の値xを示す入力データに基づいてラベルを予測するためであり、かつ訓練データが複数のサンプルを含み、各サンプルが、1つまたは複数の時間の各々での特徴の1つまたは複数の値および対応するラベルを示す。本方法は、プロセッサで命令として以下のステップであって:
一組の述語を定義し、各述語が、特徴の時系列または特徴の時系列の論理結合に適用されると出力を生成する関数である、ステップと、
ブースティングモデルを生成し、ブースティングモデルが、訓練データのサンプルに適用されると一組の述語の各々のそれぞれの出力を入力として受け取る、ステップと、
一連の
(i)複数の追加の述語を自動的に生成するステップと、
(ii)既にブースティングモデルにおける述語に複数の追加の述語を追加して、更新された一組の述語を形成するステップと、
(iii)複数の更新された一組の述語を表示するステップと、
(iv)更新された一組の述語の1つまたは複数を拒否するデータ入力を受け取るステップと、
(v)更新された一組の述語から拒否された1つまたは複数の述語を取り除くステップと
を複数回行う、ステップとを実装することを含む。
【図面の簡単な説明】
【００２０】
【図１】前処理、モデル訓練および評価ステップを含む、本開示に従う方法を図示するフローチャートである。
【図２】図1の訓練ステップのより詳細なフローチャートである。
【図３】最高加重情報利得を持つ初期の一組の述語の一反復の可視化およびオペレータによる述語の一部の選択解除の例示である。
【図４】ブースティングモデルに述語を追加して、それらの一部を取り除く複数の反復の可視化の例示である。
【図５】図の左側の複数の反復にわたって介在する人間を使用するブースティングモデルの構築および図の右手側の純粋に機械学習手法で介在する人間のないブースティングモデルの構築の可視化の例示である。個々の述語は、述語の概念型(すなわち、述語に対するデータが生じた健康記録の部分)によって色分けされ、かつ異なるサイズで図示され、ここでサイズはモデルにおける重みに対応する。
【図６】ブースティングモデルの構築の複数の反復の更なる例示およびオペレータがマウスで述語上をホバーするとポップアップする述語の1つに対する詳細な情報である。
【図７】本方法が実施できるコンピュータネットワーク環境の例示である。
【図８】図1の方法を実行するときにオペレータまたは介在する人間によって使用されるコンピュータのユーザインタフェースの考え得る一形態のスクリーンショットである。
【図９】ユーザがモデル訓練中に述語選択/選択解除ツールにナビゲートしたときの図8のユーザインタフェースのスクリーンショットである。
【発明を実施するための形態】
【００２１】
本開示は、エンドユーザに解釈可能かつ本来的に理解可能であり、それ故に信頼できる予測モデルを訓練するコンピュータで実行される方法に関する。人間が理解可能な形式のモデルの「知識」の表現およびモデル訓練の最中の人間オペレータ入力からの入力の使用を含め、この目的に資する幾つかの態様がある。
【００２２】
本文書は、本方法がどのように特定の問題領域との関連で働くかを説明することになるが、上記したように、本方法は他の種類の問題により一般に使用できる。
【００２３】
以下の考察では、モデルへの入力は、タイムスタンプ付き構造化情報(例えば、患者に与えられる全ての薬剤および投与量、研究室値、診断、バイタルサイン、処置等)ならびに非構造化データ(例えば臨床メモ)を含め、患者について健康システムまたは病院によって収集される一組の医療情報である電子健康記録(EHR)データセットである。米国におけるEHRの最近の急速な採用は、このデータ事項のモデル化を、医療供給を改良するために重要にする。
【００２４】
患者は数十万ものデータ点を迅速に蓄積し、そして臨床診療では、この情報は単一のEHR画面に視覚化さえできない。これは、個別化医療における場合のように、相関特徴を伴う高次元入力との関連で特に当てはまる。
【００２５】
本開示において、我々は、2つの予測を行うモデルの生成を例として記載する:
1.診断:患者の主たる請求診断を予測する。これらの予測は、精度により健康システムおよび研究者によるデータのより良い二次使用を促進できるコードを内科医が調べる時間を省くことができる。
2.入院患者死亡率:患者が自分の在院中に死にそうであるかどうか、すなわち、患者の死亡率を予測する。モデルの予測は、監視および検査を強化するまたは(予想外に)高い予測死亡リスクの場合に患者に関する予後を検討するように医師を導くために使用できる。
【００２６】
いずれの場合も、予測を使用するために、医師は予測がなぜそうであるかを理解する必要がある;言い換えれば、モデルは解釈可能である必要がある。
【００２７】
我々はここで、それらの精度、複雑さ、分解可能性、訓練透明性およびエンドユーザ解釈可能性を測定すると等価である2つのモデルのおもちゃの例を構成することにする。しかしながら、それらの直観的な解釈可能性は著しく変化する。
【実施例１】
【００２８】
モデルAは、EHRの一部である、看護士によって文書化される患者が病院で食べた朝食の数を計数するだけである。この特徴と死亡率との間に正相関がある。モデルBは、代わりに病院に滞在した日数を使用する。両モデルは、単一の(導出される)特徴だけを使用し、同じ精度を有してよく、同じ方法で訓練され、かつ予測を説明するために使用できる。しかし、臨床医は、モデルBの方が解釈しやすいと思う。
【００２９】
この例は、我々が「特徴-信頼性」と呼ぶ解釈可能性の別の性質の追加を促す。解釈可能性のように、それは測定しにくい概念である。我々は以下の定義を提示する:入力特徴は、それがそれ自体で理解しやすく、かつモデルのエンドユーザが、同特徴が予測結果に直接または因果関係があると考える場合に「信頼できる」。モデルは、モデルの予測を説明するために使用される特徴が信頼できる場合に信頼できる。
【００３０】
以前は、少数の特徴が信頼性を念頭に手作りされて選ばれ、そしてこれらの特徴でモデルが構築された。この方法は、領域専門家の知識を取り入れるが、データ駆動型ではない。しかし、スケーラブルな機械学習の手法により、全ての特徴に作用し、かつ特徴選択プロセスを自動化するモデルで、より良い結果が達成された。この方法は、それがデータ駆動型であるので対極にあるが、領域知識は必要とされず、その結果は解釈可能でない。我々の方法は、最新の結果を達成するデータ駆動型かつ領域専門家誘導型機械学習のハイブリッドと見なすことができる。
【００３１】
文献で調査不足であるモデル解釈可能性の次元は、直ちに解釈可能でなくてよいデータを扱っている。例えば、電子健康記録は、名目上理解するために領域専門知識を必要とする構造化および非構造化データの時系列データを含む。生データがどのようにアルゴリズムへ入力されたかをエンドユーザが理解するために、生データをアルゴリズムのための特徴へ変換する前処理、特徴エンジニアリングおよびデータ拡張が必要である;これらのステップの理解可能性は我々が「前処理解釈可能性」と呼ぶものである。
【００３２】
解釈可能性のこれらの異なる構成要素の相互作用についての研究はこれまで少なかった。本文書において、我々は、解釈可能性の複数の態様を促進する新たな機械学習モデルを記載し、そして電子医療記録を使用して診断を分類しかつ入院患者死亡率を予測することに関する結果を報告する。
【００３３】
我々は、時空認識ブースティング学習器(STABLE:Space-Time Aware Boosting LEarner)と我々が名付けた新規の機械学習方法を開発したが、それが図1および図2に図示される。計画的に、それは、最大の前処理解釈可能性および理解可能な決定規則を提供するために、生データから直接に2値述語を抽出する。我々は、訓練透明性を最大化するために、標準手続き(一般化加法モデルの変異形)を使用して訓練もした。我々は、モデルが医療データセットに関するタスクで最新の性能を達成できることを証明する。
【００３４】
モデル生成のための我々のデータセットは、2002年と2012年との間のBeth Israel Deaconess Medical Center in Boston、Massachusettsにおける救急患者に関する匿名化健康記録データを含むMIMIC-IIIデータセットであった。同データセットは、A.E. Johnsonら、MIMIC-III, a freely accessible critical care database、J. Sci. Data、2016に記載されている。
【００３５】
EHRデータは、関連するタイムスタンプを持つ一連のイベントのように見える。例えば、医療記録は、血圧、体重および心拍数などのバイタル測定値を含む履歴値を含むことがある。時間に伴う研究室値も、毎日から毎週から数年ごとに一度まで様々な時間スケールで存在する。特定の時間に関連する医療メモもある。それ故に、ここで特徴が特定の時間に生じるので、そのようなデータに対するモデルアーキテクチャは、標準特徴およびラベルの素直な選択ではない。
【００３６】
ここで図1を参照すると、本文書は、データセット12から予測モデルを生成および訓練する方法10を記載する。この例では、データセット12はMIMIC-III電子健康記録データセットであるが、上記したように、それは他の種類であり得る。データセットが、電子健康記録を記憶するための異なる基礎データ形式を使用する複数の機関から取得される電子健康記録から成り得ることが可能であり、その場合それらを、高速健康相互運用性リソース(FHIR)形式などの標準化形式へ変換する任意選択のステップ14があり、Mandel JCら、SMART on FHIR: a standards-based, interoperable apps platform for electronic health records、J Am Med Inform Assoc. 2016;23(5):899-908を参照されたく、その場合、電子健康記録はFHIRリソースへ変換され、そして時系列または時間順に、患者ごとに整列される。ステップ14に関する更なる詳細が2017年7月28日出願の米国仮特許出願第62/538,112号に記載されており、その内容が参照により本明細書に組み込まれる。
【００３７】
方法論
データセット12内のデータは複数の特徴を、潜在的に数十万以上も含む。電子健康記録の例では、特徴は、内科医または看護士によって作成される非構造化臨床メモ(テキスト)内の具体的な単語または句であり得る。特徴は、具体的な研究室値、バイタルサイン、診断、医療遭遇、処方薬剤、症状等であり得る。各特徴は実値および時間成分と関連付けられる。ステップ16で、我々は、データを型{X、xi、ti}のタプル形式にフォーマット化し、ここでXは特徴の名前であり、xiは特徴の実値(例えば、単語または句、薬剤、症状等)であり、そしてtiは実値xiに対する時間成分である。時間成分は、指標(例えば、時間に伴う一連のイベント内の実値の場所を示す指標)、または実値が発生した以後の経過時間およびモデルが生成されるもしくは予測を行う時間であり得る。ステップ16でのタプルの生成は、データセット内のあらゆる患者に対するあらゆる電子健康記録に対して行われる。タプルの例は、{"note:sepsis"、1、1000 seconds}および{"heart_rate_beats_per_minute"、120、1 day}である。
【００３８】
ステップ18で、データの時系列性を扱うために、ソフトウェア命令を介して、我々は全ての特徴を述語として2値化し、そのため実数値特徴が、heart_rate>過去1時間以内に毎分120拍などの時空述語によって表現されることがある。本文書における用語「述語」は、ステップ16のタプルの1つまたは複数の系列に作用する2値関数、またはタプルの系列の論理結合に作用する2値関数として定義される。全ての述語は、真であれば1を、さもなければ0を返す関数である。一例として、[{"heart_rate_beats_per_minute"、120、1 week}]における述語Exists "heart_rate_beats_per_minute"は、先週の系列にわたるheart_rate_beats_per_minuteタプルの系列全体に{"heart "heart_rate_beats_per_minute"、120、1 day}を有するタプルがあるので、1を返す。述語は、Exists Predicate 1 OR Predicate 2、またはExists Predicate 1 OR Predicate 2 where Predicate 2=Predicate 2a AND Predicate 2Bなどの、タプルの系列の論理結合の2値関数でもあり得る。別の例として、述語は、或る時限にわたる薬剤バンコマイシンANDゾシンに対する2つのExists述語の結合であり得る。
【００３９】
ステップ20で、述語を人間理解可能性に基づく(すなわち、分野の専門家に理解可能な)2つのグループにグループ化する任意選択のステップがある。グループ1における述語の例は、最大限に人間が理解可能な述語であり、以下である:
・Exists:X-トークン/特徴Xが患者のタイムラインにいずれかの時点で存在したか。ここでXはメモ内の単語、または、とりわけ研究室の名前もしくは処置コードであることができる。
・Counts:#X>C。全ての時間にわたるトークン/特徴Xの存在数がCを超えたか。より一般に、Counts述語は、数値パラメータCに対する所与の患者に対する電子健康記録データ内の特徴のカウント数に応じて0または1の結果を返す。
【００４０】
モデルによって行われる予測の種類に応じて、他の種類の人間が理解可能な述語が、グループ1に属するとして選択され得る。追加的に、人間が理解可能な述語は、オペレータまたは専門家によってモデル訓練中に生成または定義され得る。
【００４１】
グループ2における述語は、人間が理解しにくく、例えば以下であることができる:
・Any x(i)>V at t(i)<T。x(i)の値が過去のT未満の時間にVを超えた(または代替的にX≦V)か。
・Max/Min/Avg_i x(i)>V。全ての時間にわたってXの最大値もしくは最小値もしくは平均値>V(または代替的にX≦V)か。
・Hawkes過程。x(i)>Vのときの指数関数的時間減衰インパルスの和が或る時間窓Tにわたって或る活性化Aを超えたか?活性化=sum_i I(x(i)>V)*exp(-t(i)/T)
・上記の述語のいずれかの2つの連言が使用されるDecision List述語。
・True-常に1を返す。これはブースティングモデルにおける最初の述語(シード)であり、かつバイアス項として作用する。それは、最初のバッチにおいて正クラスの対数オッズ比に初期化される。
【００４２】
再び図1を参照すると、ステップ22で、我々は続いて、ステップ18で定義された述語を使用して(かつ任意選択でステップ20においてグループ1としてグループ化された人間が理解可能な述語だけを使用して)ブースティングモデルを訓練する。ステップ22は、図2と関連して説明されることになるように、専門家からの入力を使用してブースティングモデルを徐々に構築する反復プロセスである。
【００４３】
ディープニューラルネットワークを理解または解釈する際の困難の問題を克服するために、我々は、倹約(より複雑でなく)かつ人間が理解可能な規則を生成し得るブースティングモデルを作成して、それらを解釈可能にし、かつそれらの自然な人間による評価を容易にすることに集中した。ブースティングアルゴリズムは概して、それらが性能を増す限り反復的に追加される一連の弱学習器を組み合わせる。我々は、訓練中に介在する人間からの入力を使用して、ブースティングモデルへの包含のための候補である述語を選択的に取り除くまたは選択解除する。述語の選択およびそれらの一部の取り除きまたは選択解除の複数の反復後に、我々は最終的な訓練されたブースティングモデルに到達し、それは一組の述語および関連する重みとして定義される。
【００４４】
ステップ24で、我々は、次いで続いて、最終的に訓練されたブースティングモデルを評価する。図1に図示されるように、この評価プロセスは、例えば、別々の試験セットもしくは検証セットでの、または他のモデルに対する、信頼性26(通常専門家または専門家のグループからの入力を使用する)、複雑さ28(最終ブースティングモデルに残る述語数に基づく)、精度および性能30の評価、ならびに可視化技法32を使用することなど、幾つかの構成要素を有することができる。可視化ステップ32では、モデルの性質がオペレータに対して表示されて、彼らがブースティングモデルの構築、述語、それらの重みおよび性能メトリックを検査および評価するのを可能にする。可視化の例が図3〜図6に図示されて、後に説明されることになる。対話式モデル訓練のためのユーザインタフェースが後に図8および図9と関連して記載されることになる。
【００４５】
ここで図2を参照すると、図1の訓練プロセス22がさらに詳細に記載されることになる。ステップ200で、ブースティングが、例えば、1などのバイアス項で初期化またはシード処理される。
【００４６】
ステップ202で、多数の新たなランダムな述語が生成または選択される。例えば、5,000の新たなランダムな述語が生成される。潜在的な述語の数は、それらがトークン/特徴、特徴値および異なる時間の数のクロス乗積であるので、非常に大きくなり得るため、我々は、ラウンドごとに全ての考え得る述語を生成するわけではない。変数、値閾値および時間閾値の選択を含め、規則の各々の実際のインスタンスは次のように生成された。最初に、ランダムな患者(或るコード化タスクに対して正が非常にまれであるので正または負のラベルを持つ者間で交互に)、ランダムな変数X、および患者のタイムラインのランダムな時間Tを選ぶ。イベントが一様な間隔でないので、時間は指標によって選ばれる。Vは時間TでのXの対応値であり、そしてCは患者のタイムラインでXが発生する回数である。このように、選ばれた患者に対して、特徴Xに関して、それらがMのタプルを有するとして、[0、M-1]から一様にjを選んでタプル{X、x(j)、t(j)}を位置付ければ、T=t(j)かつV=x(j)。
【００４７】
次いで、これらの値を使用して全ての考え得る述語型を生成する。代替的に、我々はグループ1の述語型だけを使用するようにモデルを制限して、最終モデルにおける解釈可能性を得ることがあり得る。ここで、モデルの解釈可能性および信頼性を上げるように人間の入力によってモデルを生成するために使用される述語の選択を設計することが可能であることに留意されたい。
【００４８】
ステップ204で、我々は次いで、ブースティングモデルの予測(例えば、入院患者死亡率、退院請求コード等)と関連するクラスラベルに関する加重情報利得によって5,000のランダムな述語の各々を採点する。各サンプル(患者EHR)に対する重みは、サンプルに現在のブースティングモデルが与えられる確率pを計算することから得られる。重要性qが次いで、q=|ラベル-予測|である。これは、ブースティングモデルが誤差を生むサンプルが現在のブースティングラウンドにおいてより重要であることを意味する。重要性qおよびサンプルのラベルを使用して、次いで、ラベルおよび現在のブースティングモデルに関して候補述語の加重情報利得を計算できる。代替的に、ランダムに述語を選択し、次いでL1正則化で勾配ステップを行うことができる。別の方法は、https://en.wikipedia.org/wiki/Information_gain_in_decision_treesに記載されている方法に従って、述語のグループをサンプリングし、そして情報利得を評価すること、またはTrivediら、An Interactive Tool for Natural Language Processing on Clinical Text、arXiv:1707.01890[cs.HC](2017年7月)の論文に記載されている技法を使用することである。
【００４９】
ステップ206で、我々は、所与の予測タスクに関して最高加重情報利得を持つ所定数の新たなランダムな述語、それらのうちの5、10または20などを選択する。
【００５０】
ステップ208で、我々は、次いで勾配フィットを行って全ての述語に対して重みを計算する。ステップ208で、我々は、対数損失およびL1正則化で傾斜降下を使用して、全ての以前のおよび新たに追加された述語に対する新たな重みを計算する。我々は、FOBOSアルゴリズムを使用してフィットを行うが、DuchiおよびSinger、Efficient Online and Batch Learning Using Forward Backward Splitting、J. Mach. Learn. Res.(2009)の論文を参照されたい。
【００５１】
ステップ210で、我々は次いで、オペレータ入力に応じて選択された新たな述語を取り除く。特に、コンピュータ214を操作する内科医212などの専門家が、最高情報利得を持つランダムに選択された述語を閲覧し、次いで信頼できないまたはモデルの予測タスクに因果関係がないと考えられるものを取り除く。例えば、述語の1つが「number_of_breakfasts」であり、かつ予測タスクが入院患者死亡率であれば、患者が入院患者死亡率のリスクにさらされているかどうかにその述語は因果関係がないので、オペレータは、それを選択解除することを選んでよい。
【００５２】
一実施形態において、我々は人間(212)に対して、彼らが「信頼性」という緩い基準に基づいて述語を削除するのを可能にするコンピュータ214上のインタフェースで、述語を示すが、我々はこの「信頼性」を、人間の参加者が述語が当面のタスクに強く関係があると考えるかどうかとして定義した。この「人間参加型」では、我々は、第1のグループの述語、すなわち、高度な人間理解可能性を有する述語を使用して図1および図2の方法でモデルを構築することを好む。
【００５３】
追加的に、ワークステーションのユーザインタフェースに、オペレータがブースティングモデルの構築中に述語を定義できる、テキストの入力のためのボックスなどのツールを含ませることが可能である。例えば、ステップ206または210で、オペレータは新たな述語を挿入でき、それはブースティングモデルに追加される。
【００５４】
ステップ216で、訓練プロセスが完了かどうかを調べるための確認があり、通常はプロセスはNo分岐を使用して最初の反復後にループバックし、そしてループ218がとられてステップ202、204、206、208および210を、10または20回など、複数回繰り返す。ループ218を通じた各反復は、徐々にますます多くの述語の構築という結果になる。各述語は高い加重情報利得スコア(ステップ204から)を有し、ステップ210で人間オペレータによる検査および一部の述語の潜在的な選択解除となる。したがって、本方法論は、正確で、信頼できかつ解釈可能なモデルを徐々に構築する。その上、人間が理解可能な述語の設計および選択、ならびに十分な信頼性を欠く述語の人間による検査および潜在的な取り除きによって、本方法論は、エンドユーザに解釈可能であり、かつ先行技術に関する問題を克服する最終的な生成されたブーストモデルという結果になる。
【００５５】
十分な数のブースティングラウンド(ループ218)が行われた、例えば性能メトリックが予想基準を満たした後に、yes分岐220がとられて、プロセスは図1および図2の評価ステップ24に進む。
【００５６】
前述したように、評価は、信頼性、複雑さ(モデルが合理的な特徴数を有したか)および精度に対するモデルの人間による評価の形態をとることができる。精度の測定のために、モデルが、データから生成された他のモデルに対してどのように試験セットで機能したかの他に、機械学習における周知の性能メトリックである、受信者動作特性曲線下面積(AUROC)などの試験メトリックの使用を調査できる。
【００５７】
図1および図2に従って構築されるモデルの性能を分析するために、我々は、図1および図2の方法論を使用したがステップ210で介在する人間を使用しなかった、かつグループ1およびグループ2のものを含め、全ての述語型を使用したもの、単純な(グループ1)述語型だけを使用した別のもの、ならびにグループ1述語型だけを使用した、かつ介在する人間に起因するものと同数の述語だけを有するように最終モデルを枝刈りした別のものを含め、データセットから幾つかの他のモデルを生成した。様々なモデルの性能が以下に多少詳細に記載される。
【００５８】
一実施形態において、評価ステップ24は以下から構成され得る:
1.精度。我々は、検証セットでのモデルの性能のためにAUROCを使用した。
2.複雑さ。我々は、訓練の終了時に述語数を計数した。
3.信頼性。各タスクに対して、我々は、モデルの各々からXの述語をランダムに選んだ(入院患者死亡率、退院時診断)。我々は、述語が当面のタスクに関係がなかった(例えば心不全に関係がない抗生物質)と示す1から、述語がタスクに強く関係があったと示す3まで、1から3の尺度から内科医に各述語を評価させた。我々は、全てのその述語の平均スコアによってモデルの「トラストスコア」または信頼性を報告する。
【００５９】
前述したように、図1および図2に従って生成されるモデルの評価の仕方の1つが可視化による。図3は、図1を使用するモデル訓練のセッション中の人間および機械参加者選択を調査するための対話式可視化300の一例を図示する。ループ218の反復後に、我々は述語を、各々現在のモデルにおける1つの述語およびその重みを表現する「トローチ」または形状301の行310として描画する。重みは、マウスでトローチ上をホバーするによって可視化され得る、またはそれはトローチ下に表示され得る(図3に図示せず)。行310はループ218(図2)の最初の反復を示し、ここでモデルは16の述語を選択および推奨する(上から下に至るべたの正方形)。行310内の述語は内容によってグループ化される、例えば、第1のグループ306(例えば、医療メモ内の単語または句)、バイタルサイン308、薬剤309。それらのうち、人間の参加者、この場合は内科医が、検討してそれらの述語のうちの7つを取り除くことに決めた。残りの述語は次いで線312上に複製される。取り除かれた述語は、空の正方形304に至る下降線によって表現される。述語は最高から最低まで重みによってソートされる、すなわちグループ内の最高加重の述語が左にある。バイアス項は311で右端にある。各反復後に、コンピュータ(214)は、我々が数値パラメータとして提示し、かつ述語の可視化と共に表示できるAUROCメトリックを計算する。
【００６０】
図4において、表示は、同じセッションからのループ218の更なる三反復402、404および406を図示する。反復402では、「ターン1」は、最高加重情報利得を持つランダムな述語の選択を指し、そして「ターン2」は、介在する人間がループのその反復において選択された述語を取り除くのを表現する。AUROC曲線計算が反復における各ステップに対して408で図示される。AUROCが各ターンで常に上昇するわけではないが、連続的ブースティング反復にわたってモデルが構築されるので、一般に上昇することに留意されたい。
【００６１】
図5は、多くの反復にわたるブースティングモデルの発展を図示する。列500では、介在する人間を伴うブースティングモデルの徐々の構築が図示される一方、領域502は、ループの各反復で最高加重情報利得を持つ10の新たなランダムな述語を追加する、介在する人間なしで純粋な機械学習ブースティングモデルを徐々に構築するのを図示する。9反復後に、人間参加型(内科医管理)モデルがモデルにおよそ20の述語を有するが、純粋な機械学習モデルは90の異なる述語を有する(9ラウンドの間ラウンドごとに10の述語が追加される)ことに留意されたい。プロセスが別の10ラウンドの間続くとすれば、人間のモデルは合計で25または30程の述語に終わるかもしれない一方、純粋な機械学習モデルは190の述語を有するであろう。複雑さの点で、列500によって示される人間参加型モデルは、それほど複雑でなく、それ故により解釈可能であろう。両モデルとも、19回目の反復後に0.89のAUROCを達成する。しかしながら、内科医管理モデルは、より少ないモデルパラメータを含む。
【００６２】
我々の対話式可視化は、ユーザが幾つかのソートおよび色付けオプションから選ぶことによって学習した述語を動的に調査するのを可能にする。図6において、述語は重みの大きさによってソートされ、ここで「トローチ」のサイズは重みに従って拡大縮小され、高加重の述語ほど大きなサイズで描画される。追加的に、ユーザは述語/トローチ上をホバーでき、そしてボックス600がポップアップして、その重み、その型、特徴名(トークン)、規則、キーおよび他の属性など、述語の詳細を示す。追加的に「トローチ」は、602に示される色コードキーによって示されるように、概念または型によって色分けできる。
【００６３】
訓練のためのテキストインタフェース例
ワークステーション214は、オペレータ/専門家がモデル訓練中に使用するためのテキストインタフェースを提供できる。本節は、退院時診断としてのうっ血性心不全の予測のためのモデルを構築するためのテキストインタフェースの一例を提供することになる。
【００６４】
各行はモデルにおける述語を表現する。各行の初めの情報は各述語についてのメタ情報である:そのインデックス、それを保つべきかどうかについての人間意思、それが新たな述語であるかどうかを示す人間のための視覚タグ、および述語重み。各行の2番目の部分は述語そのものである。「E」は特徴の存在を意味し、そして「#」は閾値を持つ特徴のカウントを意味する。「TRUE」は単にデータセット内のラベルのバイアスを取得する。以下の例では、人間は、特徴カウントの閾値が信頼できないので、インデックス2の述語を「削除する」ことに決める。これがモデル訓練のまさに初めにあるので、このモデルは非常に単純であり、後にモデルはより大きくかつより複雑になるであろう。モデルが一組の述語から構成されるので、例えば、行をスクロールしていくことによってまたは図3〜図6に図示されるなどの可視化技法を用いて、人間がモデル全体を検査することがまだ可能である。
Rule #, Keep?, Weight
[ 0, Y, -, 0.0244] E:obsloinc:33762-6pg/mL (Natriuretic peptide.B prohormone N-Terminal)
[ 1, Y, -, 0.0240] E:Composition.section.text.div.tokenized failure
[ 2, Y, -, 0.0237] #:Composition.section.text.div.tokenized ventricular >= 11
[ 3, Y, -, 0.0237] E:Composition.section.text.div.tokenized congestive
[ 4, Y, -, 0.0232] #:Composition.section.text.div.tokenized regurgitation >= 3
[ 5, Y, -, 0.0232] E:Observation.code.loinc.display.tokenized b
[ 6, Y, -, 0.0228] #:Composition.section.text.div.tokenized exertion >= 2
[ 7, Y, -, 0.0224] E:Composition.section.text.div.tokenized lasix
[ 8, Y, -, 0.0220] E:Composition.section.text.div.tokenized la
[ 9, Y, -, 0.0216] E:Composition.section.text.div.tokenized regurgitation
[10, Y, -, 0.0206] Context age_in_years >= 60.000000 @ t <= 1.000000
[11, Y, -, -0.0101] E:Context Patient.gender male
[12, Y, -, -0.0220] Context age_in_years >= 40.000000 @ t <= 1.000000
[13, Y, -, -0.0244] Context age_in_years >= 18.000000 @ t <= 1.000000
[14, Y, -, -0.0256] E:Context Patient.genderfemale
[15, Y, -, -3.3718] TRUE
New Model Test Score: 0.883712, Rules: 16
BOOST> delete 2
【００６５】
図1に従う対話式モデル訓練のためのユーザインタフェースが図8および図9に図示される。モデル訓練方法論は、汎用コンピュータによって実行されるアプリケーションとして符号化できる。図8は、起動時のアプリケーションユーザインタフェース800のスクリーンショットである。図9は、数ラウンドの対話式モデル訓練後のユーザインタフェースを図示する。図8および図9のインタフェースは、図8に図示される以下の主領域から成る:
【００６６】
現在のモデルラベリングまたは予測タスク(この場合は急性心筋梗塞の予測)を識別するヘッダバー802。ヘッダバー802は、損失および受信者動作特性プロット曲線下面積など、一目で役立つ、現在のセッションについてバーの右手端に図示される一部の統計量も含む。
【００６７】
学習器挙動を修正するおよび述語に作用する(すなわち、述語を選択または選択解除する)ならびに、述語の重みなどの統計量を図示するためのツールの表示を提供する内容領域804、以下図9の説明を参照されたい。
【００６８】
モデルおよび現在のセッションでのユーザアクションの履歴を要求および保存するためのツールの表示を提供する制御バー806。
【００６９】
性能およびモデルサイズメトリックを図示することによって学習器とのユーザのセッションを要約するタイムライン808。
【００７０】
内容領域804は、ユーザと学習器との間の対話の大半を進める「カード」(個々のグラフィック表示領域)を含むスクロール可能な領域である。2つのカードの種類または型、設定カードおよび述語カードがある。図8において、設定カードがラベリングタスクカード810、通知カード812および訓練オプションカード814を含むのを図示される。設定カードはアプリケーションの開始時に利用可能であり、内容領域804の上位に出現する。設定カードは、ユーザが、学習タスク、学習器のパラメータ(学習速度、バッチサイズ等)の調整、ラベリングのための述語の初期化、およびデスクトップ通知の切替えなどの、グローバル設定を修正するのを可能にする。
【００７１】
述語カードは図9に図示される。これらのカード902、904および906は、学習器が述語を獲得した後に出現する。各述語カード902、904および906はカテゴリ内で述語を編成する。図9において、人口統計、医師メモおよび薬剤が、それぞれ、902、904および906に図示される述語カードであり、ユーザはスクロールダウンして他のカテゴリに対する述語を見ることができる。加重情報利得に基づく新たに選択された述語が、912に示されるように、図9の表示上に太字でかつ各カテゴリ内の述語のリストの上位に示される。以前のブースティングラウンドで提案およびユーザによって選択された述語が、新たに提案された述語の下に通常フォントで示される。表示は、オペレータが提案された述語をブースティングモデルに追加するかそれを取り除くかを選ぶことができる、それぞれ、「承認」および「削除」アイコン908および910の形態のツールを提供する。例えば薬剤のNDCサブカテゴリ下で、ユーザは、「承認」アイコン908をアクティブ化することによって薬剤「17714001110...」に対する述語を追加することを選ぶことができ、この場合この述語はブースティングモデルに追加されることになる。ユーザが列記される述語の意味を理解するのを支援するために、インタフェースは、グラフィックツールなどの追加のツールのために、ユーザが述語上にマウスをホバーするとポップアップして、述語が何を意味するか、例えばコード17714001110によって与えられる薬剤の普通語意味、を普通語で説明する辞書またはその他を提供してよい。「承認」および「削除」アイコンの直ぐ左の数字は、列記される述語に割り当てられる現在のブースティングモデルにおける重みである。
【００７２】
図9において、図9の表示に示される述語の各々の隣の「承認」および「削除」アイコンの存在によって示されるように、ユーザが、ブースティングモデルから以前のラウンドで追加された述語を取り除く選択権を有することに留意されたい。
【００７３】
述語のカテゴリの数および同定はもちろん変化し得るが、現在のコンテキストでは以下のカテゴリが認識される:人口統計、医師メモ、薬剤、研究室結果、看護士観察、以前の状態、入院/退院および医療処置。述語がこれらのカテゴリの1つへ適合しなければ、それはその他と呼ばれる更なるカテゴリに置かれる。
【００７４】
図9の下に図示されるタイムラインは、ブースティングモデルが徐々に構築されるので、選択されたタスクでのモデルサイズおよびその性能を時間と共に追跡する。ユーザが述語リストを枝刈りし、そして学習器がより多くの述語を追加するにつれて、モデルサイズが安定する一方、解釈可能性を犠牲にすることなく性能メトリックが改善し(更なる反復につれて損失が減り)続けるのを見ることを期待および希望する。図3〜図5の例示は基本的に、図9の下に図示されるタイムラインの考え得る一変化を図示する。図9のタイムラインは、述語の数の観点からモデルサイズを示す垂直バーを含む。それは、時間と共にモデルの品質を追跡する折れ線グラフも含み、損失として表される。損失およびモデルサイズのためのスケールは、それぞれ、タイムラインの左および右手端に示される。ここで、用語「損失」はロジスティック損失を指し、例えば、https://en.wikipedia.org/wiki/Loss_functions_for_classification#Logistic_lossを参照されたい。表現「損失を最小化する」は、単にブースティングモデルの重みに適合するための手順に対する名前である。損失がゼロに近くなると、それは、モデルが収束して、本質的に「完全に料理され」て使用する準備ができたことを意味する。
【００７５】
図8および図9のインタフェースが、人間オペレータにツールが提供されて本開示に従ってモデルを構築できる一方法を例示するのに対して、インタフェースの詳細はもちろん変化し得るため、上記の記述は限定でなく例として提供される。
【００７６】
結果
我々の研究では、我々は、図1および図2の手順を使用してモデルを開発し、そして図2の人間参加型ステップ210なしで述語から得られるブースティングモデルと結果を比較した。
【００７７】
我々は、純粋な機械学習モデル(「MM」)の訓練での型グループ2の述語(より複雑で、人間が理解しにくい)の使用対人間参加型モデル(「HM」)でのグループ1(より複雑でなく、人間が理解しやすい)述語の使用の影響を調査した。我々は、グループ2述語を使用することの影響が予測タスクの性質に依存することを見いだした。退院診断コードを予測するタスクに対しては、2つの異なるMMモデル、グループ1およびグループ2両方の述語を持つ一方(MM1)ならびにグループ1述語(存在およびカウント述語)だけを使用する一方MM2間の格差はむしろ有意でない。例えば、1つの退院コードタスクでは、AUROCメトリックを使用して、MM1は0.910を達成し、対してMM2の0.896(0.4%の格差)。別の退院コードタスクでは、比較は0.916対0.914(0.2%の格差)である。死亡率予測のより複雑なタスクでは、格差は幾分有意である、すなわち0.791対0.814(2.3%の格差)。しかしながら、本発明の方法の目的の1つがモデル解釈可能性を改良することであるので、単純な述語型を使用する機械モデルが好まれ、さもなければ人間がモデルを理解することは非常に難しい。これはモデル品質と解釈可能性のトレードオフを示すが、解釈可能性および信頼性は極めて重要であるので、我々はそれが医療領域において行うのに良いトレードオフであると考える。
【００７８】
我々は、ループに人間を入れること、および結果的なモデル(HM1、図1および図2によって構築される)の性能を2つの機械のみのモデル、グループ1述語を持つ一方(MM2)およびMM2と同じであるが、人間参加型モデルと同数の述語を有するように枝刈りされた別の一方(MM3)と比較することの効果も調査した。我々は、領域専門家(医師)に、述語を選択解除することによって、上記したように、単純なテキストインタフェースを使用してモデルの構築プロセスを導くよう依頼した。我々は、モデル品質、モデルサイズおよび信頼性の点で人間参加型の効果を見たかった。我々は、2つの機械モデル設定:MM2およびMM3に匹敵する。
【００７９】
我々は、このプロセスに人間行動についての2つの一般的所見を有する:1)領域専門家は、主に信頼性に基づいて述語を保つべきか削除するべきかについて決定を下す。この思考下で、専門家は、このモデルを使用するであろうエンドユーザのために行動している。2)我々は、人間が決定を下すのを援助するために、要求に応じて現在のモデルを評価するメカニズムを有する。しかしながら、我々は、専門家が決定を下す際にそれにほとんど依存しないことに気がつく。これは、以下に示すように、HM1モデルがなぜ非常に高い「信頼スコア」を得たかを説明するかもしれない。Table 1(表1)は、退院時診断としてうっ血性心不全を分類するタスクでの3つのモデルに対する品質(AUROC曲線)、サイズおよび信頼スコアを示す。
【００８０】
【表１】
0006916310.tif 000002
【００８１】
退院時診断としてリズム障害を分類する(CCSコード106)タスクに対して類似の品質およびサイズ結果が得られた。モデル品質観点から、人間のモデル(HM1)は2つのコード化タスクで機械モデル(MM2およびMM3)に非常に匹敵する。入院患者死亡率を予測するより難しいタスクでは、HMモデルはMM2より悪く(約5%)、MM3に匹敵する。このタスクでは、モデルはあまり解釈可能な述語を提起することができなかったため、それ故それらは人間によって頻繁に削除され、23の述語だけを持つ非常に小さなモデルに至った。
【００８２】
モデルサイズ観点から、人間のモデルは機械モデル(MM2)より非常に小さい。より小さなモデルを有することは、他人が同モデルをより容易に検査するのを可能にする;それは厳密には必要とされないが、特に医療領域において、それは非常に望ましい。
【００８３】
特筆すべき結果は、異なるモデルの「トラストスコア」である。人間の専門家モデル(HM1)は、モデルの信頼性が非常に高く評価され、これは非常に望ましい結果である。我々が最高重みを持つものだけを含む(MM3)ように機械モデルの述語を枝刈りすると、その「トラストスコア」も改善し(1.70から1.97まで)、機械モデルが信頼できる述語ほど高い重みを関連付けることを示唆した。にもかかわらず、人間のモデル(HM1)の非常に高い「トラストスコア」、その小さなモデルサイズおよび匹敵する品質を考慮すれば、HM1は、解釈可能で信頼できる機械学習モデルを得るという我々の目的が達成されたことを証明する。
【００８４】
追加考察
ユーザがモデル訓練中にモデルを探索および改善するのをさらに支援するために、図2のワークステーションに追加機構を追加して、人間による様々な操作が行われるのを可能にすることが望ましいかもしれない。例えば、ユーザは、モデルに述語を提起または定義する、例えばXがモデルの予測に関連する或る単語または句であるとして、「Xがメモに存在するか」、そしてそれらをブースティングの次の反復に使用するのを可能にされ得る。
【００８５】
別の例として、もう少し複雑な述語は最初は専門家にさえ理解するのが困難かもしれないが、それらは専門家による理解を増すグラフィック形態で描画されてよく、かつそれらがモデルへの包含のためにそれらを選ぶのを可能にしてよい。
【００８６】
追加的に、多くの述語が冗長でよく、そしてエンドユーザによって理解される更なる能力に基づいて特定のものを選択してモデル構築のために使用することが好ましい。モデルを構築するために必要とされる時間量を削減するために、冗長な述語だけでなく、人間がいずれにしろ削除するであろうもの、例えば人間が理解可能でない無関連なものも、訓練プロセスから削除するまたは取り除くことが好ましい。
【００８７】
また、具体的な述語ほど高い優先順位を有するように述語をランク付けすることが可能である。例えば、研究室試験結果が優先され得る、または研究室試験名述語より高くランク付けされ得る。これは、図2の反復中に或るポリシールールを使用して、加重情報スコア(またはモデルに対する重み)を調整することによって行うことができる。
【００８８】
追加的に、バイグラムがより多くのコンテキストを提供して述語を理解しやすくするので、非構造化医療メモから得られる述語にユニグラム(1単語)に比べてバイグラム(2単語)を使用することが好ましいかもしれない。バイグラムは、ポリシールールを使用してまたはその他、加重または採点され得る。さらには、図2のワークステーションのユーザインタフェースは、これらの単語が使用される医療メモから一部の部分文または抜粋例を示し得る。
【００８９】
他の嗜好が、図2の反復中にユーザによって定義される述語としてか述語に対する加重情報利得を調整することによってか、定義され得る。例えば、人間は、単に「心不全」または「心臓」または「不全」に比べて「うっ血性心不全」などのより具体的なメモを好む。長いテキスト述語ほど単一語より良好なモデル性能に至ることができる。追加的に、医学教科書もしくは辞書に見つけられる用語を使用するモデル訓練のためのメモ述語を定義すること、またはそのような述語だけを使用することが可能かもしれない。別の例では、存在述語を、医学教科書に頻繁に出現するトークン(単語)に限定し得る。本質的には、モデル訓練中に、プロセスは、専門家の脳内でエンコードされる知識を要請し、そしてその知識をモデルへ転送する。
【００９０】
追加的に、ユーザが述語を選択もしくは選択解除する、またはモデルによる使用のために新たな述語を定義することに決めるのを補助するために、統計量を提供してユーザを支援することが有用かもしれない。例えば、「カバレッジ」を、特定の述語が真である例の数として、「精度」を、この述語が真である真のラベルを持つ例の数をカバレッジで割ったとして、および「再現率」を、この述語が真である真のラベルを持つ例の数を真のラベルを持つ例の数および述語とラベルとの間の相関で割ったとして定義できる。
【００９１】
介在する人間の疲労を軽減する目的でモデル訓練中に処理タスクを幾つかのサーバまたはコンピューティングプラットフォーム間で分散することによって迅速にモデルを構築することができることが望ましい。基本的に、図7を参照して、我々は、モデルが迅速に計算できるようにデータセット全体(モデルを開発するために使用される電子患者記録の開発セット)をメモリへロードする。これは、異なるサーバ(702、704、706等)上へデータセットの部分をロードし、そして各ブースティングラウンド(図2の反復)においてラウンドロビン方式で異なるサーバに問い合わせることによって行われる。各サーバ702、704、706等は、特徴の全てを持つ患者電子健康記録の部分集合、各々1000程の患者を保持でき、そして我々は、ブースティングのラウンドごとに1000の患者のバッチでモデルを更新する。
【００９２】
本方法に対する別の強化は、時限(定義された述語内のタプルの系列)を、任意の時限の代わりに、過去1時間、先日、先週、先月などの人間にフレンドリーな時限に還元することである。
【符号の説明】
【００９３】
12  データセット
14  FHIRリソース
212  人間
214  コンピュータ
300  対話式可視化
301  形状
306  第1のグループ
310  行
312  線
402  反復
404  反復
406  反復
500  列
502  領域
800  アプリケーションユーザインタフェース
802  ヘッダバー
804  内容領域
806  制御バー
808  タイムライン
810  ラベリングタスクカード
812  通知カード
814  訓練オプションカード
902  述語カード
904  述語メモカード
906  述語カード
908  「承認」アイコン
910  「削除」アイコン
912  新たに選択された述語
【図１】
0006916310.tif 000003
【図２】
0006916310.tif 000004
【図３】
0006916310.tif 000005
【図４】
0006916310.tif 000006
【図５】
0006916310.tif 000007
【図６】
0006916310.tif 000008
【図７】
0006916310.tif 000009
【図８】
0006916310.tif 000010
【図９】
0006916310.tif 000011