JP2016151932A - データ分析装置、データ分析方法、およびデータ分析プログラム - Google Patents

データ分析装置、データ分析方法、およびデータ分析プログラム Download PDF

Info

Publication number
JP2016151932A
JP2016151932A JP2015029606A JP2015029606A JP2016151932A JP 2016151932 A JP2016151932 A JP 2016151932A JP 2015029606 A JP2015029606 A JP 2015029606A JP 2015029606 A JP2015029606 A JP 2015029606A JP 2016151932 A JP2016151932 A JP 2016151932A
Authority
JP
Japan
Prior art keywords
hash
learning
data
input data
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015029606A
Other languages
English (en)
Other versions
JP6334431B2 (ja
JP2016151932A5 (ja
Inventor
琢磨 柴原
Takuma Shibahara
琢磨 柴原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015029606A priority Critical patent/JP6334431B2/ja
Priority to PCT/JP2015/077796 priority patent/WO2016132588A1/ja
Priority to US15/550,508 priority patent/US11138515B2/en
Publication of JP2016151932A publication Critical patent/JP2016151932A/ja
Publication of JP2016151932A5 publication Critical patent/JP2016151932A5/ja
Application granted granted Critical
Publication of JP6334431B2 publication Critical patent/JP6334431B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Epidemiology (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】高速かつ高精度なデータ分析を可能にする。
【解決手段】プロセッサは、各学習用入力データについて、複数の第1ハッシュ関数の各々に与えることにより、複数のデータ項目の値に対応する複数の第1ハッシュ値を第1ハッシュ関数ごとに算出する。各学習用入力データについて、複数の第1ハッシュ値の中から特定の第1ハッシュ値を第1ハッシュ関数ごとに選択し、特定の第1ハッシュ値の各々を第2ハッシュ関数に与えることにより、第2ハッシュ値を複数算出する。特定の第1ハッシュ値の各々に対応する第2ハッシュ値を集約することにより、学習用入力データ群の特徴を示す学習用特徴ベクトルを生成する。
【選択図】図1

Description

本発明は、データを分析するデータ分析装置、データ分析方法、およびデータ分析プログラムに関する。
従来、例えば、商品の購買情報から購入者の種類を識別して、商品を推薦(レコメンデーション)する際に、データベースに格納されている全商品について購入の有無を調べ上げる技術がある。これにより、類似した購入傾向にある購買者が分類される。その際、商品の項目数が数万から数億にのぼるため、計算機が全項目を単純に調べ上げる際に膨大な時間を要する。
このため、特許文献1のシステムでは、複数ユーザの各々についてそれぞれの興味集合を取得し、ユーザの各々についてそれぞれの興味集合のM個の最小ハッシュ値を決定し、複数ユーザの各々をそれぞれのユーザに対して確立されたそれぞれのM個のクラスタの各々に割り当ることで、レコメンデーション等を行う。
特許文献1のシステムが、n−bitハッシュ関数をK個用いて、あるユーザの購買情報をあらわす2値のスカラ値を要素とするベクトル列(例えば、要素の値「0」は未購入、「1」は購入。以降、特徴ベクトルと呼称する。)を生成すると、特徴ベクトルのサイズはD=2n(K/n)次元となる。特許文献1において、次のような標準的なパラメータ(ハッシュ関数の個数K=100、ビット数n=32)を与えた場合、特徴ベクトルの次元数は429,496,729,600次元にも及ぶ。
また、非特許文献1では、特徴ベクトルを下位b−bitに打ち切ることで次元削減を図る手法が提案されている。例えば、ハッシュ関数の個数K=100かつビット数n=32から生成された429,496,729,600次元の特徴ベクトルをb=2bitで打ち切りを行った場合、最終的な特徴ベクトルのサイズは200次元となる。
特開2013−033551号公報
Li, Ping, AND Arnd Christian Koenig. "Theory AND applications of b−bit minwise hashing." Communications of the ACM 54.8 (2011)
上述した特許文献1では、ハッシュ関数を用いて興味集合のM個の最小ハッシュ値を決定するが、特徴ベクトルの次元数が膨大になるため、計算処理に時間がかかるという問題がある。
また、上述した非特許文献1では、特徴ベクトルを下位b−bitに打ち切ることで次元数が削減されるため、特許文献1に比べて計算処理時間は短縮化されるが、b−bit打ち切りにより、分析精度が低下するという問題がある。
さらに、たとえば、薬剤などの購買情報により薬効を分析する用途では、売買の有無といった2値の項目情報だけではなく、薬剤の投薬回数や処方量などの多値や実数値を含む項目を扱う場合がある。しかしながら、特許文献1および非特許文献1のいずれも、分析対象の項目の値が多値や実数値を持つ場合の特徴ベクトル化が考慮されていない。
本発明は、高速かつ高精度なデータ分析を可能にすることを目的とする。
本願において開示される発明の一側面となるデータ分析装置、データ分析方法、およびデータ分析プログラムは、複数の第1データ項目の値を有する学習用入力データの集合である学習用入力データ群を前記記憶デバイスから取得する第1取得処理と、各々固有の第1ハッシュテーブルを生成することにより第1ハッシュ関数を複数個設定する第1設定処理と、前記第1取得処理によって取得された学習用入力データ群の各学習用入力データについて、前記第1設定処理によって設定された前記複数の第1ハッシュ関数の各々に与えることにより、前記複数のデータ項目の値に対応する複数の第1ハッシュ値を前記第1ハッシュ関数ごとに算出する第1算出処理と、前記各学習用入力データについて、前記第1算出処理によって前記第1ハッシュ関数ごとに算出された前記複数の第1ハッシュ値の中から所定の統計的条件を満たす特定の第1ハッシュ値を前記第1ハッシュ関数ごとに選択する第1選択処理と、第2ハッシュテーブルを生成することにより第2ハッシュ関数を設定する第2設定処理と、前記各学習用入力データについて、前記第1選択処理によって前記第1ハッシュ関数ごとに選択された特定の第1ハッシュ値の各々を前記第2設定処理によって設定された第2ハッシュ関数に与えることにより、第2ハッシュ値を複数算出する第2算出処理と、前記第2算出処理によって算出された結果、前記特定の第1ハッシュ値の各々に対応する前記第2ハッシュ値を集約することにより、前記学習用入力データ群の特徴を示す学習用特徴ベクトルを生成する第1生成処理と、を実行することを特徴とする。
本発明の代表的な実施の形態によれば、高速かつ高精度なデータ分析を可能にすることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1にかかる特徴ベクトルの生成例を示す説明図である。 図1に示した特徴量算出処理の詳細な処理例を示す説明図である。 データ分析システムのシステム構成例を示すブロック図である。 学習用データ集合の一例を示す説明図である。 予測用データ集合の一例を示す説明図である。 データ分析における設定画面例を示す説明図である。 実施例1にかかるデータ分析システムによるデータ分析処理手順例を示すフローチャートである。 図7に示した学習処理(ステップS702)の詳細な処理手順例を示すフローチャートである。 図8に示した学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例を示すフローチャートである。 図7に示した予測処理(ステップS705)の詳細な処理手順例を示すフローチャートである。 図10に示した予測用特徴ベクトル生成処理(ステップS1005)の詳細な処理手順例を示すフローチャートである。 実施例2にかかる特徴量算出処理HT1の詳細な処理例を示す説明図である。 実施例2にかかる特徴ベクトルの生成例を示す説明図である。 実施例2にかかる学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例を示すフローチャートである。 交差検証の実行例を示す説明図である。 実施例3にかかる学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例1を示すフローチャートである。 実施例3にかかる学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例2を示すフローチャートである。
以下では、本発明の実施例について、適宜、図面を参照しながら詳細に説明する。また、実施例では、薬効分析を例に挙げて説明するが、薬効分析は一例であり、商品レコメンデーションやニュース記事の分析など様々な用途に適用される。
図1は、実施例1にかかる特徴ベクトルの生成例を示す説明図である。既知である学習用入力データ群と学習用出力データ群が用意された場合、特徴ベクトルの生成が可能である。薬効分析の場合、学習用入力データ群は、たとえば、患者ごとに、性別、年齢、薬の処方量などのデータ項目を含む学習用因子データ群となる。また、学習用出力データ群は、たとえば、学習用因子データ群と同じ患者ごとに、寛解の見通し、白血球数(WBC)、赤血球数(RBC)、リンパ球数(Lymphocyte)、肝機能検査値(ALT)などを含む診断データ群である。学習用因子データ群および学習用診断データ群としては、たとえば、病院における電子カルテやレセプトに記載された情報が用いられる。
学習用因子データ群をDとすると、その各学習用因子データは、下記式(1)により表現され、学習用診断データ群をYとすると、その各学習用診断データは、下記式(2)により表現される。
={x |i∈I}・・・(1)
={y |p∈P}・・・(2)
nは学習用因子データ群Dおよび学習用診断データ群Yの各データに関する患者を特定する識別情報であり、n=1,2,…,Nである。iは、学習用因子データにおける性別(i=1)、年齢(i=2)、薬剤Aの処方量(i=3)、薬剤Bの処方量(i=4)、…などのデータ項目を特定する識別情報であり、i=1,2,…,Iである。pは、学習用診断データにおける寛解の見通し(p=1)、白血球数(p=2)、赤血球数(p=3)、…などのデータ項目を特定する識別情報であり、p=1,2,…,Pである。
また、学習用特徴ベクトルは、患者ごとに生成される。n番目の患者の学習用特徴ベクトルをXとする。
学習用特徴ベクトルXは、ある診断項目(たとえば、寛解の見通し)について患者に共通な学習パラメータwを求めるために生成される。具体的には、各学習用特徴ベクトルXが生成されると、各学習用特徴ベクトルXと、学習用因子データ群Dと、ある診断項目(たとえば、寛解の見通し)についての各患者の学習用診断データ列と、を用いて、support vector machine(SVM)などの機械学習を実行することにより、学習パラメータwが算出される。そして、学習パラメータwと別の患者の因子データ群(以下、予測用因子データ群)とを用いることにより、ある診断項目(たとえば、寛解の見通し)についての別の患者の診断データ列を予測することができる。
学習用特徴ベクトルXの生成では、ハッシュプール族Gが事前に生成される。ハッシュプール族Gは、下記式(3)に示すように、ハッシュプールGの集合である。
G={Gm|m=1,2,…,M}・・・(3)
各ハッシュプールGは、複数のハッシュ関数を含む。実施例1では、n=1かつm=1に注目して説明するが、n=2,…,N、m=2,…,Mについても同様な処理となる。
ハッシュプールGについて、(A)特徴ベクトル化処理、(B)集約処理(Odd−filtering)を実行することにより、特徴ベクトルXが生成される。
(A)特徴量算出処理では、特徴量算出処理HTk(k=1,2,…,K)が実行される。特徴量算出処理HTkは、それぞれ異なるハッシュ関数を用いて、学習用因子データDから、学習用因子データDの各データ項目の値に対応する特徴量を求め、その特徴量から最小値を選択する処理である。
異なるハッシュ関数とは、ハッシュアルゴリズムが異なるハッシュ関数でもよく、ハッシュアルゴリズムが同一でも、内部で保持するハッシュテーブルが異なるハッシュ関数でもよい。なお、異なるハッシュ関数の各ハッシュ値のビット幅が同一(a−bit)である。aは、1以上の整数である。特徴量算出処理HTkでは、患者ごとに1個の最小値が得られる。
(B)集約処理は、ハッシュ関数を用いて、(A)特徴量算出処理で得られた最小値を集約する。実施例1では、Odd−filteringによりるモジュラ計算で集約される。Odd−filteringは、集約値である2値(0と1)がフリップを繰り返す処理である。ここでは、集約値を2値としたが、3値以上でもよい。なお、ここでのハッシュ関数は、ハッシュ値のビット幅がb−bitハッシュ関数であり、b個のハッシュ値が用意され、それぞれ集約値に対応する。bは、1以上の整数である。
たとえば、学習用因子データDを用いた特徴量算出処理HT1で得られた最小値「6」は、b−bitハッシュ関数により生成されるハッシュテーブルのハッシュ値hb1〜hb(b)のうち、ハッシュ値hb2に対応する。したがって、ハッシュ値hb2に対応する集約値は初期値の「0」から「1」にフリップされる。つぎに、学習用因子データDを用いた特徴量算出処理HT2で得られた最小値「4」も、ハッシュ値hb2に対応する。したがって、ハッシュ値hb2に対応する集約値は「1」から「0」にフリップされる。
bの値を小さくするほど、同一ハッシュ値に衝突する可能性が高くなる。(B)集約処理では、この性質を利用して、(A)特徴量算出処理で得られた最小値を集約する。
このように(B)集約処理が完了することにより、ハッシュ値hb1〜hb(b)の集約値が配列したサブ特徴ベクトルx が生成される。ハッシュプールG〜Gについても同様にして、サブ特徴ベクトルx 〜x が生成される。そして、サブ特徴ベクトルx 〜x を連結することにより、学習用因子データDの特徴を示す特徴ベクトルXが生成される。なお、学習用因子データD〜Dについても同様にして、学習用因子データD〜Dの特徴を示す特徴ベクトルX〜Xが生成される。
図2は、図1に示した特徴量算出処理HT1の詳細な処理例を示す説明図である。特徴量算出処理HT1では、各学習用因子データDからそれぞれ最小値が得られるが、ここでは、n=1の場合について説明する。
特徴量算出処理HT1では学習用因子データDが与えられると、(A)正規化、(B)a−bitハッシュ計算、(C)重みづけ、(D)最小値選択が実行される。なお、学習用因子データDの性別、年齢、薬剤の処方量といったデータ項目には、一意の識別情報i(i=1,2,…,N)が割り当てられる。図2では、N=500,000とした。
(A)正規化では、学習用因子データDにおけるデータ項目の値が正規化される。たとえば、データ項目が「年齢」のような多値の場合、データ項目の最大値、最小値を用いて、0以上1以下の値域となるように正規化する。
データ項目が「薬剤の処方量」のような実数値の場合も、その薬剤の処方量が取りうる範囲を0以上1以下の範囲で正規化する。なお、データ項目が「性別」の場合、取りうる値は、例として男性(=1)と女性(=0)の2値であるため、正規化せずにそのまま利用される。
(B)a−bitハッシュ計算は、正規化前の学習用因子データDの値が非0であるデータ項目を選択する。たとえば、i=1のデータ項目である性別の値が「女性」(=0)の場合、選択されないが、年齢の値は「13」であるため、選択される。正規化前の値が選択されたデータ項目については、再度jを用いて採番される。図2では、例として4000,000個のデータ項目が選択されたものとする。
そして、(B)a−bitハッシュ計算は、上述したa−bitハッシュ関数により生成されたハッシュテーブルを用いて、正規化前の値が選択されたデータ項目の正規化後の値と、当該ハッシュテーブルにおいて、正規化前の値が選択されたデータ項目の識別情報に対応するハッシュ値hajと、を対応付ける。
たとえば、正規化前の値「13(≠0)」が選択されたデータ項目「年齢」の正規化後の値「0.1」と、当該ハッシュテーブルにおいて、正規化前の値「13(≠0)」が選択されたデータ項目「年齢」の識別情報(j=1)に対応するハッシュ値ha1(=1000)と、が対応付けられる。
(C)重みづけは、(B)a−bitハッシュ計算で対応付けられた正規化後の値と、対応するハッシュ値hajと、を乗算する。
(D)最小値選択は、(C)重みづけで得られた値群の中から最小値を選択する。これにより、学習用因子データDから、学習用因子データDの各データ項目の値に対応する特徴量の最小値が得られる。なお、ここでは、最小値を選択することとしたが、最大値や中央値、平均値、ランダムな値などの他の統計的条件を満たす統計値でもよい。
なお、図2の特徴量算出処理HT1では、学習用因子データDを用いた場合について説明したが、学習用因子データD〜Dについても特徴量算出処理HT1が実行される。また、図2では、特徴量算出処理HT1について説明したが、他の特徴量算出処理HT2〜HTKでも同様に実行される。
このように、実施例1では、a−bitハッシュ関数を用いて、特徴量算出処理HTkにより学習用因子データDの各データ項目の値に対応する特徴量の最小値を算出し、b−bitハッシュ関数を用いて、最小値を集約するため、データ分析の高速化を実現することができる。
また、学習用因子データDの正規化されたデータ項目の値をa−bitハッシュ関数で重みづけした特徴量の最小値を、Odd−filteringで集約することにより、特徴ベクトルXが生成されるため、特徴ベクトルXの各要素は、学習用因子データDの各データ項目の2値、多値、実数値が考慮された値となる。したがって、データ分析の高精度化を図ることができる。
また、集約処理において、Odd−filteringで取りうる値を小さく設定することにより、省メモリ化を図ることができる。
<システム構成例>
図3は、データ分析システムのシステム構成例を示すブロック図である。図3では、サーバ−クライアント型のデータ分析システムを例に挙げて説明するが、スタンドアロン型でもよい。(A)は、データ分析システムのハードウェア構成例を示すブロック図であり、(B)は、データ分析システムの機能的構成例を示すブロック図である。(A)および(B)において同一構成には同一符号を付す。
データ分析システムは、クライアント端末300とサーバであるデータ分析装置320とがネットワーク310で通信可能に接続される構成である。
(A)において、クライアント端末300は、補助記憶装置であるHDD(hard disk drive)301、主記憶装置であるメモリ302、プロセッサ303、キーボードやマウスである入力装置304、モニタ205を有する。データ分析装置320は、補助記憶装置であるHDD321、主記憶装置であるメモリ322、プロセッサ323、キーボードやマウスである入力装置324、モニタ325を有する。なお、主記憶装置、補助記憶装置、および、図示しない可搬型の記憶媒体を総称して、記憶デバイスと称す。
(B)において、クライアント端末300は、クライアントデータベース(DB)351を有する。クライアントDB351は、HDD301やメモリ302などの記憶デバイスに格納される。クライアントDB351には、予測用データ集合352と、予測結果353と、が格納される。予測用データ集合352については図5を用いて後述する。予測結果353は、予測処理部362からネットワーク310経由で得られたデータである。なお、サーバ−クライアント型の場合、クライアント端末300は1台以上存在する。
データ分析装置320は、学習処理部361と、予測処理部362と、サーバデータベース(DB)363と、を有する。学習処理部361は、図1および図2に示した処理を実行し、学習結果365を出力する機能部である。学習結果365には、上述した学習パラメータwが含まれる。学習処理部361の詳細な処理手順については、図7〜図9を用いて後述する。
予測処理部362は、学習結果365を用いて、図1および図2に示した処理を実行し、予測結果353をクライアント端末300に出力する機能部である。予測処理部362の詳細な処理手順については、図7、図10、図11を用いて後述する。学習処理部361および予測処理部362は、HDD321、メモリ322などの記憶デバイスに記憶されたプログラムをプロセッサ323に実行させることによりその機能を実現する。
サーバDB363は、学習用データ集合364と、学習結果365と、を格納する。学習用データ集合364は、上述した学習用入力データ群(学習用因子データ群D)と、学習用出力データ群(学習用診断データ群Y)と、を含む。学習結果365は、学習処理部361からの出力データである。
なお、データ分析装置320は複数台で構成されてもよい。たとえば、負荷分散のため、データ分析装置320が複数存在してもよい。また、データ分析装置320は、機能ごとに複数台で構成されてもよい。たとえば、学習処理部361およびサーバDB363を含む第1のサーバと、予測処理部362およびサーバDB363を含む第2のサーバとで構成されてもよい。また、また、学習処理部361および予測処理部362を含む第1のデータ分析装置と、サーバDB363を含む第2のデータ分析装置とで構成されてもよい。また、学習処理部361を含む第1のサーバと、予測処理部362を含む第2のデータ分析装置と、サーバDB363を含む第3のデータ分析装置とで構成されてもよい。
<学習用データ集合>
図4は、学習用データ集合364の一例を示す説明図である。学習用データ集合364は、学習用入力DB410と、学習用出力DB420と、を有する。学習用入力DB410は、学習用入力データ群(学習用因子データ群D)を格納するデータベースであり、学習用出力DB420は、学習用出力データ群(学習用診断データ群Y)を格納するデータベースである。
学習用入力DB410は、データ項目として、ID400と、性別(i=1)401と、年齢(i=2)412と、薬剤A(i=3)413と、薬剤B(i=4)414と、…、薬剤Ω(i=500,000)415と、を有し、各データ項目の値の組み合わせにより、学習用因子データDを構成する。実施例1では学習用入力DB410のデータ項目iの総数Iを例としてI=500,000とした。
ID400は、値として、分析対象である患者を一意に特定する数値n(=1,2,…,N)を格納するデータ項目である。性別(i=1)401には、値として、ダミー変数化処理により、ID400で特定されるnの性別を特定する数値(たとえば、女性なら「0」、男性なら「1」)が格納される。なお、データ項目の値が3値以上の多値の場合には、1−of−K表現(例えば、K個の要素のうちどれか1つだけ「1」を取り他は「0」)を用いた項目に変換される。
年齢(i=2)412は、値として、数値nにより特定される患者の年齢を格納するデータ項目である。薬剤A(i=3)413、薬剤B(i=4)414、…、薬剤Ω(i=500,000)415は、それぞれ、値として、数値nにより特定される患者に処方された薬剤A,B,…,Ωの処方量(実数)が格納される。
学習用出力DB420は、データ項目として、寛解の見通し(p=1)421と、白血球数(p=2)422と、赤血球数(p=3)423と、リンパ球数(p=4)424と、…、肝機能検査値(p=P)425と、を有し、各データ項目の値の組み合わせにより、学習用診断データYを構成する。
寛解の見通し(p=1)421は、値として、数値nにより特定される患者の寛解の見通しを示す増悪(=1)、不変(=2)、軽減(=3)、寛解(=4)の4値のいずれかが格納されるデータ項目である。白血球数(p=2)422、赤血球数(p=3)423、リンパ球数(p=4)424、…、肝機能検査値(p=P)425は、値として、それぞれデータ項目に応じた実数値を格納するデータ項目である。
<予測用データ集合>
図5は、予測用データ集合の一例を示す説明図である。予測用入力DB510は、データ項目iとして、ID500と、性別(i=1)511と、年齢(i=2)912と、薬剤A(i=3)513と、薬剤B(i=4)514と、…、薬剤Ω(i=200,000)515と、を有し、各データ項目の値の組み合わせにより、予測用因子データD´n´を構成する。実施例1では学習用入力DB410のデータ項目iの総数I´を例としてI´=200,000とした。
D´n´={xn´ |i∈I´}・・・(4)
n´は、予測対象である患者を一意に特定する数値(n´=1,2,…,N´)である。また、予測用因子データD´n´の集合を予測用因子データ群D´とする。
ID500は、値として、数値n´(=1,2,…,N´)を格納するデータ項目である。ID500の値は、ID400の値と異なる。すなわち、ID500で特定される患者と、ID400で特定される患者とは、異なる患者である。性別(i=1)511には、値として、ダミー変数化処理により、ID500で特定されるn´の性別を特定する数値(たとえば、女性なら「0」、男性なら「1」)が格納される。なお、データ項目の値が3値以上の多値の場合には、1−of−K表現(例えば、K個の要素のうちどれか1つだけ「1」を取り、他は「0」)を用いた項目に変換される。
年齢(i=2)512は、値として、数値n´により特定される患者の年齢を格納するデータ項目である。薬剤A(i=3)513、薬剤B(i=4)514、…、薬剤Ω(i=200,000)515は、それぞれ、値として、数値n´により特定される患者に処方された薬剤A,B,…,Ωの処方量(実数)が格納される。
学習用出力DB520は、データ項目として、寛解の見通し521と、白血球数522と、赤血球数(p=3)523と、リンパ球数524と、…、肝機能検査値525と、を有する。
データ項目521〜525の値は予測対象であるため値が格納されていない。データ項目521〜525には、データ分析装置320の予測処理部362からの予測結果353がクライアント端末300により格納されることになる。
<設定画面例>
図6は、データ分析における設定画面例を示す説明図である。設定画面600は、たとえば、クライアント端末300のモニタ305またはデータ分析装置320のモニタ325により表示される。
設定画面600は、ハッシュプール数入力欄601と、ハッシュ関数個数入力欄602と、a−bitハッシュ関数タイプ選択欄603と、b−bitハッシュ関数タイプ選択欄604と、a−bit幅入力欄605と、b−bit幅入力欄606と、を含む。
ハッシュプール数入力欄601は、ハッシュプールGの個数(ハッシュプール数m)の最大値(総数)Mを入力する欄である。ハッシュ関数個数入力欄602は、a−bitハッシュ関数個数kの最大値(総数)Kを入力する欄である。
a−bitハッシュ関数タイプ選択欄603は、a−bitハッシュ関数のタイプであるハッシュアルゴリズムを選択する欄である。例として、FNVやMurmurHash、MD5、SHA−2、SHA−3があり、ユーザ操作で選択可能である。図6では、MurmurHash631が選択されている。また、Random selection632は、上述したa−bitハッシュ関数のいずれかのハッシュアルゴリズムがランダムで選択される選択肢である。Random selection632が選択された場合、後述の処理(図8)において、ハッシュプール数mがインクリメントされる都度、上述したa−bitハッシュ関数のいずれかのハッシュアルゴリズムがランダムで選択される。
b−bitハッシュ関数タイプ選択欄604は、b−bitハッシュ関数のタイプであるハッシュアルゴリズムを選択する欄である。例として、FNVやMurmurHash、MD5、SHA−2、SHA−3があり、ユーザ操作で選択可能である。図6では、FNV641が選択されている。また、Random selection642は、上述したb−bitハッシュ関数のいずれかのハッシュアルゴリズムがランダムで選択される選択肢である。Random selection642が選択された場合、後述の処理(図8)において、ハッシュプール数mがインクリメントされる都度、上述したb−bitハッシュ関数のいずれかのハッシュアルゴリズムがランダムで選択される。
a−bit幅入力欄605は、a−bitハッシュ関数のハッシュ値のビット幅aを入力する欄である。b−bit幅入力欄606は、b−bitハッシュ関数のハッシュ値のビット幅bを入力する欄である。
<データ分析処理手順例>
図7は、実施例1にかかるデータ分析システムによるデータ分析処理手順例を示すフローチャートである。まず、学習処理部361は、初期設定を実行する(ステップS700)。初期設定では、図6の設定画面600に各値が入力または選択される。なお、初期設定では、図6で図示されていないが、データ項目421〜425から、予測対象となる予測値のいずれかのデータ項目も選択される。選択されたデータ項目の値の列を教師データと称す。
つぎに、学習処理部361は、サーバDBから学習用入力データ群(学習用因子データ群D)を取得する(ステップS701)。このとき、学習処理部361は、特徴ベクトルとして要素を持たない空の学習用特徴ベクトルXを生成する。そして、学習処理部361は、図1および図2に示したように、学習処理を実行する(ステップS702)。学習処理(ステップS702)の詳細については、図8で説明する。学習処理(ステップS702)により、学習結果365が出力される。そして、学習処理部361は、学習結果365をサーバDB363に保存する(ステップS703)。
つぎに、予測処理部362は、クライアントDB351から予測用入力データ群(予測用因子データ群D´)を取得し、サーバDB363から学習結果365を取得する(ステップS704)。また、予測処理部362は、サーバDB363から教師データを取得する。たとえば、データ項目iとして寛解の見通し421が選択された場合、予測処理部362は、学習用出力データ群(学習用診断データ群Y)の寛解の見通し421について、ID400の値1〜N(=300,000)までの値の列(軽減(=3)、不変(=2)、増悪(=1)、…、寛解(=4))である教師データy を取得する。また、予測処理部362は、特徴ベクトルとして要素を持たない空の予測用特徴ベクトルX´n´を生成する。
そして、予測処理部362は、ステップS704で取得したデータを用いて、予測処理を実行する(ステップS705)。予測処理(ステップS705)の詳細については、図10で説明する。予測処理(ステップS705)により、予測結果353がクライアント端末300に出力される。
クライアント端末300は、予測結果353をクライアントDB351に保存する(ステップS706)。予測結果353は、クライアントDB351に格納されている予測用データ集合352の学習用出力DB920に格納される。たとえば、予測対象となるいずれかのデータ項目iとして寛解の見通し421が選択された場合、予測結果353は、予測用因子データ群D´のID500の各値n´に対応する寛解の見通し421の予測値y´n´ である。
図8は、図7に示した学習処理(ステップS702)の詳細な処理手順例を示すフローチャートである。まず、学習処理部361は、図2の(A)正規化で説明したように、学習用入力データ群(学習用因子データ群D)を正規化する(ステップS801)。
具体的には、たとえば、学習処理部361は、各学習用因子データDについて、下記式(5)によりデータ項目ごとに正規化する。下記式(5)において、x は、正規化前におけるID400がnであるデータ項目iの値、x maxは、データ項目iの列の値x の最大値、x minは、データ項目iの列の値x の最小値、nor(x )は、x を正規化した値である。
Figure 2016151932
また、学習用因子データDnの正規化後の学習用因子データnor(D)は、以下の通りである。
nor(D)={nor(x )|i∈I}・・・(6)
最大値x maxおよび最小値x minは正規化係数であり、学習処理部361は、正規化係数Z として保存する。
={(x min,x max)|i∈I}・・・(7)
つぎに、学習処理部361は、ハッシュプール数mをm=1に設定し(ステップS802)、ハッシュプールGを生成する(ステップS803)。学習処理部361は、正規化後の学習用因子データnor(D)の各々について、b次元のゼロべクトルであるサブ特徴ベクトルx を生成する。
つぎに、学習処理部361は、ハッシュプールGについて、b−bitハッシュ関数hを設定する(ステップS804)。b−bitハッシュ関数は、ランダム値をシードとしたハッシュ関数である。具体的には、たとえば、学習処理部361は、図6の設定画面600のb−bitハッシュ関数タイプ選択欄604で選択されたアルゴリズムを用いて、当該アルゴリズムに応じたハッシュテーブルを、ランダム値を用いて生成する。このハッシュテーブルは、ランダム値と、当該ランダム値をb−bitハッシュ関数に与えて得られたハッシュ値とを対応付けたテーブルとなる。ハッシュ値のハッシュ幅は、図6のb−bit幅入力欄606で入力された値となる。
そして、学習処理部361は、図1および図2に示したように、学習用特徴ベクトル生成処理を実行する(ステップS805)。学習用特徴ベクトル生成処理(ステップS805)の詳細については図9で説明する。学習用特徴ベクトル生成処理(ステップS805)では、ハッシュプールGについて、学習用特徴ベクトルX が生成される。学習用特徴ベクトルX は、ハッシュプールGにおいて学習用因子データDの特徴を示す特徴ベクトルである。
このあと、学習処理部361は、ハッシュプール数mがハッシュプール数mの最大値M以下であるか否かを判断する(ステップS806)。最大値M以下である場合(ステップS806:Yes)、学習処理部361はハッシュプールGを生成する必要があるため、ハッシュプール数mをインクリメントして(ステップS807)、ステップS803に戻る。
一方、最大値M以下でない場合(ステップS806:No)、学習処理部361は、学習パラメータwを算出する(ステップS808)。学習パラメータwの算出(ステップS808)については、学習用特徴ベクトル生成処理(ステップS805)で生成される学習用特徴ベクトルX を用いるため、学習用特徴ベクトル生成処理(ステップS805)の説明後に詳細を説明する。
これにより、学習処理部361は、学習処理(ステップS702)を終了し、ステップS703を実行する。
図9は、図8に示した学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例を示すフローチャートである。まず、学習処理部361は、a−bitハッシュ関数個数kの初期値として、k=1を設定する(ステップS901)。
つぎに、学習処理部361は、ハッシュプールGについて、a−bitハッシュ関数H を設定する(ステップS902)。a−bitハッシュ関数は、b−bitハッシュ関数と同様、ランダム値をシードとしたハッシュ関数である。具体的には、たとえば、学習処理部361は、図6の設定画面600のa−bitハッシュ関数タイプ選択欄603で選択されたアルゴリズムを用いて、当該アルゴリズムに応じたハッシュテーブルを、ランダム値を用いて生成する。このハッシュテーブルは、ランダム値と、当該ランダム値をa−bitハッシュ関数に与えて得られたハッシュ値とを対応付けたテーブルとなる。ハッシュ値のハッシュ幅は、図6のa−bit幅入力欄605で入力された値となる。この処理は、図2の(B)a−bitハッシュ計算に相当する処理である。
なお、ハッシュプールG内において、m,kが一致するa−bitハッシュ関数H が生成された場合には、ハッシュプールG内において上書きされる。
つぎに、学習処理部361は、ID400の値nをn=1に設定し(ステップS903)、項目値ペアS を生成する(ステップS904)。具体的には、たとえば、学習処理部361は、nor(x )の各々について、正規化前の値x が非0であるnor(x )を選択する。学習処理部361は、選択したnor(x )については、iをjで採番し、項目値ペアS を生成する。
={j,nor(x )|j∈J⊆I s.t.x ≠0}・・・(8)
つぎに、学習処理部361は、a−bitハッシュ値集合T を算出する(ステップS905)。具体的には、たとえば、学習処理部361は、a−bitハッシュ関数H を項目値ペアS に適用し、a−bitハッシュ値集合T を算出する。この処理は、図2の(C)重み付けに相当する処理である。
={t |j∈J}・・・(9)
=H (j)×nor(x )・・・(10)
そして、学習処理部361は、ステップS906で算出されたa−bitハッシュ値集合T の中から、最小値である最小ハッシュ値u を選択する(ステップS906)。この処理は、図2の(D)最小値選択に相当する処理である。
つぎに、学習処理部361は、最小ハッシュ値u をb−bitハッシュ関数hに与えて、b−bitハッシュ値vを算出する(ステップS907)。
そして、学習処理部361は、サブ特徴ベクトルx からステップS907で求めたv次元の値q(=qOLD)を取り出し、下記式(11)により、Odd−filteringによるモジュラ計算を実行する(ステップS908)。
NEW=mod(qOLD+1,2)・・・(11)
そして、学習処理部361は、サブ特徴ベクトルx のv次元の値qOLDを、ステップS908で算出された値qNEWで上書き保存する(ステップS909)。すなわち、式(11)において基数を2にしたことで、v次元の要素は、「0」から「1」へ、または、「1」から「0」へのフリップを繰り返す。また、基数を2としたことで、v次元の値は「0」または「1」に集約されるため、省メモリ化を図ることができる。この処理は、図1の(B)に相当する処理である。
このあと、学習処理部361は、ID400の値nが最大値N以下であるか否かを判断する(ステップS910)。最大値N以下である場合(ステップS910:Yes)、処理すべき未選択IDが存在するため、学習処理部361は、nをインクリメントして(ステップS911)、ステップS904に戻る。
一方、nが最大値N以下でない場合(ステップS910:No)、学習処理部361は、a−bitハッシュ関数個数kが最大値K以下であるか否かを判断する(ステップS912)。最大値K以下である場合(ステップS912:Yes)、学習処理部361は、試行すべきa−bitハッシュ関数H が存在するため、a−bitハッシュ関数個数kをインクリメントし(ステップS913)、ステップS902に戻る。
一方、kが最大値K以下でない場合(ステップS912:No)、学習処理部361は、下記式(12)により、特徴ベクトルXにサブ特徴ベクトルx をスタックすることで、特徴ベクトルXを更新する(ステップS914)。
=stack(X,x )・・・(12)
なお、式(12)のstack関数は、ベクトルc=(c1,c2)、ベクトルd=(d1,d2)とした場合、下記式(13)にようにベクトルc、dを連結する関数である。
stack(c,d)=(c1,c2,d1,d2)・・・(13)
これにより、ID400の値nごとに、特徴ベクトルXが生成され、学習処理部361は、学習用特徴ベクトル生成処理(ステップS805)を終了し、ステップS806を実行する。
そして、図8に戻り、ステップS808では、学習パラメータwが算出される。具体的には、学習パラメータwは、y を教師データとすると、下記式(14)により算出される。
=f(X,w)・・・(14)
教師データy は、たとえば、学習対象となるデータ項目iについて学習用出力データ群(学習用診断データ群Y)の寛解の見通し421が選択された場合、ID400の値1〜N(=300,000)までの値の列(軽減(=3)、不変(=2)、増悪(=1)、…、寛解(=4))である。
式(14)の関数fには、たとえば、識別関数が用いられる。識別関数の例としては、SVMやニューラルネットワークを用いた既知の関数が適用される。なお、薬剤の処方量といった量的データが教師データとして選択された場合、関数fには回帰関数が用いられる。例えば、既知のSVM回帰関数が用いられる。
これにより、学習処理部361は、学習結果365として、式(7)に示した正規化係数Z 、学習パラメータw、およびハッシュプール族GをサーバDB363に保存する。ハッシュプール族Gには、生成済みのa−bitハッシュ関数H およびb−bitハッシュ関数hが含まれる。
図10は、図7に示した予測処理(ステップS705)の詳細な処理手順例を示すフローチャートである。まず、予測処理部362は、予測用入力データ群(予測用因子データ群D´)を、ステップS801と同じ手法で正規化する(ステップS1001)。具体的には、たとえば、予測処理部362は、各予測用因子データD´n´について、下記式(15)によりデータ項目ごとに正規化する。下記式(15)において、x´n´ は、正規化前におけるID500がn´であるデータ項目iの値、x´n´ maxは、データ項目iの列の値x´n´ の最大値、x´n´ minは、データ項目iの列の値x´n´の最小値、nor(x´n´ )は、x´n´ を正規化した値である。
Figure 2016151932
また、予測用因子データD´n´の正規化後の予測用因子データnor(D´n´)は、以下の通りである。
nor(D´n´)={nor(x´n´ )|i∈I´}・・・(16)
最大値x´n´ maxおよび最小値x´n´ minは正規化係数であり、予測処理部362は、正規化集合Z´n´ として保存する。
Z´n´ ={(x´n´ min,x´n´ max)|i∈I´}・・・(17)
つぎに、予測処理部362は、ハッシュプール数mをm=1に設定し(ステップS1002)、学習結果365に含まれているハッシュプール族GからハッシュプールGを取得する(ステップS1003)。予測処理部362は、正規化後の予測用因子データnor(D´n´)の各々について、b次元のゼロべクトルであるサブ特徴ベクトルx´n´ を生成する。
つぎに、予測処理部362は、ハッシュプールGについて、学習結果365に含まれているハッシュプール族Gからb−bitハッシュ関数hを取得する(ステップS1004)。
そして、予測処理部362は、図1および図2に示したように、予測用特徴ベクトル生成処理を実行する(ステップS1005)。予測用特徴ベクトル生成処理(ステップS1005)の詳細については図11で説明する。予測用特徴ベクトル生成処理(ステップS1005)では、ハッシュプールGについて、予測用特徴ベクトルX´n´ が生成される。予測用特徴ベクトルX´n´ は、ハッシュプールGにおいて予測用因子データD´n´の特徴を示す特徴ベクトルである。
このあと、予測処理部362は、ハッシュプール数mがハッシュプール数mの最大値M以下であるか否かを判断する(ステップS1006)。最大値M以下である場合(ステップS1006:Yes)、予測処理部362はハッシュプールGを取得する必要があるため、ハッシュプール数mをインクリメントして(ステップS1007)、ステップS1003に戻る。
一方、最大値M以下でない場合(ステップS1006:No)、予測処理部362は、予測値y´n´ を算出する(ステップS1008)。たとえば、予測対象となるいずれかのデータ項目iとして寛解の見通し421が選択された場合、予測処理部362は、予測用因子データ群D´のID500の各値n´に対応する寛解の見通し421の予測値y´n´ を算出する。予測値y´n´ の算出(ステップS1008)については、予測用特徴ベクトル生成処理(ステップS1005)で生成される予測用特徴ベクトルX´n´ を用いるため、予測用特徴ベクトル生成処理(ステップS1005)の説明後に詳細を説明する。
これにより、予測処理部362は、予測処理(ステップS705)を終了し、ステップS706を実行する。
図11は、図10に示した予測用特徴ベクトル生成処理(ステップS1005)の詳細な処理手順例を示すフローチャートである。まず、予測処理部362は、a−bitハッシュ関数個数kの初期値として、k=1を設定する(ステップS1101)。
つぎに、予測処理部362は、学習結果365に含まれているハッシュプール族GからハッシュプールGのa−bitハッシュ関数H を取得する(ステップS1102)。
つぎに、予測処理部362は、ID500の値n´をn´=1に設定し(ステップS1103)、項目値ペアS´n´ を生成する(ステップS1104)。具体的には、たとえば、予測処理部362は、nor(x´n´ )の各々について、正規化前の値x´n´ が非0であるnor(x´n´ )を選択する。予測処理部362は、選択したnor(x´n´ )については、iをjで採番し、項目値ペアS´n´ を生成する。
S´n´ ={j,nor(x´n´ )|j∈J´⊆I´ s.t.x´n´ ≠0}
・・・(18)
つぎに、予測処理部362は、a−bitハッシュ値集合T´ を算出する(ステップS1105)。具体的には、たとえば、予測処理部362は、a−bitハッシュ関数H を項目値ペアS´n´ に適用し、a−bitハッシュ値集合T´ を算出する。この処理は、図2の(C)重み付けに相当する処理である。
T´ ={t´ |j∈J´}・・・(19)
t´ =H (j)×nor(x´n´ )・・・(20)
そして、予測処理部362は、ステップS1106で算出されたa−bitハッシュ値集合T´ の中から、最小値である最小ハッシュ値u´ を選択する(ステップS1106)。この処理は、図2の(D)最小値選択に相当する処理である。
つぎに、予測処理部362は、最小ハッシュ値u´ をb−bitハッシュ関数hに与えて、b−bitハッシュ値v´を算出する(ステップS1107)。
そして、予測処理部362は、サブ特徴ベクトルx´n´ からステップS1107で求めたv´次元の値q´(=q´OLD)を取り出し、下記式(21)により、Odd−filtering計算を実行する(ステップS1108)。
q´NEW=mod(q´OLD+1,2)・・・(21)
そして、予測処理部362は、サブ特徴ベクトルx´n´ のv´次元の値q´OLDを、ステップS1108で算出された値q´NEWで上書き保存する(ステップS1109)。すなわち、式(21)において基数を2にしたことで、v´次元の要素は、「0」から「1」へ、または、「1」から「0」へのフリップを繰り返す。また、基数を2としたことで、v´次元の値は「0」または「1」に集約されるため、省メモリ化を図ることができる。この処理は、図1の(B)に相当する処理である。
このあと、予測処理部362は、ID500の値n´が最大値N´以下であるか否かを判断する(ステップS1110)。最大値N´以下である場合(ステップS1110:Yes)、処理すべき未選択IDが存在するため、予測処理部362は、n´をインクリメントして(ステップS1111)、ステップS1104に戻る。
一方、n´が最大値N以下でない場合(ステップS1110:No)、予測処理部362は、a−bitハッシュ関数個数kが最大値K以下であるか否かを判断する(ステップS1112)。最大値K以下である場合(ステップS1112:Yes)、予測処理部362は、試行すべきa−bitハッシュ関数H が存在するため、a−bitハッシュ関数個数kをインクリメントし(ステップS1113)、ステップS1102に戻る。
一方、kが最大値K以下でない場合(ステップS1112:No)、予測処理部362は、上記式(12)、(13)で説明したstack関数を用いて、予測用特徴ベクトルX´n´にサブ特徴ベクトルx´n´ をスタックすることで、予測用特徴ベクトルX´n´を更新する(ステップS1114)。
X´n´=stack(X´n´,x´n´ )・・・(22)
これにより、ID500の値n´ごとに、予測用特徴ベクトルX´n´が生成され、予測処理部362は、予測用特徴ベクトル生成処理(ステップS1005)を終了し、ステップS1006を実行する。
そして、図10に戻り、ステップS1008では、予測値y´n´ が算出される。具体的には、予測値y´n´ は、上記式(14)で示した関数fと、学習パラメータwおよび予測用特徴ベクトルX´n´を用いて、下記式(24)により算出される。
y´n´ =f(X´n´,w)・・・(24)
予測値y´n´ は、たとえば、データ項目iとして予測用出力データ群(予測用診断データ群Y´)の寛解の見通し421が選択された場合、ID500の値1〜N(=300,000)までの予測値の列である。
このように、実施例1によれば、データ数N、N´やデータ項目I,I´の数が膨大であっても、高速かつ省メモリで高精度なデータ分析が可能となる。また、データ項目I,I´の値が多値や実数値を持つ場合であっても、高速かつ省メモリで高精度なデータ分析が可能となる。
実施例2では、実施例1の図1の(B)に示した集約処理において、Odd−filteringによるモジュラ計算に替えて、フォールディング計算を実行する例である。フォールディング計算は、データ項目iの値x を特徴ベクトルの値に累積加算する処理であり、これにより、データ分析システムは、直接的に多値や実数値のデータ項目iを分析することができる。換言すれば、実施例1と比較して、計算機のメモリ消費量よりも、データ分析の精度を重視した構成例である。なお、実施例2の説明においては、実施例1との相違点を中心に説明し、実施例1と同一処理については説明を省略する。
図12は、実施例2にかかる特徴量算出処理HT1の詳細な処理例を示す説明図である。図2に示した実施例1の特徴量算出処理HT1では、(B)a−bitハッシュ計算のあとに(C)重みづけを実行したが、実施例2では、(C)重みづけを実行せずに、(D)最小値選択が実行される。そのあと、特徴量算出処理HT1は、(E)(D)の最小値選択で選択された最小値を正規化する。(E)正規化は、(A)正規化と同じ計算方法で実行される。
なお、図12の特徴量算出処理HT1では、学習用因子データDを用いた場合について説明したが、学習用因子データD〜Dについても特徴量算出処理HT1が実行される。また、図12では、特徴量算出処理HT1について説明したが、他の特徴量算出処理HT2〜HTKでも同様に実行される。
図13は、実施例2にかかる特徴ベクトルの生成例を示す説明図である。図1に示した実施例1の特徴ベクトルの生成例では、(B)集約でOdd−filteringによるモジュラ計算を実行したが、実施例2の(B)集約では、フォールディング計算を実行する。
フォールディング計算は、特徴量算出処理HTkからの出力である正規化済み最小値に対応するハッシュ値をb−bitハッシュ関数hにより求める。フォールディング計算では、ハッシュ値が同一の正規化済み最小値が累積加算される。
たとえば、学習用因子データDを用いた特徴量算出処理HT1で得られた正規化済み最小値「0.4」は、b−bitハッシュ関数により生成されるハッシュテーブルのハッシュ値hb1〜hb(b)のうち、ハッシュ値hb2に対応する。したがって、ハッシュ値hb2に対応する集約値は初期値の「0」に正規化済み最小値「0.4」が累積加算されて「0.4」になる。つぎに、学習用因子データDを用いた特徴量算出処理HT2で得られた正規化済み最小値「0.2」も、ハッシュ値hb2に対応する。したがって、ハッシュ値hb2に対応する集約値は「0.4」に正規化済み最小値「0.2」が加算されて「0.6」になる。
bの値を小さくするほど、同一ハッシュ値に衝突する可能性が高くなる。(B)集約処理では、この性質を利用して、(A)特徴量算出処理で得られた最小値を集約する。
このように(B)集約処理が完了することにより、ハッシュ値hb1〜hb(b)の集約値が配列したサブ特徴ベクトルx が生成される。ハッシュプールG〜Gについても同様にして、サブ特徴ベクトルx 〜x が生成される。そして、サブ特徴ベクトルx 〜x を連結することにより、学習用因子データDの特徴を示す学習用特徴ベクトルXが生成される。なお、学習用因子データD〜Dについても同様にして、学習用因子データD〜Dの特徴を示す学習用特徴ベクトルX〜Xが生成される。
<学習用特徴ベクトル生成処理(ステップS805)>
図14は、実施例2にかかる学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例を示すフローチャートである。図9に示した実施例1にかかる学習用特徴ベクトル生成処理(ステップS805)と同一ステップには同一ステップ番号を付し、その説明を省略する。
ステップS905のあと、学習処理部361は、図12の(B)最小値選択で示したように、a−bitハッシュ関数H で得られたa−bitハッシュ値群から最小値u を特定し、(E)正規化で示したように、最小値u を正規化して、正規化済み最小値α を算出する(ステップS1406)。
このあと、学習処理部361は、正規化済み最小値α をb−bitハッシュ関数hに与えて、b−bitハッシュ値vを算出する(ステップS1407)。
そして、学習処理部361は、サブ特徴ベクトルx からステップS1407で求めたv次元の値q(=qOLD)を取り出し、下記式(25)により、フォールディング計算を実行する(ステップS1408)。
NEW=qOLD+α ・・・(25)
そして、学習処理部361は、サブ特徴ベクトルx のv次元の値qOLDを、ステップS1408で算出された値qNEWで上書き保存する(ステップS1409)。このように、b−bitハッシュ値が同一である正規化済み最小値α を累積加算することにより、学習用因子データDの特徴をより詳細に反映することができる。したがって、データ分析の高精度化を図ることができる。なお、この処理は、図13の(B)に相当する処理である。
このように、実施例2では、a−bitハッシュ関数を用いて、特徴量算出処理HTkにより学習用因子データDの各データ項目の値に対応する特徴量の正規化済み最小値を算出し、b−bitハッシュ関数を用いて、正規化済み最小値を集約するため、データ分析の高速化を実現することができる。
また、学習用因子データDの正規化済み最小値を、フォールディング計算で集約することにより、学習用特徴ベクトルXが生成されるため、学習用特徴ベクトルXの各要素は、学習用因子データDの各データ項目の2値、多値、実数値が考慮された値となる。したがって、データ分析の高精度化を図ることができる。
また、集約処理において、フォールディング計算で正規化済み最小値を集約することにより、学習用因子データDの特徴をより詳細に表現することができる。したがって、データ項目の値が多値や実数値の場合に適しており、より高精度はデータ分析を実現することができる。
実施例3は、実施例1および実施例2において生成されるサブ特徴ベクトルの高精度化を図る例である。具体的には、実施例3のデータ分析システムは、学習処理(ステップS702)において、学習パラメータwを求める前に、分析精度が低くなるようなサブ特徴ベクトルを特定し、分析精度が一定以上になるまで、stack関数で当該サブ特徴ベクトルをスタックさせずに、学習用特徴ベクトル生成処理(ステップS805)を再実行する。
これにより、サブ特徴ベクトルの分析精度が一定以上の学習用特徴ベクトルが生成されるため、高精度の学習パラメータwを算出することができる。このような高精度な学習パラメータwを予測処理(ステップS704)で用いることにより、予測値の精度向上を図ることができる。
学習用特徴ベクトル生成処理(ステップS805)を再実行する仕組みとして、たとえば、交差検証が実行される。
図15は、交差検証の実行例を示す説明図である。交差検証では、学習処理部361は、(1)分類、(2)学習パラメータ算出、(3)予測データ算出、(4)検証の順に実行する。
(1)分類では、学習処理部361は、学習用因子データ群Dおよび学習用診断データ群Yをあるデータ項目iについて任意のID400でサンプリングすることで2つのグループに分類する。任意のIDでサンプリングした方の第1グループg1は、第1学習用因子データ群D1と第1教師データy1 とを含む。残余のID400である第2グループg2は、第2学習用因子データ群D1と第2教師データy2 とを含む。
(2)学習パラメータ算出では、学習処理部361は、第1学習用因子データ群D1と第1教師データy1 とを、たとえば、SVMなどの識別器にあたえることにより、学習パラメータw1を算出する。なお、上述した図8のステップS808で示した処理を適用して、学習パラメータw1を算出してもよい。
(3)予測データ算出では、学習処理部361は、図10のステップS1008で説明した場合と同様の処理により、学習パラメータw1と、第2学習用因子データ群D2とを用いて、予測データy2´ を算出する。
(4)検証では、学習処理部361は、第2教師データy2 と予測データy2´ とを比較し、その差分を誤差としてnごとに算出する。そして、学習処理部361は、nごとの誤差の二乗和の平方根を求め、その逆数を予測精度として算出する。
学習処理部361は、(1)でサンプリングするIDを替えて、(1)〜(4)の処理を複数回実行する。そして、学習処理部361は、各々の回の(4)検証で得られた予測精度の平均値である平均予測精度を算出する。なお、予測精度の平均ではなく、予測精度の最大値、最小値、中央値、ランダムに選ばれた値など他の統計的条件を満たす統計値でもよい。以下では、例として平均予測精度として説明する。
学習処理部361は、平均予測精度がしきい値を超えるまで、(2)学習パラメータ算出で算出された学習パラメータw1および予測データy2´ は、要求精度を満たしていないことになる。この場合は、学習処理部361は、b−bitハッシュ関数hおよびa−bitハッシュ関数H を再生成して、再度交差検証を実行することになる。
図16は、実施例3にかかる学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例1を示すフローチャートである。図16は、図9に示した実施例1にかかる学習用特徴ベクトル生成処理(ステップS805)において交差検証を実行する処理手順例である。なお、図16において、図9と同一ステップには同一ステップ場号を付し、その説明を省略する。
図17は、実施例3にかかる学習用特徴ベクトル生成処理(ステップS805)の詳細な処理手順例2を示すフローチャートである。図17は、図14に示した実施例2にかかる学習用特徴ベクトル生成処理(ステップS805)において交差検証を実行する処理手順例である。なお、図17において、図14と同一ステップには同一ステップ場号を付し、その説明を省略する。
図16および図17において、ステップS912のあと、学習処理部361は、図15に示した交差検証を実行する(ステップS1614)。ハッシュプールGにおいて、交差検証で得られた平均予測精度をPとし、しきい値をThrとする。P≦Thrである場合(ステップS1615:Yes)、図8のステップS804に移行して、学習処理部361は、b−bitハッシュ関数を再生成する(ステップS804)し、再生成したb−bitハッシュ関数を用いて、図16(実施例1の場合)または図17(実施例2の場合)の学習用特徴ベクトル生成処理(ステップS805)を再実行する。
このように、図16の学習用特徴ベクトル生成処理(ステップS805)によれば、実施例1において、交差検証が適用される。したがって、実施例1において信頼性の高い学習パラメータwを得ることができ、データ分析精度の向上を図ることができる。
また、図17の学習用特徴ベクトル生成処理(ステップS805)によれば、実施例2において、交差検証が適用される。したがって、実施例2において信頼性の高い学習パラメータwを得ることができ、データ分析精度の向上を図ることができる。
以上説明したように、本実施例によれば、データ項目の値により重み付けられたa−bitハッシュ関数により生成されたハッシュ値から、さらにb−bitハッシュ関数を用いて、b−bitハッシュ値を計算することで、特徴ベクトルの次元削減を実現する。これにより、高速かつ高精度なデータ分析をすることができる。また、データ項目の数が膨大であり、多値や実数値を持つ場合であっても、高速かつ省メモリで高精度なデータ分析が可能となる。
なお、上述した実施例では、薬効分析を例に挙げて説明したが、商品レコメンデーションにも適用可能である。この場合、図4に示した学習用入力DB410のID400は、患者ではなく顧客を示し、データ項目411〜415は、商品またはサービス(商品またはサービスのジャンルでもよい)を示し、その値は購入数または購入金額(商品の場合)や利用回数または利用金額(サービスの場合)を示す。また、学習用出力DB420のデータ項目421〜425は、顧客の購入傾向や顧客の趣味などを示す嗜好の種類となる。予測用入力DB510および学習用出力DB520についても同様である。
また、ニュース記事の分析の場合、図4に示した学習用入力DB410のID400は、新聞や雑誌、webページに掲載されたニュース記事を示し、データ項目411〜415は、単語を示し、その値は単語の出現回数を示す。また、学習用出力DB420のデータ項目421〜425は、政治、社会、スポーツ、天気といったニュース記事のジャンルとなる。予測用入力DB510および学習用出力DB520についても同様である。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。

Claims (15)

  1. 記憶デバイスにアクセス可能なプロセッサが実行するデータ分析装置であって、
    前記プロセッサは、
    複数の第1データ項目の値を有する学習用入力データの集合である学習用入力データ群を前記記憶デバイスから取得する第1取得処理と、
    各々固有の第1ハッシュテーブルを生成することにより第1ハッシュ関数を複数個設定する第1設定処理と、
    前記第1取得処理によって取得された学習用入力データ群の各学習用入力データについて、前記第1設定処理によって設定された前記複数の第1ハッシュ関数の各々に与えることにより、前記複数のデータ項目の値に対応する複数の第1ハッシュ値を前記第1ハッシュ関数ごとに算出する第1算出処理と、
    前記各学習用入力データについて、前記第1算出処理によって前記第1ハッシュ関数ごとに算出された前記複数の第1ハッシュ値の中から所定の統計的条件を満たす特定の第1ハッシュ値を前記第1ハッシュ関数ごとに選択する第1選択処理と、
    第2ハッシュテーブルを生成することにより第2ハッシュ関数を設定する第2設定処理と、
    前記各学習用入力データについて、前記第1選択処理によって前記第1ハッシュ関数ごとに選択された特定の第1ハッシュ値の各々を前記第2設定処理によって設定された第2ハッシュ関数に与えることにより、第2ハッシュ値を複数算出する第2算出処理と、
    前記第2算出処理によって算出された結果、前記特定の第1ハッシュ値の各々に対応する前記第2ハッシュ値を集約することにより、前記学習用入力データ群の特徴を示す学習用特徴ベクトルを生成する第1生成処理と、
    を実行することを特徴とするデータ分析装置。
  2. 前記プロセッサは、
    前記各学習用入力データについて、前記複数のデータ項目の値に基づいて、当該データ項目の値に対応する前記第1のハッシュ値の各々を重み付けする第1重み付け処理を実行し、
    前記第1選択処理では、前記プロセッサは、前記各学習用入力データについて、前記重み付け処理による複数の重み付き第1ハッシュ値の中から前記所定の統計的条件を満たす特定の重み付き第1ハッシュ値を前記第1ハッシュ関数ごとに選択し、
    前記第2算出処理では、前記プロセッサは、前記各学習用入力データについて、前記第1選択処理によって前記第1ハッシュ関数ごとに選択された特定の重み付き第1ハッシュ値の各々を前記第2ハッシュ関数に与えることにより、前記第2ハッシュ値を複数算出し、
    前記第1生成処理では、前記プロセッサは、前記第2算出処理によって算出された結果、前記特定の重み付き第1ハッシュ値の各々に対応する前記第2ハッシュ値を、odd−filteringを用いて集約することにより、前記学習用特徴ベクトルを生成することを特徴とする請求項1に記載のデータ分析装置。
  3. 前記第1生成処理では、前記プロセッサは、前記第2算出処理によって算出された結果、前記特定の第1ハッシュ値の各々に対応する前記第2ハッシュ値を、フォールディング計算を用いて集約することにより、前記学習用特徴ベクトルを生成することを特徴とする請求項1に記載のデータ分析装置。
  4. 前記第1取得処理では、前記プロセッサは、さらに、前記学習用入力データの各々に対応し、かつ、複数の第2データ項目の値を有する学習用出力データの集合である学習用出力データ群における、前記複数の第2データ項目の中のいずれかの第2データ項目の値の集合である教師データを取得し、
    前記プロセッサは、
    前記第1生成処理によって生成された学習用特徴ベクトルと、前記第1取得処理によって取得された教師データと、を用いて、前記学習用入力データ群から前記教師データを出力するための学習パラメータを算出する学習パラメータ算出処理を実行することを特徴とする請求項1〜3のいずれか1つに記載のデータ分析装置。
  5. 前記学習パラメータ算出処理では、前記プロセッサは、前記教師データが2値である場合、前記学習用特徴ベクトルと、前記教師データと、を識別関数に与えることにより、前記学習パラメータを算出する学習パラメータ算出処理を実行することを特徴とする請求項4に記載のデータ分析装置。
  6. 前記学習パラメータ算出処理では、前記プロセッサは、前記教師データが多値または実数値である場合、前記学習用特徴ベクトルと、前記教師データと、を回帰関数に与えることにより、前記学習パラメータを算出する学習パラメータ算出処理を実行することを特徴とする請求項4に記載のデータ分析装置。
  7. 前記プロセッサは、
    前記第2算出処理の実行後から前記第1生成処理を実行するまでの間に、前記学習用入力データ群と前記学習用出力データ群とを用いた交差検証処理を実行し、前記交差検証処理により得られる予測精度がしきい値を超えるまで、前記第1設定処理、前記第1算出処理、前記第1選択処理、前記第2設定処理、および、前記第2算出処理を再実行し、前記交差検証処理により前記予測精度が前記しきい値を超えた場合、前記第1生成処理を実行し、
    前記交差検証処理では、前記プロセッサは、
    前記学習用入力データ群の中の第1学習用入力データ群と、前記学習用出力データ群の中の前記第1学習用入力データ群に対応する第1学習用出力データ群における、前記いずれかの第2データ項目の値の集合である第1教師データと、用いて、前記第1学習用入力データ群から前記第1教師データを出力するための第1学習パラメータを算出し、
    前記学習用入力データ群の中の第1学習用入力データ群以外の第2学習用入力データと、前記第1学習パラメータと、を用いて、前記いずれかの第2項目の予測データを算出し、
    前記学習用出力データ群の中の前記第2学習用入力データ群に対応する第2学習用出力データ群における、前記いずれかの第2データ項目の値の集合である第2教師データと、前記予測データと、を比較することにより、前記予測データに関する前記予測精度を算出し、
    前記予測精度が前記しきい値以下であるか否かを検証することを特徴とする請求項1〜3のいずれか1つに記載のデータ分析装置。
  8. 前記プロセッサは、
    前記複数の第1データ項目の値を有する予測用入力データの集合である予測用入力データ群を前記記憶デバイスから取得する第2取得処理と、
    前記第2取得処理によって取得された予測用入力データ群の各予測用入力データについて、前記複数の第1ハッシュ関数の各々に与えることにより、前記複数のデータ項目の値に対応する複数の第3ハッシュ値を前記第1ハッシュ関数ごとに算出する第3算出処理と、
    前記各予測用入力データについて、前記第3算出処理によって前記第1ハッシュ関数ごとに算出された前記複数の第3ハッシュ値の中から前記所定の統計的条件を満たす特定の第3ハッシュ値を前記第1ハッシュ関数ごとに選択する第2選択処理と、
    前記各予測用入力データについて、前記第2選択処理によって前記第1ハッシュ関数ごとに選択された特定の第3ハッシュ値の各々を前記第2ハッシュ関数に与えることにより、第4ハッシュ値を複数算出する第4算出処理と、
    前記第4算出処理によって算出された結果、前記特定の第3ハッシュ値の各々に対応する前記第4ハッシュ値を集約することにより、前記予測用入力データ群の特徴を示す予測用特徴ベクトルを生成する第2生成処理と、
    を実行することを特徴とする請求項1〜3のいずれか1つに記載のデータ分析装置。
  9. 前記プロセッサは、
    前記各予測用入力データについて、前記複数のデータ項目の値に基づいて、当該データ項目の値に対応する前記第1のハッシュ値の各々を重み付けする第2重み付け処理を実行し、
    前記第2選択処理では、前記プロセッサは、前記各予測用入力データについて、前記第2重み付け処理による複数の重み付き第3ハッシュ値の中から前記所定の統計的条件を満たす特定の重み付き第3ハッシュ値を前記第1ハッシュ関数ごとに選択し、
    前記第4算出処理では、前記プロセッサは、前記各予測用入力データについて、前記第2選択処理によって前記第1ハッシュ関数ごとに選択された特定の重み付き第3ハッシュ値の各々を前記第2ハッシュ関数に与えることにより、前記第4ハッシュ値を複数算出し、
    前記第2生成処理では、前記プロセッサは、前記第4算出処理によって算出された結果、前記特定の重み付き第3ハッシュ値の各々に対応する前記第4ハッシュ値を、odd−filteringを用いて集約することにより、前記予測用特徴ベクトルを生成することを特徴とする請求項8に記載のデータ分析装置。
  10. 前記第2生成処理では、前記プロセッサは、前記第4算出処理によって算出された結果、前記特定の第3ハッシュ値の各々に対応する前記第4ハッシュ値を、フォールディング計算を用いて集約することにより、前記予測用特徴ベクトルを生成することを特徴とする請求項8に記載のデータ分析装置。
  11. 前記プロセッサは、
    前記第2生成処理によって生成された予測用特徴ベクトルと、前記学習パラメータと、を用いて、前記いずれかの第2項目の予測値を算出する予測値算出処理を実行することを特徴とする請求項8に記載のデータ分析装置。
  12. 前記予測値算出処理では、前記プロセッサは、前記教師データが2値である場合、前記第2生成処理によって生成された予測用特徴ベクトルと、前記学習パラメータと、を識別関数に与えることにより、前記いずれかの第2項目の予測値を算出することを特徴とする請求項11に記載のデータ分析装置。
  13. 前記予測値算出処理では、前記プロセッサは、前記教師データが多値または実数値である場合、前記第2生成処理によって生成された予測用特徴ベクトルと、前記学習パラメータと、を回帰関数に与えることにより、前記いずれかの第2項目の予測値を算出することを特徴とする請求項11に記載のデータ分析装置。
  14. 記憶デバイスにアクセス可能なプロセッサが実行するデータ分析方法であって、
    前記データ分析方法は、
    前記プロセッサが、
    複数の第1データ項目の値を有する学習用入力データの集合である学習用入力データ群を前記記憶デバイスから取得する第1取得処理と、
    各々固有の第1ハッシュテーブルを生成することにより第1ハッシュ関数を複数個設定する第1設定処理と、
    前記第1取得処理によって取得された学習用入力データ群の各学習用入力データについて、前記第1設定処理によって設定された前記複数の第1ハッシュ関数の各々に与えることにより、前記複数のデータ項目の値に対応する複数の第1ハッシュ値を前記第1ハッシュ関数ごとに算出する第1算出処理と、
    前記各学習用入力データについて、前記第1算出処理によって前記第1ハッシュ関数ごとに算出された前記複数の第1ハッシュ値の中から所定の統計的条件を満たす特定の第1ハッシュ値を前記第1ハッシュ関数ごとに選択する第1選択処理と、
    第2ハッシュテーブルを生成することにより第2ハッシュ関数を設定する第2設定処理と、
    前記各学習用入力データについて、前記第1選択処理によって前記第1ハッシュ関数ごとに選択された特定の第1ハッシュ値の各々を前記第2設定処理によって設定された第2ハッシュ関数に与えることにより、第2ハッシュ値を複数算出する第2算出処理と、
    前記第2算出処理によって算出された結果、前記特定の第1ハッシュ値の各々に対応する前記第2ハッシュ値を集約することにより、前記学習用入力データ群の特徴を示す学習用特徴ベクトルを生成する第1生成処理と、
    を実行することを特徴とするデータ分析方法。
  15. 記憶デバイスにアクセス可能なプロセッサに、
    複数の第1データ項目の値を有する学習用入力データの集合である学習用入力データ群を前記記憶デバイスから取得する第1取得処理と、
    各々固有の第1ハッシュテーブルを生成することにより第1ハッシュ関数を複数個設定する第1設定処理と、
    前記第1取得処理によって取得された学習用入力データ群の各学習用入力データについて、前記第1設定処理によって設定された前記複数の第1ハッシュ関数の各々に与えることにより、前記複数のデータ項目の値に対応する複数の第1ハッシュ値を前記第1ハッシュ関数ごとに算出する第1算出処理と、
    前記各学習用入力データについて、前記第1算出処理によって前記第1ハッシュ関数ごとに算出された前記複数の第1ハッシュ値の中から所定の統計的条件を満たす特定の第1ハッシュ値を前記第1ハッシュ関数ごとに選択する第1選択処理と、
    第2ハッシュテーブルを生成することにより第2ハッシュ関数を設定する第2設定処理と、
    前記各学習用入力データについて、前記第1選択処理によって前記第1ハッシュ関数ごとに選択された特定の第1ハッシュ値の各々を前記第2設定処理によって設定された第2ハッシュ関数に与えることにより、第2ハッシュ値を複数算出する第2算出処理と、
    前記第2算出処理によって算出された結果、前記特定の第1ハッシュ値の各々に対応する前記第2ハッシュ値を集約することにより、前記学習用入力データ群の特徴を示す学習用特徴ベクトルを生成する第1生成処理と、
    を実行させることを特徴とするデータ分析プログラム。
JP2015029606A 2015-02-18 2015-02-18 データ分析装置、データ分析方法、およびデータ分析プログラム Expired - Fee Related JP6334431B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015029606A JP6334431B2 (ja) 2015-02-18 2015-02-18 データ分析装置、データ分析方法、およびデータ分析プログラム
PCT/JP2015/077796 WO2016132588A1 (ja) 2015-02-18 2015-09-30 データ分析装置、データ分析方法、およびデータ分析プログラム
US15/550,508 US11138515B2 (en) 2015-02-18 2015-09-30 Data analysis device, data analysis method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015029606A JP6334431B2 (ja) 2015-02-18 2015-02-18 データ分析装置、データ分析方法、およびデータ分析プログラム

Publications (3)

Publication Number Publication Date
JP2016151932A true JP2016151932A (ja) 2016-08-22
JP2016151932A5 JP2016151932A5 (ja) 2017-04-27
JP6334431B2 JP6334431B2 (ja) 2018-05-30

Family

ID=56688863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015029606A Expired - Fee Related JP6334431B2 (ja) 2015-02-18 2015-02-18 データ分析装置、データ分析方法、およびデータ分析プログラム

Country Status (3)

Country Link
US (1) US11138515B2 (ja)
JP (1) JP6334431B2 (ja)
WO (1) WO2016132588A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220164985A (ko) * 2021-06-07 2022-12-14 주식회사 라인웍스 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7243084B2 (ja) * 2018-08-31 2023-03-22 株式会社リコー 学習方法、プログラムおよび学習装置
EP3621022A1 (en) 2018-09-07 2020-03-11 Delta Electronics, Inc. Data analysis method and data analysis system thereof
TWI725375B (zh) * 2018-09-07 2021-04-21 台達電子工業股份有限公司 資料搜尋方法及其資料搜尋系統
US11494644B2 (en) * 2019-11-20 2022-11-08 Rakuten Group, Inc. System, method, and computer program for recommending items using a direct neural network structure
US20210374229A1 (en) * 2020-05-28 2021-12-02 Mcafee, Llc Methods and apparatus to improve detection of malware in executable code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033551A (ja) * 2005-08-15 2013-02-14 Google Inc 集合の類似性に基づく拡張性に富むユーザクラスタリング
JP2014203289A (ja) * 2013-04-05 2014-10-27 キヤノン株式会社 ハッシュ値生成装置、システム、判定方法、プログラム、記憶媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6028567B2 (ja) * 2012-12-28 2016-11-16 富士通株式会社 データ格納プログラム、データ検索プログラム、データ格納装置、データ検索装置、データ格納方法及びデータ検索方法
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models
US9495655B2 (en) * 2014-09-27 2016-11-15 International Business Machines Corporation Cross-domain multi-attribute hashed and weighted dynamic process prioritization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033551A (ja) * 2005-08-15 2013-02-14 Google Inc 集合の類似性に基づく拡張性に富むユーザクラスタリング
JP2014203289A (ja) * 2013-04-05 2014-10-27 キヤノン株式会社 ハッシュ値生成装置、システム、判定方法、プログラム、記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220164985A (ko) * 2021-06-07 2022-12-14 주식회사 라인웍스 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램
KR102565874B1 (ko) * 2021-06-07 2023-08-09 주식회사 카카오헬스케어 기계학습을 위한 의료데이터의 벡터화 방법, 이를 구현한 데이터 변환 장치 및 데이터 변환 프로그램

Also Published As

Publication number Publication date
WO2016132588A1 (ja) 2016-08-25
JP6334431B2 (ja) 2018-05-30
US11138515B2 (en) 2021-10-05
US20180032910A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
JP6334431B2 (ja) データ分析装置、データ分析方法、およびデータ分析プログラム
Kosinski et al. Mining big data to extract patterns and predict real-life outcomes.
Bolón-Canedo et al. Feature selection for high-dimensional data
Fan et al. Challenges of big data analysis
Chi et al. Splitting methods for convex clustering
JP6371870B2 (ja) 機械学習サービス
CN109492180A (zh) 资源推荐方法、装置、计算机设备及计算机可读存储介质
CN111080360B (zh) 行为预测方法、模型训练方法、装置、服务器及存储介质
Dempster et al. Hydra: Competing convolutional kernels for fast and accurate time series classification
Yin et al. Connecting comments and tags: improved modeling of social tagging systems
Sisodia et al. Fast prediction of web user browsing behaviours using most interesting patterns
CN110147502B (zh) 基于大数据分析的产品推荐方法、装置、介质及服务器
Yang et al. Categorical omega with small sample sizes via bayesian estimation: An alternative to frequentist estimators
Duffy et al. Confounders mediate AI prediction of demographics in medical imaging
Raval et al. A semiparametric discrete choice model: An application to hospital mergers
Fursov et al. Sequence embeddings help detect insurance fraud
Theodorou et al. Synthesize high-dimensional longitudinal electronic health records via hierarchical autoregressive language model
CN113656699B (zh) 用户特征向量确定方法、相关设备及介质
CN115222443A (zh) 客户群体划分方法、装置、设备及存储介质
US20240143838A1 (en) Apparatus and a method for anonymizing user data
JP7424474B2 (ja) 学習装置、異常検知装置、学習方法及び異常検知方法
CN110288444B (zh) 实现用户相关推荐的方法和系统
CN112529636A (zh) 商品推荐方法、装置、计算机设备及介质
Praveena et al. An approach to remove duplication records in healthcare dataset based on Mimic Deep Neural Network (MDNN) and Chaotic Whale Optimization (CWO)
CN114581177B (zh) 产品推荐方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170321

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180426

R150 Certificate of patent or registration of utility model

Ref document number: 6334431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees