IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7197795機械学習プログラム、機械学習方法および機械学習装置
<>
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図1
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図2
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図3
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図4
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図5
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図6
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図7
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図8
  • 特許-機械学習プログラム、機械学習方法および機械学習装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-20
(45)【発行日】2022-12-28
(54)【発明の名称】機械学習プログラム、機械学習方法および機械学習装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221221BHJP
   G06F 16/906 20190101ALI20221221BHJP
   G16H 50/70 20180101ALI20221221BHJP
   G01N 33/48 20060101ALI20221221BHJP
   G06F 16/55 20190101ALI20221221BHJP
【FI】
G06N20/00 130
G06F16/906
G16H50/70
G01N33/48 Z
G06N20/00 160
G06F16/55
【請求項の数】 10
(21)【出願番号】P 2019096003
(22)【出願日】2019-05-22
(65)【公開番号】P2020190935
(43)【公開日】2020-11-26
【審査請求日】2022-02-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】村上 勝彦
【審査官】武田 広太郎
(56)【参考文献】
【文献】国際公開第2010/119615(WO,A1)
【文献】特開2018-530803(JP,A)
【文献】国際公開第2007/020897(WO,A1)
【文献】特開2018-155522(JP,A)
【文献】特開2008-059080(JP,A)
【文献】特開2017-167834(JP,A)
【文献】米国特許出願公開第2018/0307741(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 16/906
G16H 50/70
G01N 33/48
G06F 16/55
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
第1の値および第2の値の一方を示すラベルと特徴量とをそれぞれ含む複数のサンプルを、前記特徴量に応じて3個以上のクラスタに分類し、
前記複数のサンプルのうち前記ラベルが前記第1の値を示すサンプルの個数の情報に基づいて、前記3個以上のクラスタのうちの一部のクラスタを統合した統合クラスタを生成し、
前記統合クラスタと前記3個以上のクラスタのうちの残りのクラスタとへの前記複数のサンプルの分類結果に基づいて、前記複数のサンプルそれぞれについて、前記第1の値または前記第2の値に対する確度を算出し、
前記複数のサンプルのうち前記確度が所定条件を満たさないサンプルを、前記確度が前記所定条件を満たすサンプルよりも優先的に用いて、機械学習を実行する、
処理を実行させる機械学習プログラム。
【請求項2】
前記所定条件は、前記確度の最大値および最小値の何れも含まず、前記最大値と前記最小値の間の中点を含む所定の数値範囲に、前記確度が含まれることである、
請求項1記載の機械学習プログラム。
【請求項3】
前記機械学習では、前記複数のサンプルの中から前記確度が前記所定条件を満たすサンプルを除外する、
請求項1記載の機械学習プログラム。
【請求項4】
前記機械学習では、前記確度が前記所定条件を満たすサンプルに、前記確度が前記所定条件を満たさないサンプルよりも小さい重みを付与する、
請求項1記載の機械学習プログラム。
【請求項5】
前記機械学習では、前記特徴量と前記ラベルとの間の関係を示すモデルを生成し、
前記コンピュータに更に、ある特徴量を受け付け、前記モデルを用いて、前記受け付けた特徴量に対して前記第1の値および前記第2の値の一方を判定する処理を実行させる、
請求項1記載の機械学習プログラム。
【請求項6】
前記統合クラスタの生成では、前記ラベルが前記第1の値を示すサンプルのうち所定割合以上のサンプルが、前記統合クラスタに属するように、前記3個以上のクラスタの中から前記一部のクラスタを選択する、
請求項1記載の機械学習プログラム。
【請求項7】
前記3個以上のクラスタへの分類では、前記複数のサンプルそれぞれについて、前記3個以上のクラスタそれぞれに属する確率を算出し、
前記確度の算出では、前記3個以上のクラスタに対する前記確率のうち前記一部のクラスタに対する前記確率の合計を、前記第1の値に対する前記確度として算出する、
請求項1記載の機械学習プログラム。
【請求項8】
前記特徴量は、生体物質から測定された測定値を含み、
前記第1の値は、疾病なしを表し、前記第2の値は、疾病ありを表し、
前記機械学習では、前記確度が前記所定条件を満たすサンプルを、疾病なしの生体物質と疾病ありの生体物質の混合物から測定された測定値を示す混合サンプルと推定する、
請求項1記載の機械学習プログラム。
【請求項9】
コンピュータが、
第1の値および第2の値の一方を示すラベルと特徴量とをそれぞれ含む複数のサンプルを、前記特徴量に応じて3個以上のクラスタに分類し、
前記複数のサンプルのうち前記ラベルが前記第1の値を示すサンプルの個数の情報に基づいて、前記3個以上のクラスタのうちの一部のクラスタを統合した統合クラスタを生成し、
前記統合クラスタと前記3個以上のクラスタのうちの残りのクラスタとへの前記複数のサンプルの分類結果に基づいて、前記複数のサンプルそれぞれについて、前記第1の値または前記第2の値に対する確度を算出し、
前記複数のサンプルのうち前記確度が所定条件を満たさないサンプルを、前記確度が前記所定条件を満たすサンプルよりも優先的に用いて、機械学習を実行する、
機械学習方法。
【請求項10】
第1の値および第2の値の一方を示すラベルと特徴量とをそれぞれ含む複数のサンプルを記憶する記憶部と、
前記複数のサンプルを前記特徴量に応じて3個以上のクラスタに分類し、前記複数のサンプルのうち前記ラベルが前記第1の値を示すサンプルの個数の情報に基づいて、前記3個以上のクラスタのうちの一部のクラスタを統合した統合クラスタを生成し、前記統合クラスタと前記3個以上のクラスタのうちの残りのクラスタとへの前記複数のサンプルの分類結果に基づいて、前記複数のサンプルそれぞれについて、前記第1の値または前記第2の値に対する確度を算出し、前記複数のサンプルのうち前記確度が所定条件を満たさないサンプルを、前記確度が前記所定条件を満たすサンプルよりも優先的に用いて、機械学習を実行する処理部と、
を有する機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は機械学習プログラム、機械学習方法および機械学習装置に関する。
【背景技術】
【0002】
コンピュータを利用したデータ分析として、機械学習が行われることがある。機械学習では、結果が既知である複数のサンプルを示すデータをコンピュータに入力する。コンピュータは、データを分析して、要因(説明変数や独立変数と言うことがある)と結果(目的変数や従属変数と言うことがある)との間の関係を一般化したモデルを生成する。生成されたモデルを用いることで、未知の結果を予測することができる。
【0003】
機械学習の応用例として、バイオマーカー探索がある。バイオマーカーは、タンパク質や遺伝子などの生体物質に関する特徴量であって、特定の疾病の有無または進行度と相関のある指標である。バイオマーカーは、特定の疾病の診断や治療効果の確認に利用することができる。バイオマーカー探索では、タンパク質の濃度や遺伝子の発現量など生体物質から測定された特徴量と、医師など人により判断された疾病の有無を示すラベルとを対応付けたサンプルを用いて機械学習が行われる。そして、疾病の有無の判定結果への影響が大きい少数の特徴量がバイオマーカーとして抽出され、バイオマーカーと疾病の有無との間の関係を一般化したモデルが生成される。新規に測定されたバイオマーカーの値をモデルに入力することで、疾病の有無を予測することができる。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2010/051320号
【発明の概要】
【発明が解決しようとする課題】
【0005】
機械学習では、測定された特徴量とYES/NOのような二値のラベルとを含むサンプルを利用して、入力を2つのクラスに分類するモデルの生成を試みることがある。しかし、サンプルの集合の中には、サンプルを用意する過程の事情により、2つのクラスの中間的な特徴量をもつ混合サンプルが含まれてしまうことがある。この場合、混合サンプルがノイズとなって、機械学習の結果の精度が低下することがあるという問題がある。
【0006】
例えば、バイオマーカー探索では、疾病ありを示すラベルが付与されたサンプルは、純粋な異常細胞から測定された特徴量を示していることが好ましい。しかし、採取した異常細胞群の中に正常細胞が混入していることがあり、採取した異常細胞が疾病の進行途上の細胞であることもある。その場合、純粋な異常細胞の特徴量と純粋な正常細胞の特徴量の間の中間的な特徴量を示す混合サンプルが発生する。このような混合サンプルが存在すると、入力を疾病ありのクラスと疾病なしのクラスに明確に分類することが難しくなることがあり、有用なバイオマーカーを見逃すリスクが生じる。
【0007】
1つの側面では、本発明は、機械学習の結果の精度を向上させる機械学習プログラム、機械学習方法および機械学習装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
1つの態様では、コンピュータに以下の処理を実行させる機械学習プログラムが提供される。第1の値および第2の値の一方を示すラベルと特徴量とをそれぞれ含む複数のサンプルを、特徴量に応じて3個以上のクラスタに分類する。複数のサンプルのうちラベルが第1の値を示すサンプルの個数の情報に基づいて、3個以上のクラスタのうちの一部のクラスタを統合した統合クラスタを生成する。統合クラスタと3個以上のクラスタのうちの残りのクラスタとへの複数のサンプルの分類結果に基づいて、複数のサンプルそれぞれについて、第1の値または第2の値に対する確度を算出する。複数のサンプルのうち確度が所定条件を満たさないサンプルを、確度が所定条件を満たすサンプルよりも優先的に用いて、機械学習を実行する。
【0009】
また、1つの態様では、コンピュータが実行する機械学習方法が提供される。また、1つの態様では、記憶部と処理部とを有する機械学習装置が提供される。
【発明の効果】
【0010】
1つの側面では、機械学習の結果の精度が向上する。
【図面の簡単な説明】
【0011】
図1】第1の実施の形態の機械学習装置の例を説明する図である。
図2】第2の実施の形態の機械学習装置のハードウェア例を示す図である。
図3】機械学習装置の機能例を示すブロック図である。
図4】サンプルテーブルの例を示す図である。
図5】サンプルの分布例を示すグラフである。
図6】混合サンプルの除外例を示す図である。
図7】混合サンプルの他の除外例を示す図である。
図8】バイオマーカー探索の手順例を示すフローチャートである。
図9】データ前処理の手順例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
【0013】
図1は、第1の実施の形態の機械学習装置の例を説明する図である。
第1の実施の形態の機械学習装置10は、複数のサンプルのうちの少なくとも一部を訓練データとして使用して機械学習を行う。第1の実施の形態の機械学習では、入力を2つのクラスに分類するモデルを生成する。例えば、機械学習装置10は、生体物質に関する特徴量と疾病の有無との間の関係を示す医療診断用モデルを学習する。機械学習装置10を、疾病の有無と相関のある特徴量であるバイオマーカーの探索に使用することもできる。ただし、第1の実施の形態の機械学習方法は、医療分野に限定されず、様々な分野のデータ分析に応用できる。機械学習装置10を、情報処理装置やコンピュータを言うこともできる。機械学習装置10は、クライアント装置でもよいしサーバ装置でもよい。
【0014】
機械学習装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、メモリ(記憶部11でもよい)に記憶されたプログラムを実行する。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【0015】
記憶部11は、それぞれラベルと1以上の特徴量とを含む複数のサンプルを記憶する。サンプルを、データレコードやデータブロックと言うこともできる。ラベルは、機械学習における教師データであり、第1の値(L1)および第2の値(L2)の何れか一方を示す二値データである。ラベルは、例えば、人手により各サンプルに対して付与される。第1の値および第2の値の一方は、特定の事象が生じていること(「YES」や「ON」)を表し、他方は特定の事象が生じていないこと(「NO」や「OFF」)を表す。特徴量は、ラベルが示す結果に関連して測定される数値である。各サンプルは、m個(mは1以上の整数)の特徴量を含み、m次元空間上の点として表すことができる。各サンプルの特徴量はm次元のベクトル(X1,X2,X3など)で表現される。これを以下、「特徴量ベクトル」と呼ぶ。
【0016】
バイオマーカー探索を目的とする場合、例えば、特徴量は、タンパク質の濃度や遺伝子の発現量など、生体組織や体液などの生体物質から測定された測定値である。遺伝子発現は、遺伝情報がRNA(Ribonucleic Acid)の転写やタンパク質の合成を通じて生体の機能として現れることである。遺伝子の発現量は、対象の遺伝子に対応するmRNAの濃度として測定し得る。比較的少数の特徴量の集合が、特定の疾病の有無と相関のある指標であるバイオマーカーとなり得る。ラベルは、疾病の有無を示す。ラベルは、例えば、医師などの専門家による診断結果を示している。例えば、第1の値が疾病なしを表し、第2の値が疾病ありを表す。第1の値のラベルが付与されたサンプルは、疾病のない正常な生体物質に対応するデータであることが期待される。第2の値のラベルが付与されたサンプルは、疾病がある異常な生体物質に対応するデータであることが期待される。
【0017】
ただし、記憶部11に記憶されたサンプルの中には、サンプルを用意する過程の事情により、2つのクラスの中間的な特徴量をもつ混合サンプルが含まれている。例えば、医療データの場合、疾病ありを示すラベルが付与されたサンプルは、純粋な異常細胞から測定された特徴量を示していることが好ましく、疾病なしを示すラベルが付与されたサンプルは、純粋な正常細胞から測定された特徴量を示していることが好ましい。しかし、採取した異常細胞群の中に正常細胞が混入していることがあり、採取した異常細胞が疾病の進行途上の細胞であることもある。その場合、純粋な異常細胞の特徴量と純粋な正常細胞の特徴量の間の中間的な特徴量を示す混合サンプルが発生する。
【0018】
混合サンプルを含むサンプル群を用いて機械学習を行うと、混合サンプルの影響を受けて、入力を2つのクラスに分類するモデルの精度が低下するおそれがある。よって、バイオマーカー探索の場合、有用なバイオマーカーを見逃すリスクが生じる。そこで、機械学習装置10は、混合サンプルの影響を抑制するように機械学習用データの前処理を行う。
【0019】
処理部12は、記憶部11に記憶された複数のサンプルを、特徴量ベクトルに応じて3個以上のクラスタに分類する。互いに近い特徴量ベクトルをもつサンプル群が1つのクラスタを形成する。クラスタリングには、k平均法(k-means法)や混合ガウス分布(GMM:Gaussian Mixture Model)法などの様々なクラスタリングアルゴリズムを利用できる。クラスタ数は、固定であってもよいし、ユーザが指定できるようにしてもよいし、自動的に調整されるようにしてもよい。図1の例では、複数のサンプルがクラスタ13a,13b,13c,13dの4つのクラスタに分類されている。なお、白点は第1の値(L1)のラベルをもつサンプルを表し、黒点は第2の値(L2)のラベルをもつサンプルを表す。特徴空間上で白点と黒点が混在した領域が存在するのは、混合サンプルが存在するためである。
【0020】
処理部12は、記憶部11に記憶された複数のサンプルのうちラベルが第1の値(L1)を示すサンプルの個数をカウントする。処理部12は、ラベルが第1の値を示すサンプルの個数の情報に基づいて、上記の3個以上のクラスタのうち一部のクラスタを選択し、選択した一部のクラスタを統合した統合クラスタ14を生成する。
【0021】
例えば、処理部12は、ラベルが第1の値を示すサンプルのうち所定割合以上のサンプルが統合クラスタ14に属するように、統合するクラスタを選択する。所定割合は、90%のように予め決めておく。統合するクラスタは、例えば、ラベルが第1の値を示すサンプル群の中心、すなわち、ラベルが第1の値を示すサンプルの平均特徴量ベクトルに近いクラスタから優先的に選択するようにする。図1の例では、クラスタ13a,13b,13c,13dのうちクラスタ13a,13bを統合して統合クラスタ14が生成されている。
【0022】
処理部12は、統合クラスタ14と統合しなかった残りのクラスタとへのサンプルの分類結果に基づいて、サンプル毎に第1の値(L1)または第2の値(L2)に対する確度を算出する。確度は、あるサンプルが混合サンプルにあたる程度を評価した結果を表しており、純粋な第1の値に相当するサンプルとの近さまたは純粋な第2の値に相当するサンプルとの近さの推定値である。確度は、ラベルと相関があるものの、ラベルとは異なる指標である。確度は、混合サンプルの程度を表すという点で、混合度、純度、混在率などと言うこともできる。確度は、例えば、0以上1以下の実数とする。その場合、確度が0.5に近いサンプルほど混合サンプルである可能性が高い。例えば、医療データの場合、確度は、純粋な正常細胞のサンプルとの近さまたは純粋な異常細胞のサンプルとの近さの推定値である。この場合、確度を、正常度、異常度、進行度などと言うこともできる。
【0023】
例えば、処理部12は、クラスタリングにおいて、サンプル毎に当該サンプルが3個以上のクラスタそれぞれに属する確率を算出しておく。処理部12は、サンプル毎に、3個以上のクラスタに対する確率のうち統合クラスタ14として選択した一部のクラスタに対する確率を合計し、その合計値を確度として定義する。この場合、統合クラスタ14に近い特徴量ベクトルをもつサンプルほど確度が1に近くなり、統合クラスタ14から遠い特徴量ベクトルをもつサンプルほど確度が0に近くなる。図1の例では、特徴量ベクトルX1,X2,X3,…に対応する確度λ1,λ2,λ3,…が算出されている。
【0024】
処理部12は、記憶部11に記憶された複数のサンプルのうち、確度が所定条件を満たさないサンプルを、確度が所定条件を満たすサンプルよりも優先的に用いて機械学習を行う。所定条件は、例えば、混合サンプルである可能性が高いことを示す所定範囲に確度が属していることである。所定範囲は、例えば、0.2~0.8のように、最大値と最小値を含まず、最大値と最小値の間の中点(例えば、0.5)を含むように予め定められる。確度が所定条件を満たすサンプルは、混合サンプルと推定される。
【0025】
確度が所定条件を満たさないサンプルの優先使用として、処理部12は、記憶部11に記憶された複数のサンプルのうち確度が所定条件を満たすサンプルを除外し、所定条件を満たさないサンプルのみを訓練データとして使用して機械学習を行うようにしてもよい。
【0026】
また、処理部12は、確度が所定条件を満たすサンプルに対して、所定条件を満たさないサンプルよりも小さい重みを付与し、記憶部11に記憶された複数のサンプルを重みに応じて使用して機械学習を行うようにしてもよい。例えば、機械学習の途中でモデルの出力とラベルとの間の誤差を評価する際に、誤差を重み付けし、重みが小さいサンプルに対応する誤差のフィードバックを小さくすることが考えられる。処理部12は、確度が0.5に近いほど小さい重みを付与し、確度が0.5から遠いほど大きい重みを付与してもよい。確度が0.5であるサンプルの重みを0にしてもよい。重みが0のサンプルは、実質的に訓練データから除外され機械学習に使用されないことになる。
【0027】
図1の例では、第1の値(L1)のラベルが付与された白点のサンプルと第2の値(L2)のラベルが付与された黒点のサンプルとが混在した領域のサンプルに対して、0.5に近い確度が算出されている。これらのサンプルは混合サンプルである可能性が高いと推定される。そして、これらのサンプルが訓練データから除外され、除外されずに残ったサンプルを用いて、入力を2つのクラスに分類するモデルが学習されている。
【0028】
第1の実施の形態の機械学習装置10によれば、複数のサンプルが特徴量ベクトルに応じて3個以上のクラスタに分類される。第1の値のラベルをもつサンプルの個数に基づいて、一部のクラスタを統合した統合クラスタが生成され、統合クラスタと残りのクラスタとへのサンプルの分類結果に基づいて各サンプルの確度が算出される。確度が所定条件を満たさないサンプルが、所定条件を満たすサンプルよりも優先的に使用されて機械学習が行われる。
【0029】
これにより、サンプルを用意する過程の事情により生じた混合サンプルの影響を、機械学習において抑制することができる。例えば、医療データの場合、正常細胞と異常細胞が混在した細胞群を採取することや疾病の進行途上の細胞を採取することによって生じた混合サンプルの影響を抑制することができる。よって、入力を2つのクラスに分類するモデルの精度を向上させることができるなど、機械学習の結果の精度を向上させることができる。これは、混合サンプルと他のサンプルを同等に扱うと、混合サンプルの影響により2つのクラスの境界を正確に検出することが難しくなり、誤ったモデルが生成されるリスクが高くなるためである。機械学習を利用してバイオマーカー探索を行う場合、第1の実施の形態によれば、有用なバイオマーカーを見逃すリスクを低減できる。
【0030】
[第2の実施の形態]
次に、第2の実施の形態を説明する。
第2の実施の形態の機械学習装置は、機械学習を利用して癌に関するバイオマーカーを探索する。機械学習装置は、クライアント装置でもよいしサーバ装置でもよい。機械学習装置を、コンピュータや情報処理装置と言うこともできる。
【0031】
図2は、第2の実施の形態の機械学習装置のハードウェア例を示す図である。
機械学習装置100は、CPU101、RAM102、HDD103、画像インタフェース104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。機械学習装置100が有するこれらのユニットは、機械学習装置100の内部でバスに接続されている。機械学習装置100は、第1の実施の形態の機械学習装置10に対応する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
【0032】
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。CPU101は複数のプロセッサコアを備えてもよく、機械学習装置100は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【0033】
RAM102は、CPU101が実行するプログラムやCPU101が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
【0034】
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。
【0035】
画像インタフェース104は、CPU101からの命令に従って、機械学習装置100に接続された表示装置111に画像を出力する。表示装置111として、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイ、プロジェクタなど、任意の種類の表示装置を使用することができる。機械学習装置100に、プリンタなど表示装置111以外の出力デバイスが接続されてもよい。
【0036】
入力インタフェース105は、機械学習装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用することができる。機械学習装置100に複数種類の入力デバイスが接続されてもよい。
【0037】
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、半導体メモリなど、任意の種類の記録媒体を使用することができる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
【0038】
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
【0039】
図3は、機械学習装置の機能例を示すブロック図である。
機械学習装置100は、サンプル記憶部121、モデル記憶部122、データ前処理部123、モデル生成部124および疾病判定部125を有する。サンプル記憶部121およびモデル記憶部122は、例えば、RAM102またはHDD103の記憶領域を用いて実現される。データ前処理部123、モデル生成部124および疾病判定部125は、例えば、CPU101が実行するプログラムを用いて実現される。
【0040】
サンプル記憶部121は、機械学習用データとして予め用意された複数のサンプルを記憶する。各サンプルは、人から採取された生体組織に対応し、同じ生体組織から測定された異なる遺伝子の発現量を示すm個の特徴量を含む。特徴量の個数は、10,000など非常に大きい個数であってもよい。遺伝子発現は、遺伝情報がRNAの転写やタンパク質の合成を通じて生体の機能として現れることであり、遺伝子発現量は、対象の遺伝子に対応するmRNAの濃度として測定することができる。
【0041】
複数のサンプルの中には、癌患者の癌細胞から測定されたm個の遺伝子の発現量を示す癌サンプルと、正常細胞から測定されたm個の遺伝子の発現量を示す正常サンプルとが含まれる。各サンプルには、正常サンプルか癌サンプルかを示すラベルが付与されている。ラベルは、医師などの専門家の診断結果を示し、人手で付与される。ラベルは、正常サンプルを意味する値と癌サンプルを意味する値の二者択一であるという点でフラグと言うこともでき、「0」または「1」の値をもつ1ビットで表現することもできる。ラベルは、教師あり機械学習における教師データとして使用される。
【0042】
ただし、各サンプルが示すm個の特徴量の全てが癌と関連があるわけではない。機械学習装置100は、上記の複数のサンプルを用いた機械学習を通じて、癌と関連がある少数の特徴量の集合をバイオマーカーとして検出するバイオマーカー探索を行う。バイオマーカーを形成する特徴量の個数は、20個など100個以下が目安であり、各サンプルに含まれる特徴量の個数に対して十分少ない。バイオマーカーは、生体物質に関する特徴量であって特定の疾病の有無または進行度と相関のある指標であり、特定の疾病の診断や治療効果の確認に利用される。機械学習装置100は、機械学習を通じて、バイオマーカーの値から癌の有無またはその尤度を判定するモデルを生成する。このモデルは、判別モデル、予測モデル、判定モデル、診断モデルなどと言うこともできる。
【0043】
モデル記憶部122は、機械学習により検出されたバイオマーカーを示すバイオマーカー情報を記憶する。バイオマーカー情報は、m個の遺伝子のうちバイオマーカーを形成する少数の遺伝子(例えば、20個程度の遺伝子)を示す。また、モデル記憶部122は、バイオマーカーの値と癌の有無との間の関係を示すモデルを記憶する。
【0044】
データ前処理部123は、サンプル記憶部121に記憶された複数のサンプルに対して前処理を行う。データ前処理部123は、前処理済みのサンプルの集合を訓練データとしてモデル生成部124に出力する。後述するように、前処理として、データ前処理部123は、サンプル記憶部121に記憶された複数のサンプルのうちの一部のサンプルを訓練データから除外することがある。また、データ前処理部123は、サンプル記憶部121に記憶された複数のサンプルを重み付けすることがある。一部のサンプルに対して他のサンプルよりも小さい重みが付与される。ユーザは、前処理方法を予め設定してもよい。例えば、ユーザは、一部のサンプルの除外と重み付けの何れか一方を予め選択する。
【0045】
モデル生成部124は、データ前処理部123から訓練データを取得し、取得した訓練データを用いて機械学習を行う。モデル生成部124は、機械学習により癌のバイオマーカーを決定し、機械学習によりバイオマーカーの値から癌判定を行うモデルを生成する。モデル生成部124は、バイオマーカー情報とモデルをモデル記憶部122に格納する。
【0046】
バイオマーカー探索では、モデル生成部124は、訓練データのサンプルに含まれるm個の特徴量を全て用いて、m個の特徴量と癌の有無との間の関係を示すモデルの生成を試みる。モデル生成部124は、生成したモデルに基づいて、m個の遺伝子のうち癌の有無の判定結果への影響が大きい少数の遺伝子をバイオマーカーとして選択する。例えば、モデル生成部124は、m個の遺伝子のうちモデルの係数の絶対値が大きい方から所定個の遺伝子をバイオマーカーとして選択する。バイオマーカーが決定されると、モデル生成部124は、訓練データのサンプルに含まれるm個の特徴量のうちバイオマーカーに相当する特徴量を用いて、バイオマーカーと癌の有無との間の関係を示すモデルを生成する。
【0047】
ただし、モデル生成部124は、バイオマーカー探索とバイオマーカーから癌判定を行うモデルの生成とを一体的に行うようにしてもよく、上記と異なる手順でバイオマーカー情報とモデルを生成するようにしてもよい。例えば、バイオマーカーの候補として少数の特徴量を選択し、選択した特徴量と癌の有無との間の関係を示すモデルを生成することを、精度のよいモデルが生成されるまで繰り返す方法も考えられる。
【0048】
機械学習には、回帰分析やサポートベクタマシン(SVM:Support Vector Machine)などの機械学習アルゴリズムを使用することができる。入力を2つのクラスに分類するクラス分類に適した機械学習アルゴリズムを使用することが好ましい。データ前処理部123が一部のサンプルを訓練データから除外した場合、モデル生成部124は、除外されずに残ったサンプルを用いて機械学習を行う。データ前処理部123が複数のサンプルの重み付けを行った場合、モデル生成部124は、重みを考慮して機械学習を行う。例えば、モデル生成部124は、モデルの出力とラベルとの間の誤差をフィードバックする際に、サンプルに付与された重みを用いて誤差を補正する。重みが大きいほど誤差が強くフィードバックされ、重みが小さいほど誤差が弱くフィードバックされる。よって、重みが小さいサンプルについては、学習されるモデルへの影響が小さくなる。
【0049】
モデル生成部124は、機械学習の結果を表示装置111に表示する。例えば、モデル生成部124は、検出したバイオマーカーを示すバイオマーカー情報を表示装置111に表示する。ただし、モデル生成部124は、機械学習の結果を、表示装置111以外の出力デバイスに出力してもよく、他の情報処理装置に送信してもよい。
【0050】
疾病判定部125は、ユーザからバイオマーカーの値の入力を受け付ける。受け付けるバイオマーカーの値は、サンプル記憶部121に記憶されたサンプルとは異なるものであり、新規に採取された細胞から測定された遺伝子発現量である。採取された細胞は、癌検査を受ける人のものであることもあるし、治療中の癌患者のものであることもある。すると、疾病判定部125は、モデル記憶部122に記憶されたモデルにバイオマーカーの値を入力し、癌判定の結果をモデルから取得する。モデルの出力は、癌ありまたは癌なしを示す離散値であることもあるし、癌ありの尤度を示す連続値であることもある。
【0051】
疾病判定部125は、癌判定の結果を表示装置111に表示する。ただし、疾病判定部125は、癌判定の結果を、表示装置111以外の出力デバイスに出力してもよく、他の情報処理装置に送信してもよい。また、第2の実施の形態では、機械学習装置100がバイオマーカー探索とモデルを利用した癌判定の両方を行っているが、バイオマーカー探索とモデルを利用した癌判定を異なる情報処理装置が行うこともできる。
【0052】
図4は、サンプルテーブルの例を示す図である。
サンプルテーブル126は、サンプル記憶部121に記憶されている。サンプルテーブル126には、サンプルID、m個の特徴量およびラベルをそれぞれ含む複数のサンプルが登録されている。サンプルテーブル126の1行が1つのサンプルに対応する。サンプルを、データレコードやデータブロックと言うこともある。
【0053】
サンプルIDは、サンプルを識別する識別情報である。サンプルIDは、例えば、非負整数の識別番号である。サンプルテーブル126には、癌ありを示すラベルが付与されたp個の癌サンプルと、癌なしを示すラベルが付与されたc個の正常サンプルとが登録されている。よって、サンプルテーブル126には、合わせてp+c個のサンプルが登録されている。m個の特徴量は、同一の生体組織から測定されたm個の異なる遺伝子の発現量である。ラベルは、癌ありまたは癌なしを示す。例えば、ラベル=0が癌あり(Patient)を示し、ラベル=1が癌なし(ControlまたはNormal)を示す。正常サンプルと癌サンプルは、肺や肝臓や大腸などのうち、同じ種類の生体組織から測定されたものである。
【0054】
次に、混合サンプルの問題と混合サンプルの影響を抑制するための前処理を説明する。
図5は、サンプルの分布例を示すグラフである。
サンプルテーブル126に登録された複数のサンプルを、m個の特徴量に対応するm個の軸をもつm次元特徴空間にマッピングすることを考える。第2の実施の形態では、説明を簡単にするため2次元特徴空間を図示している。
【0055】
複数のサンプルを特徴空間にマッピングすると、正常ラベルが付与された正常サンプルを含む正常サンプルグループ131と、癌ラベルが付与された癌サンプルを含む癌サンプルグループ132とが形成される。複数の正常サンプルの点は互いに近い位置にあり、複数の癌サンプルの点は互いに近い位置にあることが期待される。正常サンプルグループ131と癌サンプルグループ132とは明確に分離していることが好ましい。しかし、正常サンプルグループ131と癌サンプルグループ132とがオーバーラップすることがある。すなわち、特徴空間上に、正常サンプルの点と癌サンプルの点が混在する領域が現れることがある。これは、いわゆる混合サンプルが存在するためである。
【0056】
混合サンプルは、生体組織の採取に起因して生じる。正常サンプルは、純粋な正常細胞のみから生成されることが好ましく、癌サンプルは、純粋な癌細胞のみから生成されることが好ましい。しかし、実際には採取した癌細胞群の中に正常細胞が混入していることがあり、癌の進行途上の細胞が採取されることもある。このような細胞からは、純粋な正常細胞と純粋な癌細胞の中間的な特徴量をもつ混合サンプルが生成される。
【0057】
混合サンプルを含む全てのサンプルを同等に扱って機械学習を行うと、正常サンプルグループ131と癌サンプルグループ132の間に明確な境界を検出することが難しくなる。特に、SVMでは、境界付近に異なるラベルのサンプルが混在していると、境界を正しく検出することが難しくなる。その結果、生成されるモデルの分類精度が低下し、バイオマーカーの探索が困難になるおそれがある。
【0058】
そこで、機械学習装置100は、複数のサンプルの中から混合サンプルを自動的に推定し、混合サンプルの機械学習への影響を抑制するようにする。具体的には、機械学習装置100は、混合サンプルを訓練データから除外するか、または、混合サンプルに対して他のサンプルよりも小さい重みを付与するようにする。
【0059】
図6は、混合サンプルの除外例を示す図である。
ここでは、データ前処理として混合サンプルを除外する場合を考える。
データ前処理部123は、サンプルテーブル126に登録されたサンプルの集合であるサンプルデータ141を、正常サンプルグループ144と癌サンプルグループ145と混合サンプルグループ146とに分類する。
【0060】
混合サンプルグループ146は、混合サンプルであると推定されたサンプルの集合である。正常サンプルグループ144は、正常ラベルが付与されたサンプルのうち、混合サンプルグループ146に分類されたものを除いたサンプルの集合である。正常サンプルグループ144に属するサンプルは、純粋な正常細胞のサンプルであると推定される。癌サンプルグループ145は、癌ラベルが付与されたサンプルのうち、混合サンプルグループ146に分類されたものを除いたサンプルの集合である。癌サンプルグループ145に属するサンプルは、純粋な癌細胞のサンプルであると推定される。
【0061】
データ前処理部123は、サンプルデータ141から混合サンプルグループ146のサンプルを除外し、正常サンプルグループ144と癌サンプルグループ145のサンプルから形成される訓練データ142を生成する。モデル生成部124は、訓練データ142を用いて機械学習を行いモデル143を生成する。この機械学習は、混合サンプルを無視して、正常ラベルのサンプルと癌ラベルのサンプルの境界を検出することに相当する。
【0062】
第2の実施の形態では、混合サンプルを抽出するために、各サンプルについて隠れ変数として正常度λを算出する。正常度λは、当該サンプルを純粋な正常細胞のサンプルとみなすことができる程度を表す指標である。正常度λは、採取した生体組織の中に含まれる正常細胞の割合の推定値と解釈することもできる。この点で、正常度λを、混在率、混合度、確度、純度などと表現することもできる。また、正常度λは、癌の未進行の程度と解釈することもできる。この点で、正常度λを、非進行度と表現することもできる。
【0063】
正常度λは、0以上1以下の実数である。正常度λが1に近いほど、純粋な正常細胞のサンプルである可能性が高く、正常度λが0に近いほど、純粋な癌細胞のサンプルである可能性が高い。正常度λが0.5に近いほど、混合サンプルである可能性が高い。正常度λは、ラベルと高い相関があるものの、ラベルとは異なる指標である。
【0064】
以下、正常度λの計算方法および混合サンプルの抽出方法を説明する。
まず、データ前処理部123は、各サンプルの特徴量を規格化する。例えば、データ前処理部123は、遺伝子毎に発現量の数値が一定の数値範囲に分布するように、サンプル間の特徴量の大小関係が保持されるようにしつつ数値変換を行う。また、データ前処理部123は、特徴空間の次元削減を行い、10,000程度の特徴量ベクトルの次元を100程度の次元に圧縮する。次元削減には、例えば、特異値分解(SVD:Singular Value Decomposition)が用いられる。次元削減によれば、特徴空間上でのサンプル間の近さの関係をできる限り保持しつつ特徴空間の次元数を減らすことができる。特徴量の規格化および次元削減は、混合サンプルの抽出のために一時的に行われる数値変換である。
【0065】
次に、データ前処理部123は、次元削減後の特徴空間上で、サンプルをその位置に応じて複数のクラスタに分類するクラスタリングを行う。クラスタリングでは、近い位置のサンプルが同じクラスタに分類され、離れた位置のサンプルが異なるクラスタに分類される。クラスタ数nは、5個など予め決めておく。クラスタリングには、k平均法や混合ガウス分布法など様々なクラスタリングアルゴリズムを用いることができる。第2の実施の形態では、クラスタリングに混合ガウス分布法を用いることを想定する。
【0066】
混合ガウス分布法では、特徴空間上にn個のクラスタに対応するn個のガウス分布が重なった結果として、確率的に今回のサンプルの集合が生成されているとみなす。混合ガウス分布法では、サンプル毎に数式(1)の生成確率Pが定義され、全てのサンプルの生成確率Pの合計が最大化されるようにn個のクラスタのパラメータが決定される。
【0067】
数式(1)において、xは、p+c個のサンプルのうちのi番目のサンプルの特徴ベクトルを表し、特徴空間でのサンプルの位置に相当する。μは、n個のクラスタのうちのl番目のクラスタの中心ベクトルを表し、特徴空間でのクラスタの中心位置に相当する。σは、n個のクラスタのうちのl番目のクラスタの標準偏差を表し、クラスタの特徴空間における大きさに相当する。ただし、クラスタの大きさは、クラスタのメンバー数とは必ずしも関係しない。πilは、i番目のサンプルがl番目のクラスタに属する比率である帰属比率を表す。混合ガウス分布法では、各サンプルが何れのクラスタに属するかが割合的に算出される。帰属比率πilは0以上1以下の実数であり、数式(2)の制約条件を満たす。すなわち、各サンプルについてのn個のクラスタの帰属比率の合計は1である。Cは、n個のクラスタのうちl番目のクラスタに適用される規格化パラメータである。規格化パラメータCは、l番目のクラスタの標準偏差σに依存して算出される。
【0068】
あるサンプルの生成確率Pは、仮定したn個のガウス分布の重なりもとで当該サンプルが生成される確率を表す。混合ガウス分布法によるクラスタリングは、中心ベクトルμと標準偏差σと帰属比率πilを変動させて、全てのサンプルの生成確率Pの合計を最大化する最適化問題として定義される。この最適化問題を解くために、各サンプルが属するクラスタを仮に1つ選択することを示す隠れ変数を導入することがある。その場合、各サンプルが仮にn個のクラスタのうちの何れか1つのクラスタに分類される。その分類結果に基づいて、n個のクラスタの中心ベクトルμや標準偏差σが更新される。そして、更新した中心ベクトルμや標準偏差σに基づいて、各サンプルの分類先のクラスタを見直す。この処理が、生成確率Pの合計の上昇が収束するまで繰り返される。
【0069】
【数1】
【0070】
【数2】
【0071】
次に、データ前処理部123は、p+c個のサンプルのうち正常ラベルが付与されたc個のサンプルの特徴ベクトルの平均を、平均ベクトルxとして算出する。データ前処理部123は、n個のクラスタを、中心ベクトルμが平均ベクトルxに近い順にソートする。また、データ前処理部123は、サンプル毎に当該サンプルが属する可能性が最大である1つのクラスタを判断する。ここで言う1つのクラスタは、当該サンプルにとって帰属比率πilが最大のクラスタである。データ前処理部123は、n個のクラスタそれぞれについて、そのクラスタに属する正常ラベルのサンプルの個数をカウントする。
【0072】
データ前処理部123は、n個のクラスタのうち、中心ベクトルμが平均ベクトルxに近い方から優先的に1つクラスタを選択し、選択したクラスタを「正常クラスタ」に分類する。データ前処理部123は、正常クラスタに分類されている1以上のクラスタに属する正常ラベルのサンプルの個数を合計し、正常ラベルのサンプルの総数cに対する合計個数の割合を正常カバー率として算出する。データ前処理部123は、正常カバー率が所定の閾値(例えば、90%)以上になるまで、上記の正常クラスタへの分類を繰り返す。これにより、n個のクラスタのうちn個のクラスタが正常クラスタに分類され、残ったn=n-n個のクラスタが異常クラスタに分類される。
【0073】
次に、データ前処理部123は、各サンプルについて、n個のクラスタへの帰属比率πilのうちn個の正常クラスタへの帰属比率を合計して正常度λとして定義する。クラスタリングを通じて、i番目のサンプルに対して数式(3)の帰属比率ベクトルπが算出されている。i番目のサンプルの正常度λは、数式(4)のように定義される。数式(4)において、Nは正常クラスタの集合である。
【0074】
【数3】
【0075】
【数4】
【0076】
データ前処理部123は、最大値1および最小値0を含まず中心値0.5を含む所定の数値範囲と、各サンプルの正常度λとを比較する。所定の数値範囲は、0.2以上0.8以下のように予め定義される。データ前処理部123は、正常度λが所定の数値範囲に属するサンプルを混合サンプルと推定し、混合サンプルグループMに分類する。データ前処理部123は、p+c個のサンプルの中から混合サンプルグループMに分類したサンプルを除外して訓練データを生成する。または、データ前処理部123は、正常度λに応じてp+c個のサンプルに対して重みを付与する。
【0077】
重みの付与では、混合サンプルグループMに属するサンプルに対して、他のサンプルよりも小さい重みが付与される。正常度λが0.5に近いほど重みが小さくなるようにすることが考えられる。例えば、i番目のサンプルの重みwが、w=|λ-0.5|×2、すなわち、正常度λと0.5の差の絶対値の2倍と定義される。この場合、正常度λが1であるサンプルの重みは1になり、正常度λが0であるサンプルの重みは1になり、正常度λが0.5であるサンプルの重みは0になる。
【0078】
なお、混合サンプルを抽出するための指標として、第2の実施の形態では正常サンプルらしさを表す正常度λを定義したが、異常サンプルらしさを表す異常度λ’=1-λを定義するようにしてもよい。また、第2の実施の形態では、正常ラベルのサンプルの平均ベクトルに近い方から正常クラスタに分類し、正常カバー率に応じて、残りを異常クラスタに分類している。これに対して、癌ラベルのサンプルの平均ベクトルに近い方から異常クラスタに分類し、異常カバー率に応じて、残りを正常クラスタに分類してもよい。また、異常クラスタへの帰属比率の合計を異常度λ’として算出してもよい。第2の実施の形態では、「正常」と「異常」が対称の関係にあると共に、その中間的存在である混合サンプルを抽出することが目的である。そのため、正常と異常の対称関係を利用して、上記の混合サンプルの抽出手順を変形することが可能である。
【0079】
図7は、混合サンプルの他の除外例を示す図である。
ここでは、データ前処理として混合サンプルを除外する場合を考える。図7では、正常サンプルを丸形のマークで表現し、混合サンプルをひし形のマークで表現し、癌サンプルを三角形のマークで表現している。図7の正常サンプルは、正常ラベルが付与されたサンプルである。図7の混合サンプルは、癌ラベルが付与されたサンプルのうち、正常細胞と癌細胞が混在したサンプルや癌の進行途上のサンプルなど、客観的に混合サンプルと言えるサンプルである。図7の癌サンプルは、癌ラベルが付与されたサンプルのうち、混合サンプル以外のサンプルである。ただし、癌ラベルが付与されたサンプルが混合サンプルであるか否かの客観的情報を、機械学習装置100は入手できない。
【0080】
全てのサンプルを同等に扱って機械学習を行った場合、特徴空間を境界線151で分割するモデルが生成されてしまう。境界線151は、混合サンプルの影響を強く受けて算出されており、実際には誤った境界線であると言える。
【0081】
これに対して、第2の実施の形態では、特徴空間にクラスタ153,154,155,156,157の5個のクラスタが生成される。また、正常ラベルのサンプルの平均ベクトル158が算出される。すると、平均ベクトル158に近い方からクラスタ153、クラスタ154の順に選択され、クラスタ153,154が正常クラスタに分類される。クラスタ153,154は、正常サンプルの大部分をカバーしている。よって、残りのクラスタ155,156,157が異常クラスタに分類される。
【0082】
そして、各サンプルについて、クラスタ153,154の帰属比率の合計が正常度λとして算出される。図7の混合サンプルの多くは、正常クラスタに分類されたクラスタ154と異常クラスタに分類されたクラスタ155の境界付近に位置する。クラスタ154への帰属比率が正常度λに加算され、クラスタ155への帰属比率が正常度λに加算されないため、混合サンプルの多くは0.5に近い正常度λをもつことになる。その結果、図7の混合サンプルの多くが訓練データから除外される。
【0083】
このような訓練データを用いて機械学習を行った場合、特徴空間を境界線152で分割するモデルが生成される。境界線152は、ノイズとなっていた混合サンプルの大部分の影響を受けずに算出されており、正しい境界線であると言える。よって、有用なバイオマーカーを検出することが可能となる。また、バイオマーカーの値から癌の有無を判別するモデルの判別精度を向上させることができる。
【0084】
なお、第2の実施の形態では、少なくとも混合サンプルグループMに属さないサンプルの全体を用いてモデルを生成している。これに対して、癌サンプルを複数のサブグループに分類し、正常サンプルの全体と1つのサブグループに属する癌サンプルとを用いてモデルを生成することで、複数のサブループに対応する複数のモデルを生成することも可能である。これは、癌細胞が進行度に応じて異なる特徴量をもつ場合、異なる進行度に応じた異なる判別モデルを生成することも有用であるためである。その場合、前述の正常クラスタ以外の残りのクラスタの全てを異常クラスタとして同等に扱う代わり、残りのクラスタそれぞれを癌サンプルのサブグループとして扱うことが考えられる。
【0085】
次に、機械学習装置100の処理手順について説明する。
図8は、バイオマーカー探索の手順例を示すフローチャートである。
(S10)データ前処理部123は、サンプル記憶部121に記憶されたサンプルテーブル126の複数のサンプルに対して前処理を行い、前処理済みの訓練データをモデル生成部124に提供する。データ前処理の詳細は後述する。
【0086】
(S11)モデル生成部124は、前処理された訓練データを用いて、m個の特徴量とラベルとの間の関係を示すモデルを生成する。例えば、モデル生成部124は、m個の遺伝子発現量からサンプルを癌ありと癌なしに分類するSVMモデルを生成する。
【0087】
(S12)モデル生成部124は、ステップS11のモデルの学習結果からバイオマーカーを決定する。例えば、モデル生成部124は、m個の遺伝子発現量に対応するm個のモデル係数のうち絶対値が大きい方から所定個(例えば、20個程度)のモデル係数を選択し、選択したモデル係数に対応する遺伝子の集合をバイオマーカーに決定する。
【0088】
(S13)モデル生成部124は、前処理された訓練データを用いて、バイオマーカーとラベルとの間の関係を示すモデルを生成する。例えば、訓練データの各サンプルからm個の遺伝子発現量のうちバイオマーカーの遺伝子発現量を抽出し、バイオマーカーの遺伝子発現量からサンプルを癌ありと癌なしに分類するSVMモデルを生成する。
【0089】
(S14)モデル生成部124は、バイオマーカーに含まれる遺伝子の識別情報など、決定したバイオマーカーを示すバイオマーカー情報をモデル記憶部122に保存する。また、モデル生成部124は、ステップS13で生成したバイオマーカーとラベルとの間の関係を示すモデルをモデル記憶部122に保存する。モデル生成部124は、バイオマーカー情報を表示装置111に表示する。モデル生成部124は、バイオマーカーとラベルとの間の関係を示すモデルを表示装置111に表示してもよい。
【0090】
(S15)疾病判定部125は、ユーザからバイオマーカーの値の入力を受け付ける。バイオマーカーの値は、バイオマーカーに含まれる所定個の遺伝子の発現量である。
(S16)疾病判定部125は、モデル記憶部122からモデルを読み出し、ステップS15で受け付けたバイオマーカーの値をモデルに入力する。疾病判定部125は、モデルから、癌の有無または癌の尤度を示す判定結果を取得する。疾病判定部125は、モデルによる判定結果を表示装置111に表示する。
【0091】
図9は、データ前処理の手順例を示すフローチャートである。
データ前処理は、前述のステップS10で実行される。
(S20)データ前処理部123は、サンプルテーブル126の複数のサンプルについて特徴量ベクトルを規格化する。例えば、データ前処理部123は、遺伝子毎に発現量の分布が所定の数値範囲になるように数値変換を行う。また、データ前処理部123は、特異値分解により特徴空間の次元数を削減する。例えば、データ前処理部123は、10,000程度の特徴量の個数を100程度に削減する。
【0092】
(S21)データ前処理部123は、ステップS20の規格化および次元削減を行った後の特徴量ベクトルに基づいて、複数のサンプルのクラスタリングを行う。クラスタリングには、例えば、混合ガウス分布法が用いられる。クラスタリングでは、所定数のクラスタが生成され、サンプル毎に所定数のクラスタそれぞれへの帰属比率πが算出される。
【0093】
(S22)データ前処理部123は、複数のサンプルのうち正常ラベルが付与されたサンプルの特徴量ベクトルを平均化して、平均ベクトルを算出する。
(S23)データ前処理部123は、ステップS21で生成されたクラスタのうち、中心ベクトルがステップS22の平均ベクトルに近い方からクラスタを1つ選択する。
【0094】
(S24)データ前処理部123は、選択済みの1以上のクラスタが、正常ラベルが付与されたサンプルの90%以上をカバーしているか判断する。90%以上をカバーしている場合はステップS25に進み、それ以外の場合はステップS23に戻る。
【0095】
(S25)データ前処理部123は、ステップS23で選択された1以上のクラスタを正常クラスタに分類し、残りのクラスタを異常クラスタに分類する。
(S26)データ前処理部123は、サンプル毎に、正常クラスタに分類されたクラスタへの帰属比率πを合計して正常度λとして算出する。
【0096】
(S27)データ前処理部123は、正常度λが0.2以上かつ0.8以下であるサンプルを検索し、該当するサンプルが混合サンプルであると推定する。
(S28)データ前処理部123は、サンプルテーブル126の複数のサンプルの中からステップS27で推定した混合サンプルを除外し、除外されずに残ったサンプルから形成される訓練データを生成する。または、データ前処理部123は、サンプルテーブル126の複数のサンプルに対して、ステップS27で算出された正常度λに応じた重みを付与する。正常度λが0.5に近いほど重みが小さくなり、正常度λが0.5から遠いほど重みが大きくなる。ステップS27で推定した混合サンプルには、小さい重みが付与されることになる。データ前処理部123は、サンプルテーブル126の全てのサンプルを含み、各サンプルに重みが付与された訓練データを生成する。そして、データ前処理部123は、訓練データをモデル生成部124に提供する。
【0097】
第2の実施の形態の機械学習装置100によれば、多数の遺伝子発現量と癌の有無を示すラベルとをそれぞれ含む複数のサンプルを用いて機械学習が行われ、癌の有無と相関のある少数の遺伝子の集合がバイオマーカーとして検出される。また、バイオマーカーの値と癌の有無との間の関係を示すモデルが生成される。よって、バイオマーカーを利用した癌の診断や癌治療の効果の評価が可能となる。
【0098】
また、複数のサンプルの特徴量ベクトルの分布から、サンプル毎に正常サンプルらしさを表す正常度が算出される。そして、正常度が0.5に近いサンプルが混合サンプルと推定され、機械学習において混合サンプルの影響が抑制されるようにデータ前処理が行われる。例えば、混合サンプルが訓練データから除外されるか、または、混合サンプルの重みが他のサンプルよりも小さく設定される。よって、混合サンプルの影響で正常サンプルと癌サンプルの境界が不明確になることを抑制でき、バイオマーカーの値から癌の有無を判別するモデルの判別精度を向上させることができる。また、癌と相関のあるバイオマーカーを検出するバイオマーカー探索が成功する可能性が高くなる。
【符号の説明】
【0099】
10 機械学習装置
11 記憶部
12 処理部
13a,13b,13c,13d クラスタ
14 統合クラスタ
図1
図2
図3
図4
図5
図6
図7
図8
図9