(57)【要約】【課題】Boostingによる規則学習を高速化すると共に、トレーニングエラーの上限値の増加を防止する。【解決手段】評価値の高い素性を複数個１学習ラウンドで一度に抽出したとしても、複数個の素性に対応する確信度を一括して算出するのではなく、対応する確信度の算出及び重みの更新を上記複数個の素性の各々について行うことによって、トレーニングエラーの上限値を増加させることなく、高速に規則学習を実施することができるようになる。【選択図】図１１
2010033213.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を前記学習事例のデータ及び当該学習事例の重みとを用いて算出し、前記素性に対応して評価値格納部に格納する評価値算出ステップと、
前記評価値格納部に格納されている前記評価値の大きい順に所定個数の素性を選択する選択ステップと、
選択された前記所定個数の素性のうち１つの素性について、前記学習事例データ格納部に登録されている前記学習事例のデータ及び当該学習事例の重みとを用いて前記確信度を算出して前記１つの素性と前記確信度の組を規則データ格納部に格納すると共に、前記学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新する更新ステップと、
前記更新ステップを前記所定個数の素性のうち残余の素性について繰り返す繰り返しステップと、
前記評価値算出ステップと前記選択ステップと前記更新ステップと前記繰り返しステップとを所定回数繰り返すステップと、
を含み、コンピュータにより実行される規則学習方法。
【請求項２】
１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を前記学習事例のデータ及び当該学習事例の重みとを用いて算出し、前記素性に対応して評価値格納部に格納する評価値算出ステップと、
前記評価値格納部に格納されている前記評価値の大きい順に所定個数の素性を選択する選択ステップと、
選択された前記所定個数の素性のうち１つの素性について、前記学習事例データ格納部に登録されている前記学習事例のデータ及び当該学習事例の重みとを用いて前記確信度を算出して前記１つの素性と前記確信度の組を規則データ格納部に格納すると共に、前記学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新する更新ステップと、
前記更新ステップを前記所定個数の素性のうち残余の素性について繰り返す繰り返しステップと、
前記評価値算出ステップと前記選択ステップと前記更新ステップと前記繰り返しステップとを所定回数繰り返すステップと、
を、コンピュータに実行させるための規則学習プログラム。
【請求項３】
１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部と、
評価値格納部と、
前記学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を前記学習事例のデータ及び当該学習事例の重みとを用いて算出し、前記素性に対応して前記評価値格納部に格納する評価値算出手段と、
前記評価値格納部に格納されている前記評価値の大きい順に所定個数の素性を選択する選択手段と、
規則データ格納部と、
選択された前記所定個数の素性のうち１つの素性について、前記学習事例データ格納部に登録されている前記学習事例のデータ及び当該学習事例の重みとを用いて前記確信度を算出して前記１つの素性と前記確信度の組を前記規則データ格納部に格納すると共に、前記学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新する更新手段と、
を有し、
前記更新手段の処理を、前記所定個数の素性の各々について繰り返し実施させ、
前記評価値算出手段による処理と前記選択手段による処理と前記更新手段による処理を前記所定個数の素性の各々について繰り返させる処理とを所定回数繰り返させる
規則学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、 機械学習に関し、より詳しくは機械学習における規則学習の高速化技術に関する。
【背景技術】
【０００２】
機械学習アルゴリズムには様々なものが知られているが、その中でもブースティング（Ｂｏｏｓｔｉｎｇ）というアルゴリズムが存在している。ここでは、Ｂｏｏｓｔｉｎｇアルゴリズムの中でも以下で示す非特許文献３及び非特許文献４におけるＡｄａＢｏｏｓｔという手法に基づく学習手法について検討する。以下、特に述べない限り、ＢｏｏｓｔｉｎｇはＡｄａＢｏｏｓｔを示すものとする。
【０００３】
Ｂｏｏｓｔｉｎｇでは、与えられた弱学習器を使って、異なる重みを持つ学習事例から複数の弱仮説（すなわち規則）を生成する。そして、事例の重みを変更しつつ、学習事例から繰り返し複数の弱仮説を生成して、最終的に、弱仮説の組み合わせである最終仮説を生成する。なお、今までに学習した弱仮説にて正しく分類できる事例には小さい重みを、正しく分類できない事例には大きい重みが割り当てられるようにする。
【０００４】
より具体的には、学習事例に対する誤り数（すなわちエラー数）であるトレーニングエラーの上限値を減らす方向で事例の重みを更新する。トレーニングエラーの上限値は、実際のトレーニングエラーより大きな値であり、Ｂｏｏｓｔｉｎｇにおける事例の重みの和である。このようなトレーニングエラーの上限値を下げてゆくことによって、トレーニングエラー自体も下げてゆく。
【０００５】
今回の説明では、弱学習器としてある規則学習器を扱うＢｏｏｓｔｉｎｇアルゴリズムに基づき説明を行う。また、以降、このアルゴリズムをＢｏｏｓｔｉｎｇアルゴリズムと記すことにする。まず、簡単なＢｏｏｓｔｉｎｇアルゴリズムについて図１を用いて説明する。まず、１又は複数の素性を含む素性集合ｘiと−１又は＋１であるラベルｙiとの組み合わせである事例をｍ個含む学習データＳ＝｛（ｘ1，ｙ1），（ｘ2，ｙ2），．．．（ｘm，ｙm）｝と、ｍ個の事例に対応するｍ個の重みの初期値ｗ1,i＝１（１≦ｉ≦ｍ）と、繰り返し回数Ｎと、繰り返し回数をカウントするための変数ｔ＝１とを設定する（ステップＳ１０１）。
【０００６】
そして、事例の重みｗt,iに従って学習データに含まれる各素性のスコア（ゲインとも呼ぶ）を算出し、当該スコアが最大となる素性を規則ｆtとして抽出する（ステップＳ１０３）。スコアの計算については、例えば、以下で述べる式（４）を用いる。なお、素性の数が１０万程度で、学習データに含まれる事例の数も１０万程度となる場合もあり、スコア計算に相当な時間がかかるが、選択される素性は１つのみである。
【０００７】
さらに、事例の重みｗt,iを用いて規則ｆtの確信度ｃtを算出し、規則ｆt及び確信度ｃtをｔ番目の規則及び確信度として格納する（ステップＳ１０５）。確信度ｃtについては、例えば、以下で述べる式（２）又は（７）を用いる。
【０００８】
その後、事例の重みｗt,iと規則ｆt及び確信度ｃtとにより、新たな重みｗt+1,i（１≦ｉ≦ｍ）を算出し、更新登録する（ステップＳ１０７）。新たな重みｗt+1,iについては、例えば、以下で述べる式（６）を用いる。
【０００９】
そして変数ｔの値を１インクリメントし（ステップＳ１０９）、ｔが繰り返し回数Ｎより小さい場合には（ステップＳ１１１：Ｙｅｓルート）、ステップＳ１０３に戻る。一方、ｔが繰り返し回数Ｎに達した場合には（ステップＳ１１１：Ｎｏルート）、処理を終了する。
【００１０】
このような処理の結果得られた規則及び確信度の組み合わせを用いて、新たな入力について−１又は＋１のいずれかを判断する。
【００１１】
上で述べたように、一度の繰り返しにおいて規則及び確信度の組み合わせ１つしか生成できないので、素性の数や学習事例の数が増加すると、処理時間が膨大になるという問題がある。
【００１２】
このため図１に示したＢｏｏｓｔｉｎｇアルゴリズムの高速版が考案された。これを図２に示す。１又は複数の素性を含む素性集合ｘiと−１又は＋１であるラベルｙiとの組み合わせである事例をｍ個含む学習データＳ＝｛（ｘ1，ｙ1），（ｘ2，ｙ2），．．．（ｘm，ｙm）｝と、ｍ個の事例に対応するｍ個の重みの初期値ｗ1,i＝１（１≦ｉ≦ｍ）と、繰り返し回数Ｎと、一度に学習する規則数νと、繰り返し回数をカウントするための変数ｔ＝１とを設定する（ステップＳ１５１）。理解を促すため、図３に示すような学習データについて処理する例を説明する。図３では、３つの学習事例が含まれている。第１の学習事例は、素性ａ，ｂ及びｃを含む素性集合と＋１のラベルを含み、当該学習事例の重みは１である。第２の学習事例は、素性ａ，ｂ，ｃ及びｄを含む素性集合と−１のラベルを含み、当該学習事例の重みは１である。第３の学習事例は、素性ａ，ｂ及びｄを含む素性集合と＋１のラベルを含み、当該学習事例の重みは１である。
【００１３】
次に、事例の重みｗt,iに従って学習データに含まれる各素性のスコア（ゲインとも呼ぶ）を算出し、スコアの大きい順にν個の素性を規則ｆ’j（１≦ｊ≦ν）として抽出する（ステップＳ１５３）。スコアについては、例えば、以下で述べる式（４）を用いる。図３に示したデータからスコアを計算すると、図４に示すような結果が得られるものとする。すなわち、素性ａ及びｂについてはスコア「０．４１４」となり、素性ｃ及びｄについてはスコア「０」となる。ここでν＝３とすると、素性ａ，ｂ及びｃが選択されるものとする。
【００１４】
そして、事例の重みｗt,iを用いて、ν個の規則ｆ’jに対応するν個の確信度ｃ’jを一括して算出する（ステップＳ１５５）。確信度ｃ’tについては、例えば、以下で述べる式（２）又は（７）を用いる。本ステップでは、重みについては同じｗt,iを用いてν個の確信度ｃ’jを算出してしまう。上で述べた例では図５に示すように、規則ａ及びｂの確信度が０．２７９と算出され、規則ｃの確信度は０と算出される。
【００１５】
ここでｊを１に初期化し（ステップＳ１５７）、事例の重みｗt,iと規則ｆ’j及び確信度ｃ’jとにより、新たな重みｗt+1,i（１≦ｉ≦ｍ）を算出し、更新登録する（ステップＳ１５９）。新たな重みｗt+1,iについては、例えば、以下で述べる式（６）を用いる。上で述べた例では、規則ａについて重みの計算が行われ、図６に示すように、第１及び第３の学習事例の重みは０．７５に更新され、第２の学習事例の重みは１．３２に更新される。そして、規則ｆ’j及び確信度ｃ’jをｔ番目の規則及び確信度として登録する（ステップＳ１６１）。
【００１６】
そして変数ｔの値及び変数ｊの値をそれぞれ１インクリメントし（ステップＳ１６３）、ｊがν以下であるか判断する（ステップＳ１６５）。ｊがν以下である場合にはステップＳ１５９に移行する。
【００１７】
次に、ｊ＝２でステップＳ１５９を実行すると、上で述べた例では、規則ｂについて重みが計算され、図７に示すような新たな重みが更新登録される。すなわち、第１及び第３の学習事例の重みは０．５６に更新され、第２の学習事例の重みは１．７４に更新される。
【００１８】
さらに、ｊ＝３でステップＳ１５９を実行すると、規則ｃについて重みが計算され、図８に示すような新たな重みが更新登録される。但し、規則ｃの確信度が０であるので、図８は図７と同じになる。
【００１９】
一方、ｊがνを超えた場合には、ｔが繰り返し回数Ｎより小さいか判断し（ステップＳ１６７）、ｔ＜ＮであればステップＳ１５３に戻る。ステップＳ１５３に戻ってスコアを再計算すると、図９に示すような値が算出される。すなわち、規則ａ及びｂについてはスコア「０．２６」であり、規則ｃ及びｄについてはスコア「０．５７」となる。
【００２０】
一方、ｔが繰り返し回数Ｎに達した場合には（ステップＳ１６７：Ｎｏルート）、処理を終了する。
【００２１】
このような処理の結果得られた規則及び確信度の組み合わせを用いて、新たな入力について−１又は＋１のいずれかを判断する。
【００２２】
図２で示したような処理を行うことによって、一度の繰り返しにおいて規則及び確信度の組み合わせを複数生成することができるので、処理時間を短縮できる。
【非特許文献１】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
【発明の開示】
【発明が解決しようとする課題】
【００２３】
図２で示したような処理を実施する場合には、図１で示したような処理を行うより効率よく規則及び確信度の組み合わせを生成することができるが、図２の処理フローでは、スコアが上位所定数の規則を選択すると、一括して当該規則の確信度を同じ学習事例の重みを用いて算出してしまっている。このような処理を行うと、Ｂｏｏｓｔｉｎｇにおけるトレーニングエラーの上限値の増加が起こる可能性がある。Ｂｏｏｓｔｉｎｇのトレーニングエラーの上限値は、最小値を一点だけ有する関数であり、通常であれば、ある時点の事例の重みで、ある弱仮説に基づき上限値を最小化するための確信度を選択できる。しかしながら、図２の処理フローのように、一括して複数の規則に対応する確信度を同じ重みで算出して、それを繰り返すような処理を行う場合には、トレーニングエラーの上限値を必ず減少させるという保証はできなくなる。
【００２４】
従って、本技術の目的は、Ｂｏｏｓｔｉｎｇによる規則学習を高速化すると共に、トレーニングエラーの上限値の増加を防止することである。
【課題を解決するための手段】
【００２５】
本規則学習方法は、１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を学習事例のデータ及び当該学習事例の重みとを用いて算出し、素性に対応して評価値格納部に格納する評価値算出ステップと、評価値格納部に格納されている評価値の大きい順に所定個数の素性を選択する選択ステップと、選択された所定個数の素性のうち１つの素性について、学習事例データ格納部に登録されている学習事例のデータ及び当該学習事例の重みとを用いて確信度を算出して上記１つの素性と確信度の組を規則データ格納部に格納すると共に、学習事例のデータと当該学習事例の重みと当該１つの素性に対応する確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、学習事例データ格納部に格納されている重みを更新する更新ステップと、更新ステップを所定個数の素性のうち残余の素性について繰り返す繰り返しステップと、評価値算出ステップと選択ステップと更新ステップと繰り返しステップとを所定回数繰り返すステップとを含む。
【発明の効果】
【００２６】
Ｂｏｏｓｔｉｎｇによる規則学習を高速化すると共に、トレーニングエラーの上限値の増加を防止できるようになる。
【発明を実施するための最良の形態】
【００２７】
［本技術の前提］
まず、Ｂｏｏｓｔｉｎｇアルゴリズムが扱う問題について述べる。ここでχを事例集合とし、扱うラベル集合をｙ＝｛−１、＋１｝とする。また、学習の目的は、学習データＳ＝｛（ｘ1，ｙ1），．．．，（ｘm，ｙ1）｝から、マッピングＦ：χ−＞ｙを導出することである。
【００２８】
ここで、｜ｘ｜を、事例ｘ∈χに含まれる素性の種類とする。ｘi∈χ（１≦ｉ≦ｍ）とは、｜ｘi｜種類の素性から構成される素性集合とする。また、ここではｋ個の素性から構成される素性集合をｋ−素性集合と記する。さらに、ｙi∈ｙは、Ｓ中のｉ番目の素性集合のクラスレベルである。
【００２９】
ＦＴ＝｛ｆ1，ｆ2，．．．，ｆM｝をＢｏｏｓｔｉｎｇアルゴリズムが対象とするＭ種類の素性とする。各事例ｘiの各素性は、ｘi,j∈ＦＴ（１≦ｊ≦｜ｘi｜）となる。本技術は、バイナリのベクトルを取り扱うことも可能であるが、以下で述べる例では、各素性は、文字列で表現されるものとする。
【００３０】
また、ある素性集合が他の素性集合を包含する場合を次に定義する。
【００３１】
定義１
二つの素性集合ｘ、ｘ’において、ｘが有する全ての素性をｘ’が有する場合には、ｘはｘ’の部分素性集合と呼び、次のように記す。
ｘ⊆ｘ’
【００３２】
さらに、本実施の形態では、背景技術の欄で示した４番目の非特許文献で用いられているreal-valued predictions and abstaining（ＲＶＰＡ）の考えを元に規則を定義する。ＲＶＰＡでは、入力の素性集合が条件に合う場合、実数で表現される確信度を返し、条件に合わない場合は、「０」を返す。素性集合を分類するための弱仮説を次のように定義する。
【００３３】
定義２
素性集合ｆを規則、ｘを入力の素性集合とする。また、実数ｃを規則ｆの確信度としたとき、規則の適用を以下に定義する。
【数１】
2010033213.tif 000003
【００３４】
Ｂｏｏｓｔｉｎｇに基づく規則学習は、Ｔ種類の規則素性集合とその確信度の組み合わせ（<ｆ1，ｃ1>，．．．，<ｆT，ｃT>）をＴ回のＢｏｏｓｔｉｎｇラウンドでの弱学習器による学習にて獲得し、以下に定義されるＦを構築するものである。
【数２】
2010033213.tif 000004
なお、ここでｓｉｇｎ（ｘ）は、ｘが０以上であれば１を、それ以外の場合には−１という関数を表す。
【００３５】
弱学習器は、学習データＳ｛（ｘi，ｙi）｝（１≦ｉ≦ｍ）と、ｔ回目のＢｏｏｓｔｉｎｇラウンドの時点での各学習事例の重み｛ｗt,1，．．．，ｗt,m｝を用いて、規則ｆt及びその確信度ｃtを導出する。ｗt,i（０＜ｗt,i）とは、ｉ番目（１≦ｉ≦ｍ）の事例（ｘi，ｙi）のｔ回目（１≦ｔ≦Ｔ）のＢｏｏｓｔｉｎｇラウンドの重みである。
【００３６】
弱学習器は、与えられた学習データと学習事例の重みを基に、規則として、以下の式を最小にする素性集合ｆとその確信度ｃを選択する。
【数３】
2010033213.tif 000005
なお、［［π］］は、ある命題πが成り立つ場合に１、それ以外の場合に０とする。
【００３７】
式（１）を規則選択の基準として用いるのは、Ｂｏｏｓｔｉｎｇに基づく学習アルゴリズムのトレーニングエラーの上限値は、事例の重みの和に関連するためである。
【００３８】
式（１）を、ある規則ｆによって最小化する場合、その時の確信度ｃは以下のようになる。
【数４】
2010033213.tif 000006
【００３９】
式（２）を式（１）に代入することで、以下の式が得られる。
【数５】
2010033213.tif 000007
【００４０】
式（３）から、式（１）を最小化することは、以下に定義されるｓｃｏｒｅを最大化する素性集合ｆを選択することと等価であることが分かる。
【数６】
2010033213.tif 000008
【００４１】
次に、（ｆt，ｃt）を用いて、各事例の重みを更新する処理について説明する。なお、重みについては、全ての重みの和が１となるように正規化する場合と、そうでない場合とがある。
【００４２】
正規化する場合、ｔ＋１回目のラウンドでの重みｗt+1,iは以下のように定義される。
【数７】
2010033213.tif 000009
【００４３】
正規化しない場合には、以下のように定義される。
【数８】
2010033213.tif 000010
【００４４】
なお、正規化する場合の重みの初期値ｗ1,iは１／ｍ（ｍは学習事例数）であり、正規化しない場合の重みの初期値ｗ1,iは１とする。
【００４５】
また、素性の出現がスパース（わずかな事例にしか出現しないという意味）である場合には、Ｗt,+1（ｆ）又はＷt,-1（ｆ）が非常に小さい値又は０になることが生ずる。これを避けるために、スムージングのための値εを導入する。
【００４６】
すなわち、式（２）を以下のように変形する。
【数９】
2010033213.tif 000011
【００４７】
例えば、ε＝１／ｍやε＝１を用いる。
【００４８】
［実施の形態の具体的内容］
以上述べたような前提を元に、本技術の実施の形態を説明する。図１０に本実施の形態におけるシステムの機能ブロック図を示す。本システムは、学習データなどの入力を行うための学習データ入力部１と、学習データ入力部１によって入力された学習データなどを格納する学習データ格納部３と、学習データ格納部３に格納されているデータを用いて本実施の形態における主要な処理を実施する規則学習部５と、規則学習部５の処理結果である規則データを格納する規則データ格納部７と、生成された規則を適用して分類を行う対象である分類データを入力するための分類データ入力部９と、分類データ入力部９によって入力された分類データを格納する分類データ格納部１１と、規則データ格納部７に格納されている規則データを、分類データ格納部１１に格納されている処理対象データに適用して、分類を行う規則適用部１３と、規則適用部１３の処理結果を格納する処理結果格納部１５とを有する。
【００４９】
なお、本技術の前提において述べたマッピングＦ：χ−＞ｙを実施するのが規則適用部１３であり、χが分類データを表し、ｙが処理結果を表す。このように、規則適用部１３の処理内容については従来と同じであり、規則データ格納部７に格納される規則データと、分類データ入力部９によって分類データ格納部１１に格納されている分類データとが用意されれば、従来どおり処理が行われ、処理結果についても、同様に格納される。従って、以下では説明を省略する。
【００５０】
次に、図１１乃至図２１を用いて、本実施の形態における規則学習部５等の処理内容について説明する。
【００５１】
まず、学習データ入力部１は、例えばユーザからの指示に従って、１又は複数の素性を含む素性集合ｘiと−１又は＋１であるラベルｙiとの組み合わせである事例をｍ個含む学習データＳ＝｛（ｘ1，ｙ1），（ｘ2，ｙ2），．．．（ｘm，ｙm）｝と、ｍ個の事例に対応するｍ個の重みの初期値ｗ1,i＝１（１≦ｉ≦ｍ）と、繰り返し回数Ｎと、一度に学習する規則数νと、繰り返し回数をカウントするための変数ｔ＝１とについての入力を受け付け、学習データ格納部３に格納する（ステップＳ１）。理解を促すため、図１２に示すような学習データについて処理する例を説明する。図１２では、３つの学習事例が含まれている。第１の学習事例は、素性ａ，ｂ及びｃを含む素性集合と＋１のラベルを含み、当該学習事例の重みは１である。第２の学習事例は、素性ａ，ｂ，ｃ及びｄを含む素性集合と−１のラベルを含み、当該学習事例の重みは１である。第３の学習事例は、素性ａ，ｂ及びｄを含む素性集合と＋１のラベルを含み、当該学習事例の重みは１である。
【００５２】
次に、規則学習部５は、学習データ格納部３に格納されているデータを用いて、規則抽出処理を実施する（ステップＳ３）。規則抽出処理については、図１４を用いて説明する。
【００５３】
まず、規則学習部５は、学習データＳに含まれる未処理の素性を規則候補として抽出する（ステップＳ２１）。例えば、図１２の例では、素性ａを抽出する。そして、学習データＳと重みｗt,iを用いて、規則候補についてのスコアを算出し、例えばメインメモリなどの記憶装置に設けるスコアテーブルに登録する（ステップＳ２３）。スコアの算出は、上で述べた式（４）を用いる。式（４）の計算には式（１）の下に示しているＷt,y（ｆ）の定義式を用いて算出する。
【００５４】
図１２の例で素性ａについてのスコアを算出するためには、Ｗ1,+1（ａ）＝１×［［ａ⊆（ａｂｃ）∧（＋１）＝（＋１）］］＋１×［［ａ⊆（ａｂｃｄ）∧（−１）≠（＋１）］］＋１×［［ａ⊆（ａｂｄ）∧（＋１）＝（＋１）］］＝１＋０＋１＝２と、Ｗ1,-1（ａ）＝１×［［ａ⊆（ａｂｃ）∧（−１）≠（＋１）］］＋１×［［ａ⊆（ａｂｃｄ）∧（−１）＝（−１）］］＋１×［［ａ⊆（ａｂｄ）∧（−１）≠（＋１）］］＝０＋１＋０＝１とを算出する必要がある。従って、素性ａのスコアは、｜２1/2−１｜＝０．４１４と計算される。
【００５５】
そして、規則学習部５は、全ての素性を処理したか判断する（ステップＳ２５）。未処理の素性が存在する場合には、ステップＳ２１に戻る。上で述べた例では、このような処理を繰り返すと、素性ａ，ｂ，ｃ及びｄについてスコアが算出され、図１３に示されるようなスコアテーブルが得られる。
【００５６】
一方、未処理の素性が存在しない場合には、規則学習部５は、スコアの大きい順にスコアテーブルのレコードをソートし、上位ν個の素性（規則候補）を規則ｆ’j（１≦ｊ≦ν）として選択する（ステップＳ２７）。そして元の処理に戻る。例えば図１３に示すようなスコアテーブルの場合に、ν＝３とすると、素性ａ、ｂ及びｃを規則として選択する。
【００５７】
図１２の処理の説明に戻って、規則学習部５は、ｊを１に初期化する（ステップＳ５）。そして、重みｗt,i（１≦ｉ≦ｍ）を用いて１つの規則ｆ’jに対応する１つの確信度ｃ’jを算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ７）。式（７）に従って確信度ｃ’jを算出する。例えば、ε＝１／ｍ（学習事例の数）＝１／３とする。素性ａの場合には、ｃ’1＝０．５ｌｎ（（２＋１／３）／（１＋１／３））＝０．２７９と算出される。
【００５８】
本実施の形態では、従来技術とは異なり、このように１つの規則ｆ’jにつき、現在の重みｗt,iを用いて１つの確信度ｃ’jを算出する。
【００５９】
そして、規則学習部５は、重みｗt,iと規則ｆ’j及び確信度ｃ’jとにより、新たな重みｗt+1,iを算出し、学習データ格納部３に更新登録する（ステップＳ９）。
【００６０】
例えば図１５に示すように、第１の学習事例の重み「０．７５」に、第２の学習事例の重み「１．３２」に、第３の学習事例の重み「０．７５」に更新登録する。
【００６１】
そして、規則学習部５は、規則ｆ’j及び確信度ｃ’jをｔ番目の規則及び確信度として、規則データ格納部７に登録する（ステップＳ１１）。
【００６２】
その後、規則学習部５は、ｔ及びｊをそれぞれ１インクリメントする（ステップＳ１３）。そして、ｊがν以下であるか判断し（ステップＳ１５）、ｊがν以下である場合にはステップＳ７に戻って、次の規則ｆ’jについての処理を行う。
【００６３】
このように、本実施の形態では、規則ｆ’jに対応する確信度ｃ’jを算出する毎に、重みｗt,iを更新することによって、トレーニングエラーの上限値が増加することを防止する。
【００６４】
上で述べた例では、ステップＳ７に戻って素性ｂについての処理を行うが、素性ｂの確信度ｃは０．０５４と算出される。この確信度ｃと図１５の重みｗt,iを用いて、次の計算に用いる重みｗt+1,iを算出すると、図１６に示すようになる。背景技術の欄で同じ学習事例Ｓについて学習する例を示していたが、図３、図４及び図６までの処理結果は図１２、図１３及び図１５と同じであったが、図６の次の段階におけるの重みの算出結果である図７と、今回の図１６とは異なる結果が得られることが分かる。
【００６５】
さらに、上で述べた例では、ステップＳ７に戻って素性ｃについての処理を行うが、素性ｃの確信度ｃは−０．２４９と算出される。この確信度ｃと図１６の重みｗt,iを用いて、次の計算に用いる重みｗt+1,iを算出すると、図１７に示すようになる。図１６の場合と同様に、背景技術の欄で述べた図８の結果とは異なる結果が得られることが分かる。
【００６６】
一方、ｊがνを超えた場合には、ｔがＮより小さいか判断する（ステップＳ１７）。ｔがＮより小さい場合にはステップＳ３に戻る。一方、ｔがＮ以上となった場合には、処理を終了する。
【００６７】
上で述べた例で、ステップＳ３に戻って、素性ａ，ｂ，ｃ及びｄについてスコアを計算し直すと、図１８に示すような結果が得られる。スコアの値が上位３つ選ばれるので、図１８の例では、素性ａ、ｂ及びｃが選択されることになる。なお、背景技術の場合には、図９に示すような結果が得られるので選択される素性はｃ，ｄ及びａ（又はｂ）となり、異なるものが選択される。
【００６８】
図１７に示す重みｗt,iを用いると、素性ａの確信度ｃは０．１６と算出され、当該確信度及び図１７に示す重みｗt,iを用いると、次に用いる重みｗt+1,iは図１９に示すような値となる。
【００６９】
次に、図１９に示すような重みｗt,iを用いて、素性ｂの確信度ｃを算出すると、０．０３２が得られる。このような確信度ｃの値と図１９に示す重みｗt,iを用いると、次に用いる重みｗt+1,iは図２０に示すような値となる。
【００７０】
さらに、図２０に示すような重みｗt,iを用いて、素性ｄの確信度ｃを算出すると、−０．２９が得られる。このような確信度ｃの値と図２０に示す重みｗt,iを用いると、次に用いる重みｗt+1,iは図２１に示すような値となる。
【００７１】
［付録］
Ａ．BoosTexterにおけるAdaBoostの収束性
まず、非特許文献３のTheorem１にて証明されているAdaBoost（重みについて正規化を行うもの。以下、AdaBoost-normalizedと呼ぶ。）のトレーニングエラーの上限値について紹介する。このトレーニングエラーの上限値は各ラウンドでの事例の重みの積となることを示す。続いて、いかなる規則が追加された場合においても、トレーニングエラーの上限値は、一つ前のトレーニングエラーの上限値より減少するかあるいは同一となることを示す。
【００７２】
まず、非特許文献３及び４で提案されているAdaBoostに基づき導出されるＴ個の規則から構成されるＦのトレーニングエラーの上限値が、
【数１０】
2010033213.tif 000012
となることが示されている（非特許文献３を参照のこと）。まず、このトレーニングエラーの上限値について説明する。
【００７３】
ｗ1,i＝1／ｍとすると、重み更新規則を表す式（５）を展開することで、式（８）が得られる。
【数１１】
2010033213.tif 000013
【００７４】
さらに、Ｆ（ｘi）≠ｙiの場合、
【数１２】
2010033213.tif 000014
なので、
【数１３】
2010033213.tif 000015
【００７５】
従って、
【数１４】
2010033213.tif 000016
よって、式（８）及び（９）から上記のトレーニングエラーの上限値が得られる。
【数１５】
2010033213.tif 000017
【００７６】
続いて、AdaBoost-normalizedにより導出されるＴ−１個の規則に対し、新たな規則が追加される場合に、いかなる規則が追加されたとしても、Ｔ−１個の規則とＴ個の規則から得られるトレーニングエラーの上限値は次の関係を有することを示す。
【数１６】
2010033213.tif 000018
【００７７】
まず、Ｔ個の規則から得られるトレーニングエラーの上限値は次のように書きかえられる。
【数１７】
2010033213.tif 000019
ここで、ＺTを、定義２を基に書きかえると、以下のようになる。
【数１８】
2010033213.tif 000020
ここでは、ＷT-1（¬ｆ）が以下のように表されることを用いている。
【数１９】
2010033213.tif 000021
【００７８】
よって、
【数２０】
2010033213.tif 000022
から、ＺTは、最終的に次のように書きかえられる。
【数２１】
2010033213.tif 000023
【００７９】
なお、AdaBoost-normalizedでは、Ｔ−１回目の重みの総和は１なので、次の式が得られる。
【数２２】
2010033213.tif 000024
【００８０】
以上、式（１０）及び式（１１）から、以下の関係が得られる。
【数２３】
2010033213.tif 000025
【００８１】
よって、いかなる規則が追加された場合においても、トレーニングエラーの上限値は、一つ前のトレーニングエラーの上限値より減少するかあるいは同一となる。
【００８２】
Ｂ．非特許文献１のdatrees学習アルゴリズムにおけるAdaBoostの収束性
非特許文献１におけるAdaTrees学習アルゴリズムで用いられているAdaBoost（重みを正規化しないもの。以下、AdaBoost-unnormalizedと呼ぶ。）のトレーニングエラーの上限値は、各ラウンドでの更新後の事例の重みの和となる。このことを、非特許文献３のTheorem１に基づき導出する。また、AdaTrees学習アルゴリズムで用いられているAdaBoostにおいて、いかなる規則が追加された場合においても、トレーニングエラーの上限値は、一つ前のトレーニングエラーの上限値より減少するかあるいは、最悪の場合でも同一となることを示す。
【００８３】
まず、Adatrees学習アルゴリズムで用いられているAdaBoostにより導出されるＴ個の規則から構成されるＦはトレーニングエラーの上限値
【数２４】
2010033213.tif 000026
を持つことを示す。ここで、
【数２５】
2010033213.tif 000027
である。
【００８４】
重み更新規則である式（６）を展開することで、式（１２）が得られる。
【数２６】
2010033213.tif 000028
【００８５】
さらに、Ｆ（ｘi）≠ｙiの場合、以下の関係が成り立つ。
【数２７】
2010033213.tif 000029
【００８６】
よって、
【数２８】
2010033213.tif 000030
【００８７】
従って、
【数２９】
2010033213.tif 000031
【００８８】
よって、式（１２）及び（１３）からトレーニングエラーの上限値が得られる。
【数３０】
2010033213.tif 000032
【００８９】
続いて、AdaTrees学習アルゴリズムで用いられているAdaBoostにより導出されるＴ−１個の規則に対し、新たな規則が追加される場合に、いかなる規則が追加されたとしてもＴ−１個の規則から得られるトレーニングエラーの上限値とＴ個の規則から得られるトレーニングエラーの上限値は、Ｚ’T≦Ｚ’T-1という関係を有することを示す。
【００９０】
定義２から、Ｔ個の規則から得られるトレーニングエラーの上限値は以下のように書き換えられる。
【数３１】
2010033213.tif 000033
【００９１】
ここでは、以下の式が用いられている。
【数３２】
2010033213.tif 000034
【００９２】
そして、
【数３３】
2010033213.tif 000035
から、Ｔ個の規則から得られるトレーニングエラーの上限値に対して、以下の関係が得られる。
【数３４】
2010033213.tif 000036
【００９３】
よって、いかなる規則が追加された場合においても、トレーニングエラーの上限値は、一つ前のトレーニングエラーの上限値より減少するかあるいは同一となる。
【００９４】
以上のような処理を行うことによって、規則と確信度の組み合わせが規則データ格納部７に登録され、従来と同じような分類処理が規則適用部１３によって実施されるようになる。
【００９５】
ここで、図１２に示したような学習データについて各ラウンド（すなわち図１１の処理フローにおいてステップＳ３を実施する毎に）で３つの規則を学習する場合の効果について検討する。図２２は、図２の処理フローを用い、確信度については式（２）を用いて学習を行う場合における、トレーニングエラーの上限値及びエラー数と学習回数の関係を表している。図２２のグラフにおいて、横軸は学習回数を表し、縦軸はエラー数を表す。図２２から分かるように、エラー数が上下して安定的にエラーが減るわけではなく、トレーニングエラーの上限値も増加することがある。これは上で述べた問題を示している。また、図２３は、図２の処理フローを用い、確信度については式（７）でε＝１／ｍ（一度に学習する規則の数。ここでは３）を用いて学習を行う場合における、トレーニングエラーの上限値及びエラー数と学習回数の関係を表している。図２３のグラフにおいて、横軸は学習回数を表し、縦軸はエラー数を表す。図２３の場合においては、トレーニングエラーの上限値が増加することはないが、エラーの減り方が遅いことが分かる。一方、図２４に、本実施の形態における方法を採用した場合における、トレーニングエラーの上限値及びエラー数と学習回数の関係を表している。図２４のグラフにおいて、横軸は学習回数を表し、縦軸はエラー数を表す。図２４の場合、トレーニングエラーの上限値は増加することもなく、その減少速度はエラー数の減少速度と同様に、図２２に比して早いことが分かる。すなわち、問題を生じさせることなく、高速に収束することが分かる。
さらに、固有名詞か否かを判別する学習データ（１２８２１単語のうち１３４０単語が固有名詞）を用いて、学習時間毎に、学習データに対してどれだけの精度で固有名詞を判別できるかを測定した結果を、図２５に示す。図２５のグラフにおいて、横軸は学習時間を表し、縦軸は精度を表す。精度Ｆは、以下の式で算出される。
Ｆ＝２＊Recall＊Precision／（Recall＋Precision）
Recall＝正しく固有名詞と判別できた数／固有名詞の数
Precision＝正しく固有名詞と判別できた数／固有名詞と答えた数
図１の処理フローより図２の処理フロー、図２の処理フローより本実施の形態における処理フローを採用した方が、明らかに早く精度が向上することが分かる。このように図２の処理フローと本実施の形態における処理フローとは、その構造が単に異なるだけではなく、学習速度も向上することが分かる。
【００９６】
以上、本技術の一実施の形態について説明したが、本技術はこれに限定されるものではない。例えば図１０の機能ブロック図は、一例であって、必ずしもプログラムモジュールが上で述べたような構成となるわけではない。
【００９７】
また、本技術を他の弱学習器を扱うＢｏｏｓｔｉｎｇアルゴリズムにも適用可能である。例えば、他の弱学習器の例としては、Ｃ４．５というアルゴリズムが存在している（例えば、C4.5: Programs for Machine Learning (Morgan Kaufmann Series in Machine Learningを参照のこと）。Ｃ４．５は、Decision Tree（決定木）という形の弱仮説（すなわち、規則）を学習する。このＣ４．５に対して本技術を適用する場合には、Decision Tree を構成する最初のノードを学習する候補として、あるバケットに存在する素性だけを使うということで適用可能である。後は通常のＣ４．５のアルゴリズムと同じである。
さらに、木やグラフを分類する弱学習器を扱うＢｏｏｓｔｉｎｇアルゴリズムであっても最初に計算を開始する素性をあるバケットに存在するものと制限することで、同様に適用することができる。
【００９８】
例えば以下のような文献を参照のこと。
文献：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.
【００９９】
本技術の実施の形態をまとめると以下のとおりになる。
【０１００】
規則学習方法は、１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を学習事例のデータ及び当該学習事例の重みとを用いて算出し、素性に対応して評価値格納部に格納する評価値算出ステップと、評価値格納部に格納されている評価値の大きい順に所定個数の素性を選択する選択ステップと、選択された所定個数の素性のうち１つの素性について、学習事例データ格納部に登録されている学習事例のデータ及び当該学習事例の重みとを用いて確信度を算出して上記１つの素性と確信度の組を規則データ格納部に格納すると共に、学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、学習事例データ格納部に格納されている重みを更新する更新ステップと、更新ステップを所定個数の素性のうち残余の素性について繰り返す繰り返しステップと、評価値算出ステップと選択ステップと更新ステップと繰り返しステップとを所定回数繰り返すステップとを含む。
【０１０１】
このように、評価値の高い素性を複数個一度に抽出したとしても、複数個の素性に対応する確信度を一括して算出するのではなく、対応する確信度の算出及び重みの更新を上記複数個の素性の各々について行うことによって、トレーニングエラーの上限値を増加させることなく、高速に規則学習を実施することができるようになる。
【０１０２】
なお、素性ｆと、素性集合ｘiと、ラベルｙiと、学習事例の重みｗiと、学習事例の件数ｍとから、評価値ｇが、
【数３５】
2010033213.tif 000037
（［［π］］は、命題πが成り立つ時１で、それ以外の時に０であることを表す）
で算出されるようにしてもよい。
【０１０３】
さらに、素性ｆと、素性集合ｘiと、ラベルｙiと、学習事例の重みｗiと、学習事例の件数ｍと、所定の調整値εとから、確信度ｃが、
【数３６】
2010033213.tif 000038
（［［π］］は、命題πが成り立つ時１で、それ以外の時に０であることを表す）
で算出されるようにしてもよい。
【０１０４】
また、ｔ回目の処理における素性ｆt及び確信度ｃtと、素性集合ｘiと、ラベルｙiと、ｔ回目の処理における学習事例の重みｗt,iと、学習事例の件数ｍとから、ｔ＋１回目の処理のための学習事例の重みｗt+1,iが、
【数３７】
2010033213.tif 000039
又は、ｗt+1,iを以下のＺtで除することによって算出される
【数３８】
2010033213.tif 000040
で算出されるようにしてもよい。
【０１０５】
なお、本技術をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１０６】
なお、業務システム分析装置は、コンピュータ装置であって、図２６に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１０７】
（付記１）
１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を前記学習事例のデータ及び当該学習事例の重みとを用いて算出し、前記素性に対応して評価値格納部に格納する評価値算出ステップと、
前記評価値格納部に格納されている前記評価値の大きい順に所定個数の素性を選択する選択ステップと、
選択された前記所定個数の素性のうち１つの素性について、前記学習事例データ格納部に登録されている前記学習事例のデータ及び当該学習事例の重みとを用いて前記確信度を算出して前記１つの素性と前記確信度の組を規則データ格納部に格納すると共に、前記学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新する更新ステップと、
前記更新ステップを前記所定個数の素性のうち残余の素性について繰り返す繰り返しステップと、
前記評価値算出ステップと前記選択ステップと前記更新ステップと前記繰り返しステップとを所定回数繰り返すステップと、
を含み、コンピュータにより実行される規則学習方法。
【０１０８】
（付記２）
前記素性ｆと、前記素性集合ｘiと、前記ラベルｙiと、前記学習事例の重みｗiと、前記学習事例の件数ｍとから、前記評価値ｇが、
【数３９】
2010033213.tif 000041
（［［π］］は、命題πが成り立つ時１で、それ以外の時に０であることを表す）
で算出される付記１記載の規則学習方法。
【０１０９】
（付記３）
前記素性ｆと、前記素性集合ｘiと、前記ラベルｙiと、前記学習事例の重みｗiと、前記学習事例の件数ｍと、所定の調整値εとから、前記確信度ｃが、
【数４０】
2010033213.tif 000042
（［［π］］は、命題πが成り立つ時１で、それ以外の時に０であることを表す）
で算出される付記１記載の規則学習方法。
【０１１０】
（付記４）
ｔ回目の処理における前記素性ｆt及び前記確信度ｃtと、前記素性集合ｘiと、前記ラベルｙiと、前記ｔ回目の処理における前記学習事例の重みｗt,iと、前記学習事例の件数ｍとから、ｔ＋１回目の処理のための前記学習事例の重みｗt+1,iが、
【数４１】
2010033213.tif 000043
又は、前記ｗt+1,iを以下のＺtで除することによって算出される
【数４２】
2010033213.tif 000044
で算出される付記１記載の規則学習方法。
【０１１１】
（付記５）
１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を前記学習事例のデータ及び当該学習事例の重みとを用いて算出し、前記素性に対応して評価値格納部に格納する評価値算出ステップと、
前記評価値格納部に格納されている前記評価値の大きい順に所定個数の素性を選択する選択ステップと、
選択された前記所定個数の素性のうち１つの素性について、前記学習事例データ格納部に登録されている前記学習事例のデータ及び当該学習事例の重みとを用いて前記確信度を算出して前記１つの素性と前記確信度の組を規則データ格納部に格納すると共に、前記学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新する更新ステップと、
前記更新ステップを前記所定個数の素性のうち残余の素性について繰り返す繰り返しステップと、
前記評価値算出ステップと前記選択ステップと前記更新ステップと前記繰り返しステップとを所定回数繰り返すステップと、
を、コンピュータに実行させるための規則学習プログラム。
【０１１２】
（付記６）
１又は複数の素性を含む素性集合と−１と＋１のうちいずれかであるラベルとを含む学習事例と当該学習事例の重みとの組み合わせを複数格納する学習事例データ格納部と、
評価値格納部と、
前記学習事例データ格納部に登録されている各素性について、確信度の算出を行うべき素性を選択するための評価値を前記学習事例のデータ及び当該学習事例の重みとを用いて算出し、前記素性に対応して前記評価値格納部に格納する評価値算出手段と、
前記評価値格納部に格納されている前記評価値の大きい順に所定個数の素性を選択する選択手段と、
規則データ格納部と、
選択された前記所定個数の素性のうち１つの素性について、前記学習事例データ格納部に登録されている前記学習事例のデータ及び当該学習事例の重みとを用いて前記確信度を算出して前記１つの素性と前記確信度の組を前記規則データ格納部に格納すると共に、前記学習事例のデータと当該学習事例の重みと当該１つの素性に対応する前記確信度とを用いて次の段階で用いるべき各学習事例の重みを算出し、前記学習事例データ格納部に格納されている重みを更新する更新手段と、
を有し、
前記更新手段の処理を、前記所定個数の素性の各々について繰り返し実施させ、
前記評価値算出手段による処理と前記選択手段による処理と前記更新手段による処理を前記所定個数の素性の各々について繰り返させる処理とを所定回数繰り返させる
規則学習装置。
【図面の簡単な説明】
【０１１３】
【図１】第１の公知技術の処理フローを示す図である。
【図２】第２の公知技術の処理フローを示す図である。
【図３】学習データの一例を示す図である。
【図４】第１ラウンドのスコアテーブルの一例を示す図である。
【図５】第１ラウンドで選択された規則（素性）の確信度を示す図である。
【図６】第１ラウンドにおける第１の重み更新処理の結果を示す図である。
【図７】第１ラウンドにおける第２の重み更新処理の結果を示す図である。
【図８】第１ラウンドにおける第３の重み更新処理の結果を示す図である。
【図９】第２ラウンドのスコアテーブルの一例を示す図である。
【図１０】本技術の実施の形態におけるシステムの機能ブロック図である。
【図１１】本技術のメインの処理フローを示す図である。
【図１２】学習データの一例を示す図である。
【図１３】第１ラウンドのスコアテーブルの一例を示す図である。
【図１４】規則抽出処理の処理フローを示す図である。
【図１５】第１ラウンドにおける第１の重み更新処理の結果を示す図である。
【図１６】第１ラウンドにおける第２の重み更新処理の結果を示す図である。
【図１７】第１ラウンドにおける第３の重み更新処理の結果を示す図である。
【図１８】第２ラウンドのスコアテーブルの一例を示す図である。
【図１９】第２ラウンドにおける第１の重み更新処理の結果を示す図である。
【図２０】第２ラウンドにおける第２の重み更新処理の結果を示す図である。
【図２１】第２ラウンドにおける第３の重み更新処理の結果を示す図である。
【図２２】従来技術の処理フローを採用した場合における、エラー数及びトレーニングエラーの上限値と学習回数の関係の一例を示す図である。
【図２３】従来技術の処理フローを採用した場合における、エラー数及びトレーニングエラーの上限値と学習回数の関係の第２の例を示す図である。
【図２４】本実施の形態の処理フローを採用した場合における、エラー数及びトレーニングエラーの上限値と学習回数の関係の一例を示す図である。
【図２５】学習時間と精度の関係の実験例（図１、図２及び本実施の形態の処理フローを採用した場合）を示す図である。
【図２６】コンピュータの機能ブロック図である。
【符号の説明】
【０１１４】
１  学習データ入力部    ３  学習データ格納部
５  規則学習部    ７  規則データ格納部
９  分類データ入力部    １１  分類データ格納部
１３  規則適用部    １５  処理結果格納部
【図１】
2010033213.tif 000045
【図２】
2010033213.tif 000046
【図３】
2010033213.tif 000047
【図４】
2010033213.tif 000048
【図５】
2010033213.tif 000049
【図６】
2010033213.tif 000050
【図７】
2010033213.tif 000051
【図８】
2010033213.tif 000052
【図９】
2010033213.tif 000053
【図１０】
2010033213.tif 000054
【図１１】
2010033213.tif 000055
【図１２】
2010033213.tif 000056
【図１３】
2010033213.tif 000057
【図１４】
2010033213.tif 000058
【図１５】
2010033213.tif 000059
【図１６】
2010033213.tif 000060
【図１７】
2010033213.tif 000061
【図１８】
2010033213.tif 000062
【図１９】
2010033213.tif 000063
【図２０】
2010033213.tif 000064
【図２１】
2010033213.tif 000065
【図２２】
2010033213.tif 000066
【図２３】
2010033213.tif 000067
【図２４】
2010033213.tif 000068
【図２５】
2010033213.tif 000069
【図２６】
2010033213.tif 000070