JP5206197B2 - 規則学習方法、プログラム及び装置 - Google Patents

規則学習方法、プログラム及び装置 Download PDF

Info

Publication number
JP5206197B2
JP5206197B2 JP2008193068A JP2008193068A JP5206197B2 JP 5206197 B2 JP5206197 B2 JP 5206197B2 JP 2008193068 A JP2008193068 A JP 2008193068A JP 2008193068 A JP2008193068 A JP 2008193068A JP 5206197 B2 JP5206197 B2 JP 5206197B2
Authority
JP
Japan
Prior art keywords
learning
weight
rule
feature
learning case
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.)
Active
Application number
JP2008193068A
Other languages
English (en)
Other versions
JP2010033214A (ja
Inventor
友哉 岩倉
青史 岡本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008193068A priority Critical patent/JP5206197B2/ja
Priority to US12/507,379 priority patent/US8370276B2/en
Publication of JP2010033214A publication Critical patent/JP2010033214A/ja
Application granted granted Critical
Publication of JP5206197B2 publication Critical patent/JP5206197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本技術は、 機械学習に関し、より詳しくは機械学習における規則学習の高速化技術に関する。
機械学習アルゴリズムには様々なものが知られているが、その中でもブースティング(Boosting)というアルゴリズムが存在している。ここでは、Boostingアルゴリズムの中でもAdaBoostという手法に基づく学習手法について検討する。以下、特に述べない限り、BoostingはAdaBoostを示すものとする。
Boostingでは、与えられた弱学習器を使って、異なる重みを持つ学習事例から複数の弱仮説(すなわち規則)を生成する。そして、事例の重みを変更しつつ、学習事例から繰り返し複数の弱仮説を生成して、最終的に、弱仮説の組み合わせである最終仮説を生成する。なお、今までに学習した弱仮説にて正しく分類できる事例には小さい重みを、正しく分類できない事例には大きい重みが割り当てられるようにする。
今回の説明では、弱学習器としてある規則学習器を扱うBoostingアルゴリズムに基づき説明を行う。また、以降、このアルゴリズムをBoostingアルゴリズムと記すことにする。Boostingアルゴリズムについての前提を以下に述べておく。
まず、Boostingアルゴリズムが扱う問題について述べる。ここでχを事例集合とし、扱うラベル集合をy={−1、+1}とする。また、学習の目的は、学習データS={(x1,y1),...,(xm,y1)}から、マッピングF:χ−>yを導出することである。
ここで、|x|を、事例x∈χに含まれる素性の種類とする。xi∈χ(1≦i≦m)とは、|xi|種類の素性から構成される素性集合とする。また、ここではk個の素性から構成される素性集合をk−素性集合と記する。さらに、yi∈yは、S中のi番目の素性集合のクラスレベルである。
FT={f1,f2,...,fM}をBoostingアルゴリズムが対象とするM種類の素性とする。各事例xiの各素性は、xi,j∈FT(1≦j≦|xi|)となる。このBoostingアルゴリズムでは、バイナリのベクトルを取り扱うことも可能であるが、以下で述べる例では、各素性は、文字列で表現されるものとする。
また、ある素性集合が他の素性集合を包含する場合を次に定義する。
定義1
二つの素性集合x、x’において、xが有する全ての素性をx’が有する場合には、xはx’の部分素性集合と呼び、次のように記す。
x⊆x’
さらに、以下で列挙する4番目の非特許文献で用いられているreal-valued predictions and abstaining(RVPA)の考えを元に規則を定義する。RVPAでは、入力の素性集合が条件に合う場合、実数で表現される確信度を返し、条件に合わない場合は、「0」を返す。素性集合を分類するための弱仮説を次のように定義する。
定義2
素性集合fを規則、xを入力の素性集合とする。また、実数cを規則fの確信度としたとき、規則の適用を以下に定義する。
Figure 0005206197
Boostingに基づく規則学習は、T種類の規則素性集合とその確信度の組み合わせ(<f1,c1>,...,<fT,cT>)をT回のBoostingラウンドでの弱学習器による学習にて獲得し、以下に定義されるFを構築するものである。
Figure 0005206197
なお、ここでsign(x)は、xが0以上であれば1を、それ以外の場合には−1という関数を表す。
弱学習器は、学習データS{(xi,yi)}(1≦i≦m)と、t回目のBoostingラウンドの時点での各学習事例の重み{wt,1,...,wt,m}を用いて、規則ft及びその確信度ctを導出する。wt,i(0<wt,i)とは、i番目(1≦i≦m)の事例(xi,yi)のt回目(1≦t≦T)のBoostingラウンドの重みである。
弱学習器は、与えられた学習データと学習事例の重みを基に、規則として、以下の式を最小にする素性集合fとその確信度cを選択する。
Figure 0005206197
なお、[[π]]は、ある命題πが成り立つ場合に1、それ以外の場合に0とする。
式(1)を規則選択の基準として用いるのは、Boostingに基づく学習アルゴリズムのトレーニングエラーの上限値は、事例の重みの和に関連するためである。
式(1)を、ある規則fによって最小化する場合、その時の確信度cは以下のようになる。
Figure 0005206197
式(2)を式(1)に代入することで、以下の式が得られる。
Figure 0005206197
式(3)から、式(1)を最小化することは、以下に定義されるscoreを最大化する素性集合fを選択することと等価であることが分かる。
Figure 0005206197
次に、(ft,ct)を用いて、各事例の重みを更新する処理について説明する。なお、重みについては、全ての重みの和が1となるように正規化する場合と、そうでない場合とがある。
正規化する場合、t+1回目のラウンドでの重みwt+1,iは以下のように定義される。
Figure 0005206197
正規化しない場合には、以下のように定義される。
Figure 0005206197
なお、正規化する場合の重みの初期値w1,iは1/m(mは学習事例数)であり、正規化しない場合の重みの初期値w1,iは1とする。
また、素性の出現がスパース(わずかな事例にしか出現しないという意味)である場合には、Wt,+1(f)又はWt,-1(f)が非常に小さい値又は0になることが生ずる。これを避けるために、スムージングのための値εを導入する。
すなわち、式(2)を以下のように変形する。
Figure 0005206197
例えば、ε=1/mやε=1を用いる。
上で述べたような基本的なBoostingアルゴリズムでは、規則の候補数(すなわち素性の数)と規則の生成回数(すなわち、繰り返し処理のラウンド数)とが膨大である場合には、学習時間も非常に長くなり、問題となる。
そのため、規則の候補のうちの一部のみを利用して学習を行うような手法が考案されている。例えば、頻度やエントロピーなどの尺度で予め規則の候補の集合(バケットとも呼ぶ)を複数生成し、各ラウンドで1つの集合から1つの規則を選択するという手法がある。以下、この手法による処理内容を図1乃至図11を用いて説明する。
まず、1又は複数の素性を含む素性集合xiと−1又は+1であるラベルyiとの組み合わせである事例をm個含む学習データS={(x1,y1),(x2,y2),...(xm,ym)}と、m個の事例に対応するm個の重みの初期値D1(i)=1(1≦i≦m)と、繰り返し回数Nと、繰り返し回数をカウントするための変数l=1と、バケット数Mと、バケットIDの変数b=1(1≦b≦M)とを設定する(ステップS101)。理解を促すため、図2に示すような学習データについて処理する例を説明する。図2では、4つの学習事例が含まれている。第1の学習事例は、素性a,b及びcを含む素性集合と+1のラベルを含み、当該学習事例の重みは1である。第2の学習事例は、素性c及びdを含む素性集合と−1のラベルを含み、当該学習事例の重みは1である。第3の学習事例は、素性a及びcを含む素性集合と+1のラベルを含み、当該学習事例の重みは1である。第4の学習事例は、素性a及びbを含む素性集合と+1のラベルを含み、当該学習事例の重みは1である。
次に、学習データSに含まれる素性を規則候補として抽出し、各素性について、関係する学習事例の重みから素性の重みを算出し、当該素性の重みに応じてM個のバケット(B[1],...,B[M])に分配する(ステップS103)。具体的には、素性aは、第1、第3及び第4の学習事例の素性集合に含まれ、それらの重みを加算することによって、素性aの重み=3が得られる。同様に、素性bは、第1及び第4の学習事例の素性集合に含まれ、それらの重みを加算することによって、素性bの重み=2が得られる。素性cは、第1、第2及び第3の学習事例の素性集合に含まれ、それらの重みを加算することによって、素性cの重み=3が得られる。素性dは、第2の学習事例の素性集合に含まれ、それらの重みが加算することによって、素性dの重み=1が得られる。これをまとめると、図3に示すような素性と素性の重みとが得られる。そして、素性の重みで素性を降順にソートすると、図4に示すような結果が得られる。すなわち、a、c、b、dの順番が得られる。ここでM=2とすると、素性aをバケット1に、素性cをバケット2に、素性bをバケット1に、素性dをバケット2に、交互に分配する。すなわち、図5に示したように、バケット1には、素性a及びbが含まれ、バケット2には、素性c及びdが含まれるようになる。
次に、重みDl(i)に従って、バケットB[b]に含まれる各規則候補(すなわち素性)についてゲインを算出し、ゲイン最大値の規則候補を規則hlとして選択する(ステップS105)。ゲインは、規則候補fに対して以下のように定義される。
gain(f)=|sqrt(W(f,+1)),sqrt(W(f,-1))|
ここで、W(f,LABEL)は、規則候補fが出現する学習事例であってラベルがLABEL(+1又は−1)である学習事例の重みの和である。sqrt(x)はx1/2を表し、|x|はxの絶対値を表す。
例えばバケット1に含まれる規則候補a及びbについて処理する場合には、図2によれば、gain(a)=|sqrt(3)−sqrt(0)|=31/2と計算される。同様に、gain(b)=|sqrt(2)−sqrt(0)|=21/2と計算される。まとめると、図6に示すようになる。よって、規則候補a及びbのうち、ゲインの値の大きい規則候補aが規則h1として選択される。
次に、重みDl(i)を用いて、規則hlの確信度αlを算出し、規則hl及び確信度αlを規則データ格納部に登録する(ステップS107)。確信度αlの計算については、式(7)に従って行われる。但し、c=αlである。例えば、規則aの確信度は「1.28」と計算される。
さらに、規則hl及び確信度αlを基に、重みDl(i)を重みDl+1(i)に更新する(ステップS109)。次の段階のための重みは、式(5)又は(6)によって計算される。図2に示した重みは、式(6)を用いると、図7に示すような重みに更新される。なお、wt,i=Dl(i)である。具体的には、第1、第3及び第4の学習事例についての重みが0.27に更新される。
そして、lを1インクリメントし(ステップS111)、bを1インクリメントする(ステップS113)。但し、M<bとなった場合には、bを1に戻す。
その後、lがNより小さいか判断し(ステップS115)、lがNより小さい場合にはステップS105に戻る。一方、lがNより大きくなった場合には処理を終了する。
上で述べた例では、B[2]の処理に移行して、バケット2に含まれる規則候補c及びdについて、それぞれゲインを算出すると、図8に示すような値が得られる。具体的には、gain(c)=|sqrt(0.54)−sqrt(1)|=0.25であり、gain(d)=|sqrt(0)−sqrt(1)|=1である。これによって、規則候補dが規則h2として選択される。
次に、規則dの確信度を式(7)に従って計算すると「−0.81」が得られる。この規則dとその確信度「−0.81」を用いて、次の段階の学習事例の重みを式(6)を用いて算出すると、図9に示すような値が得られる。素性dが含まれる第2の学習事例の重みのみが「0.44」に更新される。
さらに、B[1]の処理に移行して、バケット1に含まれる規則候補a及びbについて、それぞれゲインを算出すると、図10に示すような値が得られる。ここでも、ゲインの大きい方の規則候補は、aである。従って、aが規則として選択される。そして、規則aの確信度を式(7)に従って計算すると「0.73」が得られる。
このような処理を実施して、規則データ格納部に登録される規則及び確信度の組は、図11に示すようなものになる。
この段階において学習が終了して分類時(すなわち−1か+1の判別時)には、以下のような処理が行われる。すなわち、「abe」が入力事例として入力されると、図11の第1及び第3レコードから、確信度の和=1.28+0.73=2.01が得られる。このように、確信度の和が正であれば、「abe」は+1と分類される。
一方、「de」が入力事例として入力されると、図11の第2レコードから、確信度の和=−0.81が得られる。このように、確信度の和が負であれば、「de」は−1と分類される。
但し、図1のステップS105乃至S115を繰り返しても、規則a及びdが連続して選択されてしまい、規則候補b、c及びeは選択されない。すなわち、最初のバケットへの分配処理に依存してしまって、学習の対象が偏ってしまう。このように、第1乃至第4の学習事例についての分類精度は100%になっても、規則候補b、c及びeは一度も選択されず、規則は生成されない。従って、「be」という入力事例が入力された場合、確信度の和は「0」となり、適切に分類されない。但し、「0」の場合には、予め+1又は−1のいずれかにするか決めておく。
図1に示したような方法ではなく、(1)所定回数以上出現する規則候補のみを利用して、学習を行う方法や、(2)各ラウンドで規則候補をランダムに選択する方法などがある。しかしながら、(1)では、学習されない規則候補が出てきてしまうという問題がある。また、(2)では、異なる規則候補が各ラウンドで選択されるようになるが、学習の再現性がないという問題がある。
Y. Freund and L. Mason. The alternating decision tree learning algorithm,. In Proc.of 16th ICML,pages124-133,1999 R. E. Schapire and Y. Singer. Improved boosting using confidence-rated predictions. Machine Learning,37(3):297-336,1999 R. E. Schapire and Y. Singer. Boostexter:A boosting-based system for text categorization. Machine Learning,39(2/3):135-168,2000 Gerard Escudera, Llu' is M'arquez, and German Rigau, 200, Boosting applied to word sense disambiguation, In Proc. of 11th ECML, pages 129-141
以上のように、従来技術では、学習する規則候補に偏りが生じたり、学習に再現性がなかったりというような問題がある。
従って、本技術の目的は、Boostingアルゴリズムにおいて再現性を保持しつつ学習の偏りを無くすように規則の学習を行うことである。
本規則学習方法は、1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性を、学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配ステップと、各バケットについて、当該バケットに属する素性のうち学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を規則データ格納部に格納すると共に、当該特定された規則と対応する確信度と学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、学習事例データ格納部に格納されている重みを更新するバケット処理ステップと、全てのバケットについてバケット処理ステップが実施されてもさらに規則及び確信度の生成が必要な場合には、分配ステップを再度実施させ、その後さらにバケット処理ステップを実施させるステップとを含む。
Boostingアルゴリズムにおいて再現性を保持しつつ学習の偏りを無くすように規則の学習を行うことができる。
以下、本技術の実施の形態を説明する。図12に本実施の形態におけるシステムの機能ブロック図を示す。本システムは、学習データなどの入力を行うための学習データ入力部1と、学習データ入力部1によって入力された学習データなどを格納する学習データ格納部3と、学習データ格納部3に格納されているデータを用いて本実施の形態における主要な処理を実施する規則学習部5と、規則学習部5の処理結果である規則データを格納する規則データ格納部7と、生成された規則を適用して分類を行う対象である分類データを入力するための分類データ入力部9と、分類データ入力部9によって入力された分類データを格納する分類データ格納部11と、規則データ格納部7に格納されている規則データを、分類データ格納部11に格納されている処理対象データに適用して、分類を行う規則適用部13と、規則適用部13の処理結果を格納する処理結果格納部15とを有する。
なお、本技術の前提において述べたマッピングF:χ−>yを実施するのが規則適用部13であり、χが分類データを表し、yが処理結果を表す。このように、規則適用部13の処理内容については従来と同じであり、規則データ格納部7に格納される規則データと、分類データ入力部9によって分類データ格納部11に格納されている分類データとが用意されれば、従来どおり処理が行われ、処理結果についても、同様に格納される。すなわち、χに含まれる素性に対応する規則の確信度の和が正であれば+1に、負であれば−1に分類する。従って、以下では説明を省略する。
次に、図13乃至図18を用いて、本実施の形態における規則学習部5等の処理内容について説明する。
まず、学習データ入力部1は、例えばユーザからの指示に従って、1又は複数の素性を含む素性集合xiと−1又は+1であるラベルyiとの組み合わせである事例をm個含む学習データS={(x1,y1),(x2,y2),...(xm,ym)}と、m個の事例に対応するm個の重みの初期値D1(i)=1と、繰り返し回数Nと、繰り返し回数をカウントするためのl=1と、バケット数Mと、バケットIDの変数b=1(1≦b≦M)とについての入力を受け付け、学習データ格納部3に格納する(ステップS1)。なお、背景技術の欄で用いた具体例を、比較のためにそのまま本実施の形態でも用いることとする。すなわち、図2と同じ学習データを処理するものとする。
次に、規則学習部5は、学習データSに含まれる素性を規則候補として抽出し、各素性について、関係する学習事例の重みから素性の重みを算出し、当該素性の重みに応じてM個のバケット(B[1],...,B[M])に分配する(ステップS3)。素性の重みについては、背景技術の欄で述べたのと同じように計算される。すなわち、図3に示すような素性と素性の重みとが得られる。そして、素性の重みで素性を降順にソートすると、図4に示すような結果が得られる。すなわち、a、c、b、dの順番が得られる。そして、M=2であるので、素性aをバケット1に、素性cをバケット2に、素性bをバケット1に、素性dをバケット2に、交互に分配する。すなわち、図5に示したように、バケット1には、素性a及びbが含まれ、バケット2には、素性c及びdが含まれるようになる。
次に、規則学習部5は、重みDl(i)(1≦l≦m)に従って、バケットB[b]に含まれる各規則候補(すなわち素性)についてゲインを算出し、ゲイン最大値の規則候補を規則hlとして選択する(ステップS5)。ゲインは、背景技術の欄で述べたのと同じように計算される。そして、ゲインの計算結果は、図6に示すようになる。よって、規則候補a及びbのうち、ゲインの値の大きい規則候補aが規則h1として選択される。
次に、規則学習部5は、重みDl(i)を用いて、規則hlの確信度αlを算出し、規則hl及び確信度αlを規則データ格納部7に登録する(ステップS7)。確信度αlの計算については、式(7)に従って行われる。例えば、規則aの確信度は「1.28」と計算される。
さらに、規則学習部5は、規則hl及び確信度αlを基に、重みDl(i)を重みDl+1(i)に更新する(ステップS9)。次の段階のための重みは、式(5)又は(6)によって計算される。図2に示した重みは、式(6)を用いると、図7に示すような重みに更新される。
その後、規則学習部5は、lを1インクリメントすると共に(ステップS11)、bも1インクリメントする(ステップS13)。処理は端子Aを介して、図14の処理に移行する。
図14の処理の説明に移行して、規則学習部5は、bがMを超えたか判断する(ステップS15)。bがMを超えていない場合には、lがNより小さいか判断する(ステップS19)。lがNより小さい場合には、端子Bを介してステップS5に戻る。一方、lがN以上となった場合には、処理を終了する。
上で述べた例では、次にバケット2について処理に移行して、バケット2に含まれる規則候補c及びdについて、それぞれゲインを算出すると、図8に示すような値が得られる。これによって、規則候補dが規則h2として選択される。
次に、規則dの確信度を式(7)に従って計算すると「−0.81」が得られる。この規則dとその確信度「−0.81」を用いて、次の段階の学習事例の重みを式(6)を用いて算出すると、図9に示すような値が得られる。ここまでの処理結果は、背景技術の欄で述べたものと同じである。
一方、bがMを超えた場合には、規則学習部5は、バケット再配分処理を実施する(ステップS17)。このバケット再配分処理については、図15を用いて説明する。
まず、規則学習部5は、学習データ格納部3に格納されている学習データに含まれる未処理の素性を1つ特定する(ステップS21)。そして、特定された素性について、関係する学習事例の重みDl(i)(すなわち、特定された素性が素性集合に含まれる学習事例についての重み)から素性の重みを算出し、事例重みテーブルに登録する(ステップS23)。その後、学習データに含まれる全ての素性について処理したか判断する(ステップS25)。未処理の素性が存在する場合にはステップS21に戻る。一方、全ての素性について処理した場合には、ステップS27に移行する。
図9の状態において、素性a、b、c及びdについてそれぞれ素性の重みを算出すると、図16Aに示すような事例重みテーブルが得られる。具体的には、素性aの重みは、0.27+0.27+0.27=0.81である。素性bの重みは、0.27+0.27=0.54である。素性cの重みは、0.27+0.44+0.27=0.98である。さらに、素性dの重みは、0.44である。
そして、規則学習部5は、事例重みテーブルのレコードを、素性の重みを基に降順にソートする(ステップS27)。図16Aに示した事例重みテーブルをソートすると、図16Bに示すようになる。すなわち、素性c、a、b、dの順番に並べられる。
そして、規則学習部5は、カウンタtを1に初期化し(ステップS29)、t番目のレコードの素性を、(MOD(t,M))番目のバケットに配分する(ステップS31)。MOD(t,M)は、Mを法とするtの剰余であり、t/Mの余りである。t=1であれば、1/2で余り1である。すなわち、素性cはバケット1に配分される。
そして規則学習部5は、tを1インクリメントし(ステップS33)、事例重みテーブルにおいて未処理のレコードがあるか判断する(ステップS35)。未処理のレコードが存在すればステップS31に戻る。
次に素性aについては、バケット2に分配され、素性bについては、バケット1に分配され、素性dについては、バケット2に分配される。すなわち、図17に示すように、バケット1には、素性b及びcが分配され、バケット2には、素性a及びdが分配される。
そして、未処理のレコードが存在していなければ、bを1に戻して、元の処理に戻る(ステップS37)。
図13のステップS5に戻ると、バケット1の中からゲイン最大の素性を選択するが、図9の学習事例の重みの状態からゲインは図18に示すように計算される。図18に示すように、素性bのゲインが最大となるので、素性bが選択される。背景技術の欄のようなバケットの再構成が行われない場合には、素性aとcとが繰り返し選択されて、素性bが選択されることはなかったが、本実施の形態では素性bが選択されるようになるので、学習の偏りを無くすことができるようになる。当然ながら、同じ学習事例であれば同じように学習が行われるので、再現性も担保されている。
なお、適切な素性を選択するために素性の種類を変更して実験することがしばしば行われるが、再現性がないと、素性の変更の是非を正しく判断できなくなるので、再現性は非常に重要である。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図12に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュールと対応するわけではない。
また、同じような効果が得られる限りにおいて処理ステップの順番を入れ替えたり、並列に実行させることができる。
また、本技術を他の弱学習器を扱うBoostingアルゴリズムにも適用可能である。例えば、他の弱学習器の例としては、C4.5というアルゴリズムが存在している(例えば、C4.5: Programs for Machine Learning (Morgan Kaufmann Series in Machine Learningを参照のこと)。C4.5は、Decision Tree(決定木)という形の弱仮説(すなわち、規則)を学習する。このC4.5に対して本技術を適用する場合には、Decision Tree を構成する最初のノードを学習する候補として、あるバケットに存在する素性だけを使うということで適用可能である。後は通常のC4.5のアルゴリズムと同じである。
さらに、木やグラフを分類する弱学習器を扱うBoostingアルゴリズムであっても最初に計算を開始する素性をあるバケットに存在するものと制限することで、同様に適用することができる。
例えば以下のような文献を参照のこと。
文献:Kudo, Taku, Matsumoto, Yuji. A Boosting Algorithm for Classification of Semi-Structured Text. 2004,. Proceedings of EMNLP 2004, 301-308.
文献:Taku Kudo, Eisaku Maeda, Yuji Matsumoto. An Application of Boosting to Graph Classification. 2004. Proceedings of NIPS 2004.
上で述べた本実施の形態をまとめると以下のようになる。
本規則学習方法は、1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性を、学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配ステップと、各バケットについて、当該バケットに属する素性のうち学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を規則データ格納部に格納すると共に、当該特定された規則と対応する確信度と学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、学習事例データ格納部に格納されている重みを更新するバケット処理ステップと、全てのバケットについてバケット処理ステップが実施されてもさらに規則及び確信度の生成が必要な場合には、分配ステップを再度実施させ、その後さらにバケット処理ステップを実施させるステップとを含む。
このように学習事例の重みに応じてバケットを再構成することによって、選択される素性の偏りを生じさせることなく、学習の再現性も担保できる。
なお、上で述べた分配ステップは、学習事例に含まれる各素性について、学習事例の重みに基づいて当該素性の重みを算出するステップと、素性の重みの値によって各素性を降順にソートし、ソート順に所定個数のバケットの各々に、各素性を分配するステップとを含むようにしてもよい。これによって、現在の学習事例の重みに応じたバケットの再構成が適切に行われるようになる。
また、上で述べた素性の重みが、当該素性が出現する学習事例の重みの和である場合もある。
さらに、上で述べたゲインが、処理対象の素性が出現する学習事例であってラベルが+1のものの学習事例の重みの和の平方根と、処理対象の素性が出現する学習事例であってラベルが−1のものの学習事例の重みの和の平方根との差の絶対値で算出されるようにしてもよい。
なお、上記方法は、コンピュータと当該コンピュータによって実行されるプログラムとの組み合わせにて実行される場合があり、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
また、上記システムは、コンピュータ装置であって、図19に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
(付記1)
1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性を、前記学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配ステップと、
各前記バケットについて、当該バケットに属する前記素性のうち前記学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について前記学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を規則データ格納部に格納すると共に、当該特定された規則と対応する前記確信度と前記学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新するバケット処理ステップと、
全ての前記バケットについて前記バケット処理ステップが実施されてもさらに規則及び確信度の生成が必要な場合には、前記分配ステップを再度実施させ、その後さらに前記バケット処理ステップを実施させるステップと、
を含み、コンピュータにより実行される規則学習方法。
(付記2)
前記分配ステップが、
前記学習事例に含まれる各素性について、前記学習事例の重みに基づいて当該素性の重みを算出するステップと、
前記素性の重みの値によって各素性を降順にソートし、ソート順に前記所定個数のバケットの各々に、各前記素性を分配するステップと、
を含む付記1記載の規則学習方法。
(付記3)
前記素性の重みが、当該素性が出現する学習事例の重みの和である
付記1又は2記載の規則学習方法。
(付記4)
前記ゲインが、処理対象の素性が出現する学習事例であってラベルが+1のものの学習事例の重みの和の平方根と、前記処理対象の素性が出現する学習事例であってラベルが−1のものの学習事例の重みの和の平方根との差の絶対値で算出される
付記1記載の規則学習方法。
(付記5)
1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性を、前記学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配ステップと、
各前記バケットについて、当該バケットに属する前記素性のうち前記学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について前記学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を規則データ格納部に格納すると共に、当該特定された規則と対応する前記確信度と前記学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新するバケット処理ステップと、
全ての前記バケットについて前記バケット処理ステップが実施されてもさらに規則及び確信度の生成が必要な場合には、前記分配ステップを再度実施させ、その後さらに前記バケット処理ステップを実施させるステップと、
をコンピュータに実行させるための規則学習プログラム。
(付記6)
1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部と、
前記学習事例データ格納部に登録されている各素性を、前記学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配手段と、
規則データ格納部と、
各前記バケットについて、当該バケットに属する前記素性のうち前記学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について前記学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を前記規則データ格納部に格納すると共に、当該特定された規則と対応する前記確信度と前記学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新するバケット処理手段と、
を有し、
全ての前記バケットを前記バケット処理手段が処理してもさらに規則及び確信度の生成が必要な場合には、前記分配手段を再度動作させ、その後さらに前記バケット処理手段を動作させる、
規則学習装置。
公知技術の処理フローを示す図である。 学習データの一例を示す図である。 素性の重みの計算例を示す図である。 素性の重みに応じたソート結果を示す図である。 公知技術におけるバケット構成例を示す図である。 バケット1のゲインの計算結果を示す図である。 第1ラウンドの結果に基づく重みの更新例を示す図である。 バケット2のゲインの計算結果を示す図である。 第2ラウンドの結果に基づく重みの更新例を示す図である。 バケット1のゲインの計算結果を示す図である。 規則データ格納部に格納される公知技術における規則及び確信度の組を表す図である。 本技術の実施の形態におけるシステムの機能ブロック図である。 本技術の実施の形態におけるメインの処理フローを示す図である。 本技術の実施の形態におけるメインの処理フローを示す図である。 バケット再配分処理の処理フローを示す図である。 背景技術の欄の例についてバケット再配分処理において算出される素性の重みを示す図である。 素性の重みに応じたソート結果を示す図である。 バケット再配分結果を示す図である。 第3ラウンドにおけるバケット1のゲインの計算結果を示す図である。 コンピュータの機能ブロック図である。
符号の説明
1 学習データ入力部 3 学習データ格納部
5 規則学習部 7 規則データ格納部
9 分類データ入力部 11 分類データ格納部
13 規則適用部 15 処理結果格納部

Claims (6)

  1. 1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性を、前記学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配ステップと、
    各前記バケットについて、当該バケットに属する前記素性のうち前記学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について前記学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を規則データ格納部に格納すると共に、当該特定された規則と対応する前記確信度と前記学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新するバケット処理ステップと、
    全ての前記バケットについて前記バケット処理ステップが実施されてもさらに規則及び確信度の生成が必要な場合には、前記分配ステップを再度実施させ、その後さらに前記バケット処理ステップを実施させるステップと、
    を含み、コンピュータにより実行される規則学習方法。
  2. 前記分配ステップが、
    前記学習事例に含まれる各素性について、前記学習事例の重みに基づいて当該素性の重みを算出するステップと、
    前記素性の重みの値によって各素性を降順にソートし、ソート順に前記所定個数のバケットの各々に、各前記素性を分配するステップと、
    を含む請求項1記載の規則学習方法。
  3. 前記素性の重みが、当該素性が出現する学習事例の重みの和である
    請求項1又は2記載の規則学習方法。
  4. 前記ゲインが、処理対象の素性が出現する学習事例であってラベルが+1のものの学習事例の重みの和の平方根と、前記処理対象の素性が出現する学習事例であってラベルが−1のものの学習事例の重みの和の平方根との差の絶対値で算出される
    請求項1記載の規則学習方法。
  5. 1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性を、前記学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配ステップと、
    各前記バケットについて、当該バケットに属する前記素性のうち前記学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について前記学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を規則データ格納部に格納すると共に、当該特定された規則と対応する前記確信度と前記学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新するバケット処理ステップと、
    全ての前記バケットについて前記バケット処理ステップが実施されてもさらに規則及び確信度の生成が必要な場合には、前記分配ステップを再度実施させ、その後さらに前記バケット処理ステップを実施させるステップと、
    をコンピュータに実行させるための規則学習プログラム。
  6. 1又は複数の素性を含む素性集合と−1と+1のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部と、
    前記学習事例データ格納部に登録されている各素性を、前記学習事例の重みに基づく当該素性の重みに応じて、所定個数のバケットに分配する分配手段と、
    規則データ格納部と、
    各前記バケットについて、当該バケットに属する前記素性のうち前記学習事例の重みに基づくゲインの値が最大となる素性を規則として特定し、当該特定された規則について前記学習事例の重みに基づき確信度を算出して当該特定された規則と当該確信度との組を前記規則データ格納部に格納すると共に、当該特定された規則と対応する前記確信度と前記学習事例のデータと当該学習事例の重みとを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新するバケット処理手段と、
    を有し、
    全ての前記バケットを前記バケット処理手段が処理してもさらに規則及び確信度の生成が必要な場合には、前記分配手段を再度動作させ、その後さらに前記バケット処理手段を動作させる、
    規則学習装置。
JP2008193068A 2008-07-28 2008-07-28 規則学習方法、プログラム及び装置 Active JP5206197B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008193068A JP5206197B2 (ja) 2008-07-28 2008-07-28 規則学習方法、プログラム及び装置
US12/507,379 US8370276B2 (en) 2008-07-28 2009-07-22 Rule learning method, program, and device selecting rule for updating weights based on confidence value

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008193068A JP5206197B2 (ja) 2008-07-28 2008-07-28 規則学習方法、プログラム及び装置

Publications (2)

Publication Number Publication Date
JP2010033214A JP2010033214A (ja) 2010-02-12
JP5206197B2 true JP5206197B2 (ja) 2013-06-12

Family

ID=41569519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008193068A Active JP5206197B2 (ja) 2008-07-28 2008-07-28 規則学習方法、プログラム及び装置

Country Status (2)

Country Link
US (1) US8370276B2 (ja)
JP (1) JP5206197B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6127778B2 (ja) * 2013-06-28 2017-05-17 富士通株式会社 モデル学習方法、モデル学習プログラム及びモデル学習装置
CN107153630B (zh) 2016-03-04 2020-11-06 阿里巴巴集团控股有限公司 一种机器学习系统的训练方法和训练系统
US10872339B1 (en) 2016-03-25 2020-12-22 State Farm Mutual Automobile Insurance Company Reducing false positives using customer feedback and machine learning
US12125039B2 (en) 2016-03-25 2024-10-22 State Farm Mutual Automobile Insurance Company Reducing false positives using customer data and machine learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4804398B2 (ja) * 2007-03-30 2011-11-02 三洋電機株式会社 撮像装置及び撮影方法

Also Published As

Publication number Publication date
US20100023467A1 (en) 2010-01-28
JP2010033214A (ja) 2010-02-12
US8370276B2 (en) 2013-02-05

Similar Documents

Publication Publication Date Title
Chvalovský et al. ENIGMA-NG: efficient neural and gradient-boosted inference guidance for E
Friedman et al. Learning Bayesian network structure from massive datasets: The" sparse candidate" algorithm
Zaremba et al. Learning to discover efficient mathematical identities
CN111444320A (zh) 文本检索方法、装置、计算机设备和存储介质
US8738674B2 (en) Information processing apparatus, information processing method and program
US11481560B2 (en) Information processing device, information processing method, and program
CN113761218A (zh) 一种实体链接的方法、装置、设备及存储介质
JP6291443B2 (ja) 接続関係推定装置、方法、及びプログラム
JP7141371B2 (ja) 学習データの精練方法及び計算機システム
KR20240138087A (ko) 전문가 혼합(Mixture-of-Expert) 신경망에서 전문가 서브네트워크로의 라우팅
Rooshenas et al. Discriminative structure learning of arithmetic circuits
Ledezma et al. GA-stacking: Evolutionary stacked generalization
JP5206197B2 (ja) 規則学習方法、プログラム及び装置
Sadrfaridpour et al. Algebraic multigrid support vector machines
JP5206196B2 (ja) 規則学習方法、プログラム及び装置
JP2010272004A (ja) 判別装置及び判別方法、並びにコンピューター・プログラム
CN112446206A (zh) 一种菜谱标题的生成方法及装置
JP7532300B2 (ja) 情報処理方法、プログラム及び情報処理装置
JP2020052766A (ja) 判定装置及び判定方法
JP7576790B2 (ja) 学習装置、学習方法及び学習プログラム
CN107402914B (zh) 自然语言深度学习系统和方法
WO2022185457A1 (ja) 特徴量抽出装置、学習装置、特徴量抽出方法、学習方法、及びプログラム
Bellanger et al. A One-Vs-One Approach to Improve Tangled Program Graph Performance on Classification Tasks.
KR102668118B1 (ko) 자연어 기반의 비디오 검색을 위한 학습 장치 및 학습 방법
Ramos-Jiménez et al. Induction of decision trees using an internal control of induction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

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: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5206197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150