(57)【特許請求の範囲】
【請求項１】
評価対象となる系列データを取得するデータ取得部と、
前記系列データと照合させる条件部と、該条件部で照合された行動を示す行動部と、該行動部で示された行動を行うことのフィットネス値を持つ分類子を記憶した分類子記憶部と、
前記データ取得部が取得した前記系列データに基づいて、前記分類子記憶部が記憶した分類子を選択し、該選択した分類子の集合である照合集合を得る照合集合取得部と、
前記照合集合取得部が取得した照合集合内の分類子を、該分類子の行動部の値に基づいて選択して、行動集合を得る行動集合取得部と、
前記行動集合内の分類子のフィットネス値を学習で更新する学習部と、
前記行動集合取得部が得た行動集合に含まれる複数の分類子が１つの分類子に包摂できる場合に、包摂を行って行動集合に含まれる分類子を減らす包摂部と、
前記包摂部が出力する行動集合から一定の条件に基づいて分類子の選択又は変形を行う遺伝的アルゴリズム処理部と、
前記遺伝的アルゴリズム処理部が出力するそれぞれの分類子が持つ条件部を縮小する縮小部と、
前記データ取得部が取得した系列データに照合する照合集合が存在しない場合に、前記データ取得部が取得した系列データの少なくとも一部をコピーすることで得た条件部を持つ分類子を作成する被覆部と、を備え、
前記縮小部が縮小した分類子又は前記被覆部が作成した分類子により、前記分類子記憶部が記憶した分類子の更新を行い、前記分類子記憶部が記憶した分類子の最適化を行うようにした
学習分類子システム。
【請求項２】
前記分類子記憶部が記憶する分類子は、１個以上Ｍ個以下の数（Ｍは２以上の整数）の条件で構成される条件部を持ち、
前記照合集合取得部は、分類子が持つ条件部に記載された全ての条件が、前記データ取得部が取得した系列データと一致するとき、該当する分類子を、系列データに照合した分類子として選択するようにした
請求項１に記載の学習分類子システム。
【請求項３】
前記分類子が持つ条件部で指示される条件には、系列データの特定箇所が不特定のデータであることを示す条件を含むようにした
請求項１又は２に記載の学習分類子システム。
【請求項４】
前記包摂部は、行動集合に含まれる複数の分類子の中で、特定の分類子よりも一般化された表現の別の分類子が存在する場合に、前記特定の分類子を行動集合から削除する処理を行う
請求項１〜３のいずれか１項に記載の学習分類子システム。
【請求項５】
前記遺伝的アルゴリズム処理部は、行動集合内の分類子を、条件部のデータ長に基づいて複数のサブセットの分類子に分け、それぞれのサブセットの分類子の信頼度に基づいてルーレット選択することで分類子を選択し、
選択された複数の分類子の条件部の同じ位置のデータを入れ替える交叉、又は、選択された分類子の条件部が持つデータを変化させる突然変異を行う
請求項１〜４のいずれか１項に記載の学習分類子システム。
【請求項６】
前記遺伝的アルゴリズム処理部は、行動集合内の分類子の条件部が持つ条件を、同じ位置の条件ごとにフィットネス値を加算し、行動集合内の分類子から、フィットネス値の加算値が高い位置の条件を持つ分類子を選択することで行動集合のサブセットを得、該サブセット内の各分類子が持つ条件をルーレット選択して選ばれた条件を持つ分類子を生成する
請求項１〜４のいずれか１項に記載の学習分類子システム。
【請求項７】
前記縮小部は、分類子の条件部の内の最も古い時間のデータを参照する条件が、不特定のデータであることを示す条件であるとき、該当する不特定のデータであることを示す条件を削除して、条件部を縮小する処理を行うと共に、その条件部を縮小する処理を、最も古い時間のデータを参照する条件が、不特定のデータであることを示す条件でなくなるまで繰り返し実行する
請求項１〜６のいずれか１項に記載の学習分類子システム。
【請求項８】
系列データと照合させる条件部と、該条件部で照合された行動を示す行動部と、該行動部で示された行動を行うことのフィットネス値を持つ分類子を分類子記憶部に記憶させ、記憶した分類子の最適化を行う学習分類子生成方法であり、
評価対象となる系列データを取得するデータ取得処理と、
取得した前記系列データに基づいて、照合集合処理部により、前記分類子記憶部が記憶した分類子を選択し、該選択した分類子の集合である照合集合を得る照合集合取得処理と、
前記照合集合取得処理で取得した照合集合内の分類子を、行動集合取得部により、該分類子の行動部の値に基づいて選択し、行動集合を得る行動集合取得処理と、
学習部により、前記行動集合内の分類子のフィットネス値を学習で更新する学習処理と、
前記行動集合に含まれる複数の分類子が１つの分類子に包摂できる場合に、包摂部により包摂を行って行動集合に含まれる分類子を減らす包摂処理と、
前記包摂処理が行われた行動集合から一定の条件に基づいて、遺伝的アルゴリズム処理部により、分類子の選択又は変形を行う遺伝的アルゴリズム処理と、
前記遺伝的アルゴリズム処理で得られた分類子が持つ条件部を、縮小部により縮小する縮小処理と、
前記データ取得処理で取得した系列データに照合する照合集合が存在しない場合に、被覆部において、前記系列データの少なくとも一部をコピーすることで得た条件部を持つ分類子を作成する被覆処理と、
前記縮小処理を行った分類子又は前記被覆処理で作成した分類子により、前記分類子記憶部が記憶した分類子の更新を行う更新処理と、を含む
学習分類子生成方法。
【請求項９】
系列データと照合させる条件部と、該条件部で照合された行動を示す行動部と、該行動部で示された行動を行うことのフィットネス値を持つ分類子を分類子記憶部に記憶させ、該記憶した分類子の最適化をコンピュータに実行させるプログラムであって、
評価対象となる系列データを取得するデータ取得手順と、
取得した前記系列データに基づいて、前記分類子記憶部が記憶した分類子を選択して、該選択した分類子の集合である照合集合を得る照合集合取得手順と、
前記照合集合取得手順で取得した照合集合内の分類子を、その分類子の行動部の値に基づいて選択して、行動集合を得る行動集合取得手順と、
前記行動集合内の分類子のフィットネス値を学習で更新する学習手順と、
前記行動集合取得手順で得た行動集合に含まれる複数の分類子が１つの分類子に包摂できる場合に、その包摂を行って行動集合に含まれる分類子を減らす包摂手順と、
前記包摂手順が行われた行動集合から一定の条件に基づいて分類子の選択又は変形を行う遺伝的アルゴリズム手順と、
前記遺伝的アルゴリズム手順で得られた分類子が持つ条件部を縮小する縮小手順と、
前記データ取得手順で取得した系列データに照合する照合集合が存在しない場合に、前記データ取得手順で取得した系列データの少なくとも一部をコピーすることで得た条件部を持つ分類子を作成する被覆手順と、
前記縮小手順で縮小した分類子又は前記被覆手順で作成した分類子により、前記分類子記憶部が記憶した分類子の更新を行う更新手順とを、
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習分類子システム及び学習分類子生成方法、並びに分類子生成方法を実行するプログラムに関する。
【背景技術】
【０００２】
統計的手法等を用いたデータ解析によって、複数のデータから、これらのデータの内容に適合するルールを生成するデータマイニング技術が知られている。
【０００３】
また、社会の情報化に伴って、様々な場面で発生するデータが蓄積されており、蓄積された膨大なデータから知識（ルール）を獲得する方法が求められている。適切なルールが獲得できることで、データ解析を行うシステムは、様々なデータの解析を可能とする。例えば、対象者の遺伝子を解析して分類することで、対象者がどのような病気を発病する可能性が高いかをなど判断することが可能になる。また、監視カメラが撮影して得た画像から、監視場所の人の動きをデータ化し、その人の動きの解析に基づいて被写体となる人を分類することにより、挙動不審な人を探し出すことができる。
【０００４】
このようなデータ解析を行うためのルール獲得手法として、学習分類子システム（Learning Classifier System:ＬＣＳ）が提案されている。このＬＣＳは、生物の環境への適応戦略である学習と進化の双方の概念を取り入れた適応システムである。具体的には、ＬＣＳは、条件部と行動部とからなる分類子について、強化学習の手法により学習を行うとともに、遺伝的アルゴリズム（Genetic Algorithm: ＧＡ）を用いて分類子を進化させ、それによって、複数のデータ（環境状態）に適応可能な分類子を生成するシステムである。このＬＣＳのうち、より正確性の高いルール（分類子）を進化対象とするようにしたシステムはＸＣＳ（Accuracy-based Learning System）と呼ばれている。（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【非特許文献１】中田外４名、「個別化による学習分類子システムの一般化促進」、計測自動制御学会、計測自動制御学会論文集、47(11)、 581-590、2011年11月30日
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、データ解析のためにデータの分類を行う分類子は、通常、分類する条件が多いほど、より正確な分類が可能である。例えば、対象者の遺伝子を解析して分類する場合には、１つ１つの遺伝子のタイプを識別できるような多数の分類子が必要となり、分類子の数が非常に多くなってしまう。
【０００７】
分類子の数が多いということは、解析対象となるデータが入力されたとき、入力データと分類子との比較を行う際の演算処理の負担が多くなり、最適な行動値を得るまでに時間がかかるという問題が発生する。また、分類子を記憶するためのハードウェア資源が増えるため、データの解析や分類を行うシステムが大規模なものになってしまうという問題が起こる。
また、分類子が持つ条件部の長さについても、その条件の長さが必要以上に長い場合、入力データと分類子との比較を行う際の演算処理の負担が大きくなるという問題がある。
【０００８】
本発明は、学習分類子システムが持つ分類子を最適化することで、分類子を使用したデータ分類を可能な限り少ない負担で行うことを目的とする。
【課題を解決するための手段】
【０００９】
本発明の学習分類子システムは、
評価対象となる系列データを取得するデータ取得部と、
前記系列データと照合させる条件部と、該条件部で照合された行動を示す行動部と、該行動部で示された行動を行うことのフィットネス値を持つ分類子を記憶した分類子記憶部と、
前記データ取得部が取得した前記系列データに基づいて、前記分類子記憶部が記憶した分類子を選択し、該選択した分類子の集合である照合集合を得る照合集合取得部と、
前記照合集合取得部が取得した照合集合内の分類子を、該分類子の行動部の値に基づいて選択して、行動集合を得る行動集合取得部と、
前記行動集合内の分類子のフィットネス値を学習で更新する学習部と、
前記行動集合取得部が得た行動集合に含まれる複数の分類子が１つの分類子に包摂できる場合に、包摂を行って行動集合に含まれる分類子を減らす包摂部と、
前記包摂部が出力する行動集合から一定の条件に基づいて分類子の選択又は変形を行う遺伝的アルゴリズム処理部と、
前記遺伝的アルゴリズム処理部が出力するそれぞれの分類子が持つ条件部を縮小する縮小部と、
前記データ取得部が取得した系列データに照合する照合集合が存在しない場合に、前記データ取得部が取得した系列データの少なくとも一部をコピーすることで得た条件部を持つ分類子を作成する被覆部と、を備え、
前記縮小部が縮小した分類子又は前記被覆部が作成した分類子により、前記分類子記憶部が記憶した分類子の更新を行い、前記分類子記憶部が記憶した分類子の最適化を行うようにした。
【００１０】
また、本発明の学習分類子生成方法は、系列データと照合させる条件部と、その条件部で照合された行動を示す行動部と、その行動部で示された行動を行うことのフィットネス値を持つ分類子を分類子記憶部に記憶させて、その記憶した分類子の最適化を行う学習分類子生成方法である。
そして、評価対象となる系列データを取得するデータ取得処理と、
取得した前記系列データに基づいて、照合集合処理部により、前記分類子記憶部が記憶した分類子を選択し、該選択した分類子の集合である照合集合を得る照合集合取得処理と、
前記照合集合取得処理で取得した照合集合内の分類子を、行動集合取得部により、該分類子の行動部の値に基づいて選択し、行動集合を得る行動集合取得処理と、
学習部により、前記行動集合内の分類子のフィットネス値を学習で更新する学習処理と、
前記行動集合に含まれる複数の分類子が１つの分類子に包摂できる場合に、包摂部により包摂を行って行動集合に含まれる分類子を減らす包摂処理と、
前記包摂処理が行われた行動集合から一定の条件に基づいて、遺伝的アルゴリズム処理部により、分類子の選択又は変形を行う遺伝的アルゴリズム処理と、
前記遺伝的アルゴリズム処理で得られた分類子が持つ条件部を、縮小部により縮小する縮小処理と、
前記データ取得処理で取得した系列データに照合する照合集合が存在しない場合に、被覆部において、前記系列データの少なくとも一部をコピーすることで得た条件部を持つ分類子を作成する被覆処理と、
前記縮小処理を行った分類子又は前記被覆処理で作成した分類子により、前記分類子記憶部が記憶した分類子の更新を行う更新処理と、を含む。
【００１１】
また、本発明のプログラムは、上述した学習分類子生成方法の各処理をコンピュータに実行させる手順を含む。
【発明の効果】
【００１２】
本発明によると、系列データを分類する分類子を包摂により一般化することで分類子の数を減らすことができると共に、縮小によりそれぞれの分類子が持つ条件部が縮小され、系列データを分類する分類子が最適化される効果を有する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態例による学習分類子システムの構成例を示すブロック図である。
【図２】本発明の一実施の形態例による学習分類子システムの処理の流れを示すフローチャートである。
【図３】本発明の一実施の形態例による分類子の例を示す図である。
【図４】本発明の一実施の形態例による分類子の可変長条件部の例を示す図である。
【図５】本発明の一実施の形態例による分類子の各集合の例を示す図である。
【図６】本発明の一実施の形態例による包摂の例を示す図である。
【図７】本発明の一実施の形態例による遺伝的アルゴリズム処理部での処理例（例１）を示すフローチャートである。
【図８】本発明の一実施の形態例による行動集合のサブセットの選択例を示す図である。
【図９】本発明の一実施の形態例による選択したサブセットの条件部に一点交叉を行う例を示す図である。
【図１０】本発明の一実施の形態例による条件部のメモリサイズをランダムに設定する例を示す図である。
【図１１】本発明の一実施の形態例による遺伝的アルゴリズム処理部での処理例（例２）を示すフローチャートである。
【図１２】本発明の一実施の形態例による分類子獲得例を示す図である。
【図１３】本発明の一実施の形態例による進化計算の例を示す図である。
【図１４】本発明の一実施の形態例による被覆の例を示すフローチャートである。
【図１５】本発明の一実施の形態例による縮小の例を示す図である。
【図１６】本発明の一実施の形態例による処理で分類子の遺伝子長が適切に設定される状態を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態例（以下、「本例」と称する。）を、添付図面を参照して説明する。
［１．システム全体の構成例］
図１は、本例の学習分類子システムの全体の構成例を示す。図１は、学習分類子システムが実行する処理機能から見た構成である。この図１に示す学習分類子システムは、例えばコンピュータに、学習分類子システムとして作動させるためのプログラム（ソフトウェア）を実装することで構成される。
【００１５】
図１に示すように、外部の環境１において、分類する対象となる系列データが生成され、データ取得部２がその生成された系列データを取得するデータ取得処理を行う。ここで取得される系列データは、例えば、１番目のデータ、２番目のデータ、３番目のデータ、・・・と時間的な順序があるデータである。但し、系列データを構成する各データは、一定時間ごとのデータであるとは限らない。また、系列データは、時間以外の要因で順序があるデータでもよい。なお、系列データの具体的な例については後述する。
【００１６】
分類子記憶部３は、系列データと照合するための分類子の集合であるルール集合［Ｐ］を記憶する。ルール集合［Ｐ］内の分類子は、系列データを分類する条件部と、その条件部で分類された行動を示す行動部と、その行動部で示された行動を行うことの適合度を示すフィットネス値を持つ。分類子記憶部３が記憶するルール集合［Ｐ］は、外部に出力され、系列データの分類や解析を行う際に使用される。本例の学習分類子システムでは、この分類子記憶部３が記憶するルール集合［Ｐ］を最適化する処理が行われる。分類子記憶部３が記憶するルール集合［Ｐ］は、分類子出力部１１から外部に出力される。この分類子出力部１１から出力されるルール集合［Ｐ］内の分類子を使用して、データの分類や解析が実行される。
【００１７】
分類子記憶部３が記憶するルール集合［Ｐ］は、照合集合取得部４で、データ取得部２が取得した系列データと比較される。そして、照合集合取得部４は、その比較結果に基づいて、条件部が系列データと照合した分類子をルール集合［Ｐ］から取り出す照合集合取得処理が行われる。この照合集合取得部４でルール集合［Ｐ］から取り出した分類子の集合を照合集合［Ｍ］と称する。
【００１８】
この照合集合［Ｍ］は行動集合取得部５に送られ、行動集合取得部５において、照合集合取得部４で取り出した照合集合［Ｍ］内のそれぞれの分類子の行動部の値に基づいて取り出された、特定の行動の分類子の集合である行動集合［Ａ］を取得する行動集合取得処理を行う。また、照合集合［Ｍ］内の分類子は外部の環境１に渡され、環境１でフィットネス値の信頼度が判断される。このフィットネス値の信頼度の判断は、強化学習部６での強化学習処理により行われる。そして、行動集合取得部５では、その強化学習部６での信頼度の判断結果に基づいて、行動集合［Ａ］内の分類子のフィットネス値を更新する。
【００１９】
行動集合取得部５で得た行動集合［Ａ］内の分類子は、包摂部７に供給される。
包摂部７では、行動集合［Ａ］に含まれる複数の分類子が、１つの分類子に包摂できる場合に、その包摂を行って行動集合に含まれる分類子を減らす処理を行う。すなわち、行動集合［Ａ］に含まれる複数の分類子の中で、特定の分類子よりも一般化された表現の別の分類子が存在する場合に、包摂部７では、その特定の分類子を行動集合［Ａ］から削除することで、分類子を減らす処理が行われる。
【００２０】
そして、包摂部７で処理された行動集合［Ａ］が、遺伝的アルゴリズム処理部８に供給される。
遺伝的アルゴリズム処理部８では、一定の条件に基づいて分類子の選択又は変形の処理が行われる。この一定の条件に基づいて分類子の選択又は変形の処理を行う際には、少なくとも一部に、遺伝的アルゴリズム（ＧＡ）と称される処理が適用される。遺伝的アルゴリズム処理部８で分類子に対して行われる処理の具体例については後述する。
【００２１】
遺伝的アルゴリズム処理部８で処理された分類子は、縮小部９に供給され、縮小部９で、供給される分類子が持つ条件部が縮小可能である場合に、縮小する処理が行われる。具体的には、分類子の条件部の内の最も古い時間のデータを参照する条件が、不特定のデータであることを示す条件であるとき、縮小部９は、該当する不特定のデータであることを示す条件を削除して、条件部を縮小する。この縮小部９での条件部の縮小処理は、最も古い時間のデータを参照する条件が、不特定のデータであることを示す条件でなくなるまで繰り返し実行される。
【００２２】
縮小部９が出力する分類子は分類子記憶部３に供給され、この分類子記憶部３に記憶された分類子が更新される。ここで、分類子の更新とは、縮小部９が出力する分類子を、分類子記憶部３が記憶するルール集合［Ｐ］に加えると共に、フィットネス値の低い分類子を、ルール集合［Ｐ］から削除する処理である。例えば、２つの分類子がルール集合［Ｐ］に加えられる場合、フィットネス値の低い順にルール集合［Ｐ］から２つの分類子が削除される。
【００２３】
また、本例の学習分類子システムは、被覆部１０を備える。被覆部１０は、データ取得部２が取得した系列データに照合する照合集合［Ｍ］が存在しない場合に、データ取得部２が取得した系列データの少なくとも一部をコピーすることで得られる条件部を持つ分類子を作成する被覆処理を行う。被覆部１０が作成した分類子は、分類子記憶部３が記憶するルール集合［Ｐ］に加えられる。
【００２４】
［２．システム全体の処理の流れ］
図２は、本例の学習分類子システムの全体の処理の流れを示すフローチャートである。
まず、照合集合取得部４が、データ取得部２で取得した系列データを参照する（ステップＳ１１）。そして、照合集合取得部４は、ステップＳ１１で参照した系列データのうち、分類子記憶部３が記憶したルール集合［Ｐ］内の分類子の条件部と照合したものを選択し、その照合した分類子よりなる照合集合［Ｍ］を取得する（ステップＳ１２）。
【００２５】
次に、行動集合取得部５が、照合集合［Ｍ］内の分類子の行動部の値に基づいて、照合集合［Ｍ］から選択した行動集合［Ａ］を作成する（ステップＳ１３）。そして、行動集合取得部５は、行動集合［Ａ］内の分類子のフィットネス値を、強化学習部６で強化学習した結果に基づいて更新する（ステップＳ１４）。
次に、行動集合［Ａ］に含まれる複数の分類子が、１つの分類子に包摂できる場合に、包摂部７がその包摂を行う（ステップＳ１５）。この包摂部７での包摂が行われることで、行動集合［Ａ］に含まれる分類子の数を減少することができる。
【００２６】
包摂部７が出力する行動集合［Ａ］は遺伝的アルゴリズム処理部８に供給され、一定の条件に基づいた分類子の選択又は変形の処理が行われる（ステップＳ１６）。この遺伝的アルゴリズム処理部８で行われる処理の詳細は、別のフローチャート（図７，図１１）で説明する。
そして、遺伝的アルゴリズム処理部８が出力する分類子が縮小部９に供給され、分類子の条件部が縮小可能である場合に、縮小部９において縮小処理が行われる（ステップＳ１７）。
【００２７】
縮小部９が出力する分類子は分類子記憶部３に送られ、この分類子記憶部３でルール集合［Ｐ］に加えられると共に、このときルール集合［Ｐ］に加える分類子を生成させるために使用した照合集合［Ｍ］の内の分類子をルール集合［Ｐ］から削除する更新処理が行われる（ステップＳ１８）。そして、分類子記憶部３において分類子の最適化処理を終了するか否かが判断され（ステップＳ１９）、分類子の最適化処理を継続して行う場合には、ステップＳ１１からの処理が再度実行される。また、分類子の最適化処理を終了する場合には、分類子の処理を終了する。
【００２８】
［３．分類子の例］
図３は、入力データから分類子が生成される例を示す。
ここでは、ある人物が各時刻で滞在した場所を入力データとし、その場所での行動をクラスとする。例えば、午前７時に「kitchen」に滞在し、そこでの行動が「breakfast」であるとする。また、午前８時に「bathroom」に滞在し、そこでの行動が「shower」であり、午前９時に「office」に滞在し、そこでの行動が「working」であるとする。
【００２９】
このような行動の変化があるとき、あるタイミングｔ０に「kitchen」に滞在し、その２つ後のタイミングｔ＋２に「office」に滞在したという条件を満たすとき、タイミングｔ０のときに「kitchen」に滞在中の行動が、「breakfast」であるというルール（分類子１）が作成可能である。
【００３０】
同様にして、図３に示す表から、あるタイミングｔ０で「kitchen」に滞在し、それより１つ前のタイミングｔ−１に「office」に滞在したという条件を満たすとき、タイミングｔ０のときに「kitchen」に滞在中の行動が、「lunch」であるというルール（分類子２）が作成可能である。
【００３１】
さらに、図３に示す表から、あるタイミングｔ０で「kitchen」に滞在し、それより２つ後のタイミングｔ＋２に「bedroom」に滞在したという条件を満たすとき、タイミングｔ０のときに「kitchen」に滞在中の行動が、「dinner」であるというルール（分類子３）が作成可能である。
【００３２】
これら分類子１，２，３から分かるように、分類子は「ｉｆ−ｔｈｅｎ」ルールを示すものである。つまり、「ｉｆ」部である条件部の条件を満たすとき、「ｔｈｅｎ」である行動部の行動を行うという結論が得られる分類子である。
【００３３】
このような分類子を作成した場合、例えば分類子３のルールについては、「kitchen」に滞在中の行動が、「breakfast」や「lunch」である可能性が少なく、行動部の適合度が高い分類子と言える。一方、分類子１や分類子２については、別の行動の可能性があり、行動部の適合度が低い可能性がある。また、あるタイミングで行動を予測する場合、それより後の行動は分からないため、分類子は、タイミングｔ０と、それより過去のタイミング（ｔ−１など）の状況から、行動を判断するのが好ましい。
【００３４】
図３の表の例では、「lunch」を定義する分類子として、例えば次の３つの分類子ｃｌ３１，ｃｌ３２，ｃｌ３３が作成可能である。通常、分類子は固定長とするのが一般的であるが、ここでは可変長とする。但し、本実施の例においても、固定長の分類子を適用してもよい。
分類子ｃｌ３１＝｛kitchen，office，bathroom：lunch｝
分類子ｃｌ３２＝｛kitchen，office：lunch｝
分類子ｃｌ３３＝｛kitchen：lunch｝
【００３５】
分類子ｃｌ３１は、現在ｔ０の場所「kitchen」より１つ前のタイミングｔ―１の場所が「office」であり、さらにその１つ前のタイミングｔ―２の場所が「bathroom」であるとき、現在ｔ０の行動が「lunch」と定義する分類子である。分類子ｃｌ３１は、「kitchen，office，bathroom」が条件部であり、「：」の右側の「lunch」が行動部である。
分類子ｃｌ３２は、現在ｔ０の場所「kitchen」より１つ前のタイミングｔ―１の場所が「office」であるとき、現在ｔ０の行動が「lunch」と定義する分類子である。分類子ｃｌ３２は、「kitchen，office」が条件部であり、「：」の右側の「lunch」が行動部である。
分類子ｃｌ３３は、現在ｔ０の場所が「kitchen」であるとき、現在ｔ０の行動が「lunch」と定義する分類子である。分類子ｃｌ３３は、「kitchen」が条件部であり、「：」の右側の「lunch」が行動部である。
これらの例から分かるように、条件部の各データの内で、左端のデータは、現在ｔ０のデータであり、それより前のタイミングのデータが、右側に順に並ぶ。なお、それぞれの分類子は、行動部で示された行動を行うことの適合度に基づいたフィットネス値を持つ。各分類子が持つフィットネス値についての説明は省略する。
【００３６】
このようにして、複数のタイミングでの場所の時系列での変化、又は１つのタイミングでの場所から、行動を予測する分類子を作成することが可能である。本例においては、この３つの分類子ｃｌ３１，ｃｌ３２，ｃｌ３３のように、分類子の条件部の長さ（条件を示すデータの数）は可変とする。但し、条件部の最大の長さ（メモリサイズ：最大のデータの数）は、予め決めた値とする。
また、条件部が持つ条件として、特定タイミングでのデータ（上述した例での場所）が不特定であることを示す場合もある。
【００３７】
図４は、分類子の構成を示す図である。
図４に示すように、系列データＣは、Ｃ＝Ｃ０，Ｃ−１，Ｃ−２，・・・・、Ｃ−ｎであり、（ｎ＋１）個のデータで構成されているものとする。なお、Ｃ０は現タイミングのデータである。
このとき、例えば分類子ｃｌ１１として、現タイミングとそれより２つ前までの３つのデータＣ０，Ｃ−１，Ｃ−２を条件部とし、この条件部のデータから予測される行動「grooming」を行動部（クラス）として示すことができる。つまり、分類子ｃｌ１１は、もし（ｉｆ）、系列データＣのＣ０が「lounge」、Ｃ−１が「bathroom」、Ｃ−２が「lounge」である場合、行動部（クラス）は、「grooming」であるというルールを示している。
【００３８】
これに対して、例えば分類子ｃｌ１２として、現タイミングのデータＣ０だけを条件部とし、その条件より予測される行動「working」を行動部（クラス）として示す場合がある。つまり、分類子ｃｌ１２は、もし（ｉｆ）、系列データＣのＣ０が「office」である場合、行動部（クラス）は、「working」である、というルールである。
このように、本例の場合、分類子ごとに条件部を可変長に設定することができる。
【００３９】
［４．各集合の例］
図５は、分類子記憶部３が記憶するルール集合［Ｐ］と、照合集合取得部４が取得する照合集合［Ｍ］と、行動集合取得部５が取得する行動集合［Ａ］の例を示す図である。
図５の例の場合、データ取得部２で取得した系列データは、３ビットのデータである。例えば、タイミングｔ０のときデータ［１，０，０］であり、タイミングｔ−１のときデータ［０，１，１］であり、タイミングｔ−２のときデータ［０，０，０］であり、以下同様にＭ個前（Ｍは整数）までのデータが存在する。
【００４０】
分類子記憶部３が記憶するルール集合［Ｐ］が記憶する分類子は、条件部が、最大で系列データの３つのタイミングｔ０，ｔ−１，ｔ−２のデータを示す。例えば、ルール集合［Ｐ］内の分類子｛１１０，１１＃：１｝は、条件部として、タイミングｔ０のときのデータが［１１０］であり、タイミングｔ−１のときのデータが［１１＃］であるときを示す。そして、行動部の値が［１］であることを示す。ここで、条件部の値［＃］は、該当する値が不特定であることを示す。すなわち、データ［１１＃］は、データ［１１０］である場合と、データ［１１１］である場合とが含まれる。
【００４１】
また、あるタイミングのデータが、全て不特定の値［＃］である場合もある。例えば、分類子｛＃＃＃，０１１：０｝は、タイミングｔ０のデータがいずれの値であっても、タイミングｔ−１のときのデータが［０１１］であれば、条件に照合することを示す。
【００４２】
このようにして、データ取得部２に系列データが入力し、その系列データが入力する毎に、ルール集合［Ｐ］との照合処理が行われ、照合集合取得部４では、ルール集合［Ｐ］内のいずれかの分類子の条件部と照合したとき、その分類子が照合集合［Ｍ］として選び出される。
図５の例では、照合集合［Ｍ］として、４つの分類子｛１１０，１１＃：１｝、｛１＃０，＃＃１：０｝、｛＃＃０，０＃１，０＃＃：０｝、｛＃＃＃，０１１：０｝が選択された例を示す。
【００４３】
そして、行動集合取得部５は、照合集合［Ｍ］から、行動値の信頼度とフィットネス値が高いものを選ぶ。行動集合［Ａ］として選ばれた分類子は、強化学習部６での強化学習によりフィットネス値が更新される。
【００４４】
［５．包摂の例］
図６は、包摂部７における包摂処理の例を示す。図６Ａは、分類子ｃｌａと分類子ｃｌｂとで包摂ができる場合の例である。図６Ｂは、分類子ｃｌｃと分類子ｃｌｄとで包摂ができない場合の例である。なお、この図６の例は、系列データの各データが４ビットで構成される例として示している。
【００４５】
図６Ａに示す包摂ができる例について説明する。
分類子ｃｌａと分類子ｃｌｂは、以下の通りである。ｍの値は、過去のデータを参照するデータ長を示す。
分類子ｃｌａ＝｛＃＃１０：１，ｍ＝０｝
分類子ｃｌｂ＝｛１＃１０，１＃＃０：１，ｍ＝１｝
この分類子ｃｌａと分類子ｃｌｂが存在するとき、分類子ｃｌｂは、分類子ｃｌａの下位概念の分類子であると見なすことができる。すなわち、２つの分類子ｃｌａと分類子ｃｌｂは行動値が「１」で同じである。また、分類子ｃｌａは、分類子ｃｌｂとデータ長ｍの数を同じにした場合、分類子ｃｌａ＝｛＃＃１０，＃＃＃＃：１，ｍ＝１｝と見なすことができる。この分類子ｃｌａ＝｛＃＃１０，＃＃＃＃：１｝と分類子ｃｌｂ＝｛１＃１０，１＃＃０：１｝を比較すると、分類子ｃｌｂは、分類子ｃｌａで不特定「＃」で示される箇所が、特定の値（１又は０）である場合に相当する。したがって、分類子ｃｌｂは、分類子ｃｌａの下位概念のルールに相当する。
このため、分類子ｃｌｂは包摂部７での包摂の処理により削除される。
【００４６】
次に、図６Ｂに示す、包摂できない例について説明する。分類子ｃｌｃと分類子ｃｌｄは以下の通りである。
分類子ｃｌｃ＝｛１＃１０：１，ｍ＝０｝
分類子ｃｌｄ＝｛＃＃＃０，＃１１０，１１１＃：１，ｍ＝２｝
この分類子ｃｌｃと分類子ｃｌｄが存在するとき、分類子ｃｌｃと分類子ｃｌｄは、上位概念と下位概念の関係ではない。すなわち、２つの分類子ｃｌｃと分類子ｃｌｄは、データ長ｍの数を同じにした場合、分類子ｃｌｃは、｛１＃１０，＃＃＃＃，＃＃＃＃：１，ｍ＝２｝となる。このようにデータ長Ｍを同じにして、分類子ｃｌｃ＝｛１＃１０，＃＃＃＃，＃＃＃＃：１｝と分類子ｃｌｄ＝｛＃＃＃０，＃１１０，１１１＃：１｝とを比較する。ここで、分類子ｃｌｃのデータＣ０［１＃１０］と分類子ｃｌｄのデータＣ０［＃＃＃０］を比べると、分類子ｃｌｄの方が上位概念と言える。一方、分類子ｃｌｃのデータＣ−１［＃＃＃＃］と、分類子ｃｌｄのデータＣ−１［＃１１０］とを比較すると、分類子ｃｌｃの方が上位概念となっている。したがって、データを参照する位置ごとに上位概念と下位概念の関係が異なるため、一方が他方の上位概念とは言うことはできない。つまり、両者は、包摂関係にはない。このため、分類子ｃｌｃと分類子ｃｌｄとの比較では、いずれの分類子も削除されることはない。
【００４７】
包摂部７では、この図６に示すような比較が、行動集合［Ａ］内の全ての分類子の間で行われる。このようにして、包摂部７で包摂の処理が行われた行動集合［Ａ］は、遺伝的アルゴリズム処理部８に供給される。
【００４８】
［６．遺伝的アルゴリズム処理部の例（例１）］
図７は、遺伝的アルゴリズム処理部８での処理の例（例１）を示すフローチャートである。
まず、遺伝的アルゴリズム処理部８は、行動集合［Ａ］から行動サブセット［Ａ（ｔ−ｍ）］を作成する（ステップＳ２１）。この行動サブセット［Ａ（ｔ−ｍ）］は、条件部のデータ長ｍの値ごとに、分類子を分類したものである。
【００４９】
次に、遺伝的アルゴリズム処理部８は、それぞれの行動サブセット［Ａ（ｔ−ｍ）］毎に、そのサブセット内の分類子のフィットネス値の平均を算出する（ステップＳ２２）。さらに、そのフィットネス値の平均値を使用して、いずれかの行動サブセット［Ａ（ｔ−ｍ）］をルーレット選択する（ステップＳ２３）。なお、フィットネス値の平均値を使用してルーレット選択を行う例については後述する。
【００５０】
そして、ルーレット選択が行われた分類子に、遺伝的アルゴリズム（Genetic Algorithm：ＧＡ）を適用して、一定の条件に基づいて分類子の選択又は変形を行う（ステップＳ２４）。ここでは、遺伝的アルゴリズムを適用した処理として、一点交叉と称される条件部の変形と、条件部のサイズの変更を行う。
【００５１】
図８は、ステップＳ２１で行動サブセットを取得してから、ステップＳ２３でルーレット選択を行うまでの例を示す図である。ここでは、図８の左側に示すように、行動集合［Ａ］内に、４つの分類子が存在する。これらの４つの分類子を以下に示す。この例では、系列データの各データは２桁である。Ｆの値はフィットネス値である。
｛０１，０＃，１１：０１，Ｆ＝０．５｝（ｍ＝２）
｛０＃，０１：０１，Ｆ＝０．８｝（ｍ＝１）
｛０＃：０１，Ｆ＝０．１｝（ｍ＝０）
｛０１，＃＃：０１，Ｆ＝１．０｝（ｍ＝１）
【００５２】
ここで、図８に示すように、遺伝的アルゴリズム処理部８では、それぞれの分類子について、条件部の長さ（すなわちｍの値）に基づいて分類し、行動サブセットを得る。すなわち、ｍ＝０の行動サブセット［Ａ（ｔ−０）］として、分類子｛０＃：０１，Ｆ＝０．１｝を得る。また、ｍ＝１の行動サブセット［Ａ（ｔ−１）］として、分類子｛０＃，０１：０１，Ｆ＝０．８｝と、分類子｛０１，＃＃：０１，Ｆ＝１．０｝を得る。さらに、ｍ＝２の行動サブセット［Ａ（ｔ−２）］として、分類子｛０１，０＃，１１：０１，Ｆ＝０．５｝を得る。
【００５３】
そして、遺伝的アルゴリズム処理部８では、それぞれの行動サブセット内の分類子のフィットネス値Ｆの平均を算出する。
ここでは、フィットネス値Ｆの平均値として、ｍ＝０の行動サブセット［Ａ（ｔ−０）］はＦ＝０．１、ｍ＝１の行動サブセット［Ａ（ｔ−１）］はＦ＝０．９、ｍ＝２の行動サブセット［Ａ（ｔ−２）］はＦ＝０．５となる。
【００５４】
そして、それぞれの行動サブセットのフィットネス値の平均値を使用して、行動サブセット内の分類子をルーレット選択する。ルーレット選択とは、複数のデータから１個又は複数のデータを選択するとき、その選択する確率を、特定の値に基づいて変化させる処理である。具体的には、フィットネス値の平均値を使用して、分類値を選択する確率を変化させるものである。
【００５５】
例えば、図８の例では、フィットネス値の平均値が０．９のｍ＝１の行動サブセット［Ａ（ｔ−１）］は、選択される確率を０．９／１．５とする。また、フィットネス値の平均値が０．５のｍ＝２の行動サブセット［Ａ（ｔ−２）］は、選択される確率を０．５／１．５とする。さらに、フィットネス値の平均値が０．１のｍ＝０の行動サブセット［Ａ（ｔ−０）］は、選択される確率を０．１／１．５とする。
【００５６】
このようなルーレット選択を行うことで、遺伝的アルゴリズム処理部８では、例えば図８の右端に示すように、ｍ＝１の行動サブセット［Ａ（ｔ−１）］が選択される可能性が最も高くなる。但し、この行動サブセット［Ａ（ｔ−１）］が選択されるのは一例であり、確率は低くなるが、その他の行動サブセットがルーレット選択で選択されるケースもある。
【００５７】
図９は、ルーレット選択された行動サブセット内の分類子に対して、一点交叉の遺伝的アルゴリズム（ＧＡ）による変形が行われる例を示す。
例えば、ルーレット選択された行動サブセット内には、以下の２つの分類子が存在するとする。
｛０＃，０１：０１，Ｆ＝０．８｝
｛０１，＃＃：０１，Ｆ＝１．０｝
このとき、その２つの分類子の条件部の特定の同じ位置のデータを入れ替える処理を行う。例えば、一方の分類子のデータＣ０「０＃」の後半の「＃」と、他方の分類子のデータＣ０「０＃」の後半の「１」とを入れ替える。また、一方の分類子のデータＣ―１「０１」の後半の「１」と、他方の分類子のデータＣ−１「＃＃」の後半の「＃」とを入れ替える。
【００５８】
さらに、図９に示す交叉の処理が行われた分類子に対して、メモリサイズ（データサイズ）をランダムに変更して、遺伝的アルゴリズムによる変形を行う。
図１０は、このメモリサイズのランダムな変更例を示す。
例えば、分類子｛０＃，０１：０１，Ｆ＝０．８｝が存在するとき、その分類子の条件部「０＃，０１」として、その後に３つのデータを加えて、「０＃，０１，１１，１０，１０」とし、分類子をｍ＝１からｍ＝４に変更する。加えるデータはランダムな値とする。
【００５９】
また、分類子｛０＃，０１：０１，Ｆ＝０．８｝の条件部「０＃，０１」の後半の「０１」を削除して、分類子をｍ＝１からｍ＝０に変更する。
なお、増加による変更を行う際には、メモリサイズの最大値（すなわちｍの最大値）は、予め決めた値とする。
【００６０】
このようにして、遺伝的アルゴリズム処理部８で変形や選択などの処理が行われた分類子が、縮小部９に供給される。
【００６１】
［７．遺伝的アルゴリズム処理部の例（例２）］
図１１は、遺伝的アルゴリズム処理部８での処理の例（例２）を示すフローチャートである。この例は、進化計算を行う例である。
まず、遺伝的アルゴリズム処理部８は、行動集合［Ａ］内の分類子の条件部を、時間軸上の位置毎に分類する（ステップＳ３１）。次に、遺伝的アルゴリズム処理部８は、時間軸上の位置毎に、その分類子が持つフィットネス値の累積値を算出する（ステップＳ３２）。そして、そのフィットネス値の累積値を正規化した値とする（ステップＳ３３）。
【００６２】
その後、遺伝的アルゴリズム処理部８は、その正規化したフィットネス値の累積値の中で、予め決めた閾値以上の累積値を持つ位置ｔａ，ｔｂ，・・・を確定する（ステップＳ３４）。そして、遺伝的アルゴリズム処理部８は、その確定した位置ｔａ，ｔｂ，・・・毎に、値をルーレット選択して、新たな分類子を生成する（ステップＳ３５）。
【００６３】
図１２は、ここでの分類子の獲得例を示す図である。
図１２の例は、住宅内の各部屋にセンサを設置し、センサの位置とセンサタイプと部屋を記録し、それぞれの部屋での行動（クラス）についても記録したものである。ここでは、それぞれの行動の時間（タイムスタンプ）についても記録している。
例えば、２０１１年１１月２８日、２時２７分５９秒から１０時１８分１１秒まで、［Bedroom］の［Bed］センサが人物の存在を検出し、行動が［Sleeping］であるとする。同様に、図１２に示すように各時刻でセンサが検出され、それぞれの行動が記録される。
【００６４】
この図１２に示す位置変化と行動の記録から、図１２の下側に示すように、４つの分類子ｃｌａ〜ｃｌｄが生成されたとする。この４つの分類子ｃｌａ〜ｃｌｄは、「：」の左側が条件部、「：」の右側が行動部である。この例の場合も条件部は可変長である。また、条件部は、タイミングのデータ（現時点から何個前のデータかを示す）を持つ。但し、以下のデータではタイミングのデータ及びフィトネス値は省略する。
分類子ｃｌａ＝｛（＃，＃，＃），（＃，＃，＃），（Shower，＃，＃）：Breakfast｝
分類子ｃｌｂ＝｛（Cooktop，＃，＃），（＃，＃，＃），（Seat，＃，＃）：Lunch｝
分類子ｃｌｃ＝｛（Fridge，＃，＃），（＃，＃，Living），（＃，＃，Entrance）：Snack｝
分類子ｃｌｄ＝｛（Basin，PIR，Bathroom），（Maindoor，＃，Entrance）：Grooming｝
【００６５】
このように、住宅内での位置の変化の記録から、行動を判断する分類子を獲得することができる。この分類子を使用することで、センサが検出したデータを使用して、そのときの行動を判断できるようになる。
【００６６】
図１３は、このようなタイプの分類子に対して、遺伝的アルゴリズム処理部８で行われる処理の例を示す。但し、図１３では、分類子の条件部や行動部のデータは、「１」又は「０」の値として示す。この図１３に示す処理は、進化計算と称される。
まず、遺伝的アルゴリズム処理部８に行動集合［Ａ］が供給されるとき、遺伝的アルゴリズム処理部８は、その行動集合［Ａ］内の各分類子の条件部の各要素が、時間的にどのタイミングの条件であるかに基づいて分類する。例えば、行動集合［Ａ］は、図１３に示す以下の分類子ｃｌ１，ｃｌ２，ｃｌ３で構成されるとする。
分類子ｃｌ０｛（１＃０，ｔｏ），（００＃，ｔ−２）：１，Ｆ＝０．８｝
分類子ｃｌ１｛（＃００，ｔ−２），（＃＃０，ｔ−３）：１，Ｆ＝０．２｝
分類子ｃｌ２｛（０００，ｔ−２）：１，Ｆ＝０．１｝
【００６７】
このとき、遺伝的アルゴリズム処理部８では、行動集合分類データＤｔを得る。この行動集合分類データＤｔは、それぞれの分類子の条件部が、どのタイミングの条件であるかを示し、遺伝的アルゴリズム処理部８は、この行動集合分類データＤｔから、それぞれのタイミングごとのフィットネス値Ｆの累積値の集合ＦＳ（ｎ）を得る。例えば、タイミングｔｏは分類子ｃｌ０の条件があり、その分類子ｃｌ０のフィットネス値０．８が累積値となる。また、タイミングｔ−２は３つの分類子ｃｌ０，ｃｌ１，ｃｌ２の条件があり、その３つの分類子ｃｌ０，ｃｌ１，ｃｌ２のフィットネス値０．８，０．２，０．１を加算した値１．１が累積値となる。タイミングｔ−３は分類子ｃｌ１の条件があり、その分類子ｃｌ１のフィットネス値０．２が累積値となる。
【００６８】
このようにして、遺伝的アルゴリズム処理部８では、図１３に示すように以下のフィットネス値の累積値列ＦＳ（ｎ）が得られる。
ＦＳ（ｎ）＝｛０．８，０．０，１．１，０．２，・・・，０．０｝
遺伝的アルゴリズム処理部８は、このＦＳ（ｎ）内の各値を正規化して、以下のＰaccept（ｎ）を得る。ここでは、ＦＳ（ｎ）内の最大値１．１を１．００に正規化する。
Ｐaccept（ｎ）＝｛０．７３，０．００，１．００，０．１８，・・・，０．００｝
【００６９】
次に、遺伝的アルゴリズム処理部８は、この正規化した値Ｐaccept（ｎ）の中で、予め決めた閾値以上のものを選択する。例えば、値が０．５０以上のものを取り出す。上述した例では、０．７３と１．００が取り出される。ここで、遺伝的アルゴリズム処理部８は、それぞれの値が示すタイミングｔｏ及びｔ−２を判断する。
【００７０】
次に、遺伝的アルゴリズム処理部８は、行動集合［Ａ］内の各分類子の条件部の内で、タイミングｔｏのデータＣ０を集めた行動集合［Ａ］のサブセット［Ａ（Ｃ０）］と、タイミングｔ−２のデータＣ−２を集めた行動集合［Ａ］のサブセット［Ａ（Ｃ−２）］とを得る。
そして、遺伝的アルゴリズム処理部８は、それぞれのサブセット［Ａ（Ｃ０）］，［Ａ（Ｃ−２）］から、フィットネス値Ｆを使ったルーレット選択で候補となるデータを選び、新たな分類子を生成させる。
【００７１】
例えば、作成される分類子の１つの例として、タイミングｔｏのデータＣ０として、（１＃０，ｔｏ）を選び、タイミングｔ−２のデータＣ−２として、（０００，ｔ−２）を選び、分類子｛（１＃０，ｔｏ），（０００，ｔ−２）：１，Ｆ＝０．４５｝とする。また、作成される分類子の別の例として、タイミングｔｏのデータＣ０として、（１＃０，ｔｏ）を選び、タイミングｔ−２のデータＣ−２として、（＃００，ｔ−２）を選び、分類子｛（１＃０，ｔｏ），（＃００，ｔ−２）：１，Ｆ＝０．５｝とする。
これらの新たに生成された分類子のフィットネス値Ｆは、作成された分類子内の各条件のデータの選択元の分類子が持つフィットネス値の平均値とする。
このようにして、遺伝的アルゴリズム処理部８は、元の行動集合［Ａ］内の分類子の各構成要素を使って変形した分類子を作成し、その作成された分類子を出力する。
【００７２】
［８．縮小の例］
図１４は、縮小部９の処理を示す。
縮小部９は、遺伝的アルゴリズム処理部８が出力する分類子の条件部が縮小可能である場合に、縮小する処理を行う。具体的には、分類子の条件部内の末尾のタイミングのデータが、全ての桁で不特定の値「＃」であるとき、縮小部９は、そのタイミングのデータを削除する。
【００７３】
例えば、図１４に示すように、Ｃ０とＣ−１とＣ−２のデータよりなる分類子｛０＃，＃＃，＃＃：０１｝が遺伝的アルゴリズム処理部８から出力されるとする。このとき、Ｃ−２のデータ（＃＃）は、全て不特定の値（＃）で構成された最大一般化条件部である。したがって、Ｃ−２のデータ（＃＃）は、縮小部９で削除される。さらに、そのＣ−２のデータ（＃＃）を削除することで末尾となるＣ−１のデータ（＃＃）についても、全て不特定の値（＃）で構成された最大一般化条件部であり、縮小部９で削除される。このように縮小部９では、最も古い時間のデータを参照する条件が、不特定のデータであることを示す条件でなくなるまで繰り返し実行される。
このようにして、分類子｛０＃，＃＃，＃＃：０１｝は、縮小部９での縮小処理で、分類子｛０＃：０１｝となる。
【００７４】
［９．被覆の例］
図１５は、被覆部１０での被覆の処理を示すフローチャートである。
被覆部１０での処理について説明すると、被覆部１０は、照合集合［Ｍ］取得部４で現在の入力データに照合する分類子がルール集合［Ｐ］から選び出されたか否かを判断する（ステップＳ４１）。ここで、現在の入力データに照合する分類子が選び出された場合には、被覆部１０は分類子の生成処理を行わず、図１５のフローチャートの処理を終了する。
【００７５】
そして、ステップＳ４１で、現在の入力データに照合する分類子が存在しない場合に、ステップＳ４２以降の処理が行われる。すなわち、被覆部１０は、データ取得部２が取得した入力データ系列をコピーした条件部を持つ分類子を生成する（ステップＳ４２）。このとき、条件部のメモリサイズ（データサイズ）はランダムに設定される。但し、ランダムに設定されるメモリサイズの最大値は予め決めた値とする。
【００７６】
次に、被覆部１０は、予め決めた確率Ｐで、生成した分類子の条件部の中のデータを、一般化した不特定の値「＃」に置き換え、分類子を変形させる（ステップＳ４３）。そして、被覆部１０は、このようにして生成した分類子を、分類子記憶部３が記憶したルール集合［Ｐ］に追加する（ステップＳ４４）。
このようにして、入力した系列データに照合する分類子が存在しない場合には、被覆部１０で新たな分類子が生成され、ルール集合［Ｐ］に追加される。
【００７７】
［１０．本例の学習分類子システムの効果］
以上説明した本例の学習分類子システムによると、分類子記憶部３が記憶するルール集合［Ｐ］を最適化することができる。図１６は、この分類子が最適化される状態を説明する図である。一般的に分類子は、条件部の長さが長い程、行動部で示すデータが正しいものとなるので、条件部の長さが長い程、フィットネス値で示される適合度が、最大値である１に近づく。フィットネス値が１に近い値となるためには、分類子内の条件部が適正に変形や修正される必要があり、そのための処理が遺伝的アルゴリズム処理部８で行われる。この遺伝的アルゴリズム処理部８での処理で、図１６に矢印Ｓａで示すように、フィットネス値が０から１に近づく。
【００７８】
ところで、フィットネス値は１が最大値であり、フィットネス値が１の状態では、いくら条件を増やしても、フィットネス値が１のままであり、分類子によるデータ分類を行う際の精度は向上しない。したがって、分類子の条件部の長さ（メモリサイズ）や、分類子そのものの数は、フィットネス値が１の状態で最小であることが好ましい。この分類子の条件部のメモリサイズの縮小は、縮小部９での縮小により行われ、分類子の数を減らす処理は、包摂部７での包摂により行われる。したがって、図１６の矢印Ｓｂに示すように、フィットネス値が１の状態での最小位置ｘに近づける処理が行われる。
したがって、本例の学習分類子システムによると、分類子記憶部３が記憶するルール集合［Ｐ］は、最小の数の分類子で構成されるようになると共に、その分類子内の条件部の条件の長さ（メモリサイズ）についても最小化され、最適化された分類子の集合よりなるルール集合［Ｐ］が得られる。このように最適化された分類子が得られることで、系列データを分類子で分類する際には、最小の演算処理で系列データの分類が可能になり、効率のよいデータ分類が可能になる。
【００７９】
［１１．変形例］
なお、上述した実施の形態例で説明した分類子の構成の例は、それぞれ好適な一例を示したものであり、別の構成の分類子としてもよい。また、照合集合［Ｍ］の分類子を使用して、ルール集合［Ｐ］内の分類子を更新するための分類子とする処理の順序についても、一例を示したものであり、実質的に同様の処理が行われる場合には、一部の処理順序を変更してもよい。
また、上述した実施の形態例の学習分類子システムでは、コンピュータにプログラムを実装することで、図１に示す機能ブロックが構成されるようにしたが、それぞれの機能部での処理を行うハードウェアを用意して、ハードウェアで学習分類子システムを構成してもよい。
【符号の説明】
【００８０】
１…環境、２…データ取得部、３…分類子記憶部、４…照合集合取得部、５…行動集合取得部、６…強化学習部、７…包摂部、８…遺伝的アルゴリズム処理部、９…縮小部、１０…被覆部、１１…分類子出力部
【図１】
0006392599.tif 000002
【図２】
0006392599.tif 000003
【図３】
0006392599.tif 000004
【図４】
0006392599.tif 000005
【図５】
0006392599.tif 000006
【図６】
0006392599.tif 000007
【図７】
0006392599.tif 000008
【図８】
0006392599.tif 000009
【図９】
0006392599.tif 000010
【図１０】
0006392599.tif 000011
【図１１】
0006392599.tif 000012
【図１２】
0006392599.tif 000013
【図１３】
0006392599.tif 000014
【図１４】
0006392599.tif 000015
【図１５】
0006392599.tif 000016
【図１６】
0006392599.tif 000017