(57)【要約】【課題】複数の分類器間の関係を予め定めることなく情報の分類を学習する。【解決手段】情報分類装置１０は、それぞれ複数の分類のうちいずれかの分類を示す分類情報が定められた複数の多次元情報を含む学習情報を取得し、入力される多次元情報を分類する複数のパーセプトロン１８の各々について、入力される多次元情報の分類を区分する超平面と、当該超平面を基準とした領域であって入力される多次元情報を分類の対象としない不活性領域とを規定する情報をそれぞれ保持し、保持される各パーセプトロン１８の超平面及び不活性領域を規定する情報を、学習情報に含まれる少なくとも一部の多次元情報とその分類情報に従って更新し学習する学習処理を、１つのパーセプトロン１８と他のパーセプトロン１８とにおいて、当該１つのパーセプトロン１８の不活性領域内に含まれる多次元情報を、当該他のパーセプトロン１８の超平面により分類するように制御する。【選択図】図１
2011154644.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ複数の分類のうちいずれかの分類を示す分類情報が定められた複数の多次元情報を含む学習情報を取得する学習情報取得手段と、
入力される多次元情報を分類する複数の分類器の各々について、入力される多次元情報の分類を区分する超平面と、当該超平面を基準とした領域であって入力される多次元情報を分類の対象としない不活性領域とを規定する情報をそれぞれ保持した保持手段に保持される前記各分類器の超平面及び不活性領域を規定する情報を、前記学習情報に含まれる少なくとも一部の多次元情報とその分類情報に従って更新し学習する学習手段と、
前記複数の分類器に含まれる１つの分類器と他の分類器とにおいて、当該１つの分類器の不活性領域内に含まれる多次元情報を、当該他の分類器の超平面により分類するように前記学習手段を制御する学習制御手段
としてコンピュータを機能させるためのプログラム。
【請求項２】
前記学習制御手段は、前記学習手段により学習された前記１つの分類器の不活性領域内に含まれる多次元情報を学習情報として、前記他の分類器に分類を学習させる
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記学習制御手段は、前記学習手段により学習された前記１つの分類器の不活性領域内に含まれる多次元情報を学習情報として、前記他の分類器に分類を学習させる処理を、予め定められた条件が満足されるまで再帰的に実行する
ことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記学習制御手段は、前記１つの分類器と前記他の分類器とのそれぞれの超平面が直交化するように学習させる
ことを特徴とする請求項１に記載のプログラム。
【請求項５】
未分類の多次元情報を前記複数の分類器の各々により分類した分類結果に基づいて、当該未分類の多次元情報を分類する分類手段
としてさらに前記コンピュータを機能させるための請求項１から４のいずれかに記載のプログラム。
【請求項６】
それぞれ複数の分類のうちいずれかの分類を示す分類情報が定められた複数の多次元情報を含む学習情報を取得する学習情報取得手段と、
入力される多次元情報を分類する複数の分類器の各々について、入力される多次元情報の分類を区分する超平面と、当該超平面を基準とした領域であって入力される多次元情報を分類の対象としない不活性領域とを規定する情報をそれぞれ保持した保持手段に保持される前記各分類器の超平面及び不活性領域を規定する情報を、前記学習情報に含まれる少なくとも一部の多次元情報とその分類情報に従って更新し学習する学習手段と、
前記複数の分類器に含まれる１つの分類器と他の分類器とにおいて、当該１つの分類器の不活性領域内に含まれる多次元情報を、当該他の分類器の超平面により分類するように前記学習手段を制御する学習制御手段と、
を含むことを特徴とする情報分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び情報分類装置に関する。
【背景技術】
【０００２】
分類情報が定められたベクトルデータ等の学習情報をパーセプトロンに入力し、データの分類を学習することがある。例えば、下記の特許文献１には、並列に配置した複数のパーセプトロンの関係を予め定めておき、入力されたベクトルデータに応じて決定されたパーセプトロンにより分類を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２３８５３８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、複数の分類器間の関係を予め定めることなく情報の分類を学習できるプログラム及び情報分類装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の発明は、それぞれ複数の分類のうちいずれかの分類を示す分類情報が定められた複数の多次元情報を含む学習情報を取得する学習情報取得手段と、入力される多次元情報を分類する複数の分類器の各々について、入力される多次元情報の分類を区分する超平面と、当該超平面を基準とした領域であって入力される多次元情報を分類の対象としない不活性領域とを規定する情報をそれぞれ保持した保持手段に保持される前記各分類器の超平面及び不活性領域を規定する情報を、前記学習情報に含まれる少なくとも一部の多次元情報とその分類情報に従って更新し学習する学習手段と、前記複数の分類器に含まれる１つの分類器と他の分類器とにおいて、当該１つの分類器の不活性領域内に含まれる多次元情報を、当該他の分類器の超平面により分類するように前記学習手段を制御する学習制御手段としてコンピュータを機能させるためのプログラムである。
【０００６】
また、請求項２に記載の発明は、請求項１に記載のプログラムにおいて、前記学習手段により学習された前記１つの分類器の不活性領域内に含まれる多次元情報を学習情報として、前記他の分類器に分類を学習させることを特徴とする。
【０００７】
また、請求項３に記載の発明は、請求項２に記載のプログラムにおいて、前記学習手段により学習された前記１つの分類器の不活性領域内に含まれる多次元情報を学習情報として、前記他の分類器に分類を学習させる処理を、予め定められた条件が満足されるまで再帰的に実行することを特徴とする。
【０００８】
また、請求項４に記載の発明は、請求項１に記載のプログラムにおいて、前記１つの分類器と前記他の分類器とのそれぞれの超平面が直交化するように学習させることを特徴とする。
【０００９】
また、請求項５に記載の発明は、請求項１から４のいずれかに記載のプログラムにおいて、未分類の多次元情報を前記複数の分類器の各々により分類した分類結果に基づいて、当該未分類の多次元情報を分類する分類手段としてさらに前記コンピュータを機能させるためのプログラムである。
【００１０】
また、請求項６に記載の発明は、それぞれ複数の分類のうちいずれかの分類を示す分類情報が定められた複数の多次元情報を含む学習情報を取得する学習情報取得手段と、入力される多次元情報を分類する複数の分類器の各々について、入力される多次元情報の分類を区分する超平面と、当該超平面を基準とした領域であって入力される多次元情報を分類の対象としない不活性領域とを規定する情報をそれぞれ保持した保持手段に保持される前記各分類器の超平面及び不活性領域を規定する情報を、前記学習情報に含まれる少なくとも一部の多次元情報とその分類情報に従って更新し学習する学習手段と、前記複数の分類器に含まれる１つの分類器と他の分類器とにおいて、当該１つの分類器の不活性領域内に含まれる多次元情報を、当該他の分類器の超平面により分類するように前記学習手段を制御する学習制御手段と、を含むことを特徴とする情報分類装置である。
【発明の効果】
【００１１】
請求項１及び６に記載の発明によれば、複数の分類器間の関係を予め定めることなく情報の分類を学習できる。
【００１２】
請求項２に記載の発明によれば、２つの分類器間で一方の超平面で分類できない多次元情報であっても他方の超平面で分類することができる。
【００１３】
請求項３に記載の発明によれば、複数の分類器で分担して多次元情報の分類を学習できる。
【００１４】
請求項４に記載の発明によれば、２つの分類器の一方で分類しない多次元情報を他方で分類することができる。
【００１５】
請求項５に記載の発明によれば、学習された複数の分類器により新たな多次元情報の分類を決定できる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係る情報分類装置の機能ブロック図である。
【図２】学習データの一例を示す図である。
【図３】学習データの座標系における分布の一例を示す図である。
【図４】パーセプトロンの機能ブロック図の一例を示す図である。
【図５】第１のパーセプトロンの結合ベクトルに基づき、第２のパーセプトロンの結合ベクトルを学習させる処理の一例を説明する図である。
【図６】情報分類装置による学習結果の一例を説明する図である。
【図７】第１の実施形態に係る情報分類装置による学習処理の一例のフローチャートである。
【図８】第２の実施形態に係る情報分類装置の機能ブロック図である。
【図９】第２の実施形態に係る情報分類装置の学習処理の一例を説明する図である。
【図１０】第２の実施形態に係る情報分類装置による学習処理の一例のフローチャートである。
【図１１】入力されたベクトルデータを分類する分類処理の一例のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための好適な実施の形態（以下、実施形態という）を、図面に従って説明する。
【００１８】
図１には、本発明の第１の実施形態に係る情報分類装置１０の機能ブロック図を示した。図１に示されるように、第１の実施形態に係る情報分類装置１０は、学習データ取得部１２、学習制御部１４、分類部１６、入力データ取得部２０、分類制御部２２を含む。上記の各部の機能は、ＣＰＵ等の制御手段、メモリ等の記憶手段、外部デバイスとデータを送受信する入出力手段等を備えたコンピュータが、コンピュータ読み取り可能な情報記憶媒体に格納されたプログラムを読み込み実行することで実現されるものとしてよい。なお、プログラムは情報記憶媒体によってコンピュータたる情報分類装置１０に供給されることとしてもよいし、インターネット等のデータ通信手段を介して供給されることとしてもよい。
【００１９】
学習データ取得部１２は、それぞれ分類情報が定められた複数の多次元情報（ベクトルデータ）を含む学習データを取得するものである。分類情報は、ベクトルデータの分類を示す情報であり、例えば分類数が２であれば分類情報は真偽値（Ｔ又はＦ）や＋１又は−１として表すこととしてよい。
【００２０】
図２には、学習データ取得部１２により取得される学習データの一例を示した。図２に示されるように、学習データは、データ識別番号に関連づけて、ベクトルデータ、分類情報がそれぞれ格納されたデータとして構成されることとしてよい。以下、学習データのデータ識別番号をω、データ識別番号ωのベクトルデータをξω、データ識別番号ωの分類情報をσωとして表す。
【００２１】
図３には、学習データの座標系における分布の一例を示した。図３に示される座標系は、学習データに含まれる各ベクトルデータを配置した状態を表している。なお説明を簡単にするため、図３ではベクトルデータを２次元座標系に配置した例を示しているが、実際には各ベクトルデータはベクトルデータの次元数に応じた座標系に配置されている。
【００２２】
図３に示した分布では、分類情報が＋１のデータを白丸、分類情報が−１のデータを黒丸として表している。ここで、１つの超平面Ｆでは全ての学習データを正しい分類に区切ることはできないため、複数のパーセプトロン１８（分類器）を用いてデータの分類を学習することとする。以下、複数のパーセプトロン１８による学習処理について説明する。
【００２３】
学習制御部１４は、複数のパーセプトロン１８（分類器）を含む分類部１６における学習処理を制御するものである。本実施形態においては、学習制御部１４は、学習データ取得部１２により取得された学習データに基づいてパーセプトロン１８の超平面（結合ベクトルを法線ベクトルとして規定される面）を学習する際に、他のパーセプトロン１８の超平面（又は結合ベクトル）と直交化するように学習させることとする。
【００２４】
分類部１６は、複数のパーセプトロン１８を並列に含み構成されるものであり、各パーセプトロン１８は同じ構成を有することとしてよい。
【００２５】
図４には、パーセプトロン１８の機能ブロック図の一例を示した。図４に示されるように、パーセプトロン１８は、内部状態保持部３０、演算部３２、判定部３４、及び内部状態更新部３６を含む。
【００２６】
内部状態保持部３０は、超平面の法線ベクトルである結合ベクトルと、結合ベクトルにより規定される超平面からのマージン（距離）とを保持する。なお、超平面とマージンとにより規定される空間はパーセプトロン１８の不活性領域であり、パーセプトロン１８にベクトルデータが入力された際に、当該ベクトルデータが超平面からマージン内にあれば分類の対象外となる。
【００２７】
演算部３２は、内部状態保持部３０に保持される結合ベクトルと、入力されたベクトルデータとに基づいて識別関数の値を演算するものである。例えば演算部３２は、現在保持される結合ベクトルＪ、ベクトルデータｘ、θを定数、識別関数ｆｗ（ｘ）＝Ｊ・ｘ＋θとした場合に、ｓｇｎ［ｆｗ（ｘ）］の値を演算する。なお、Ｊ・ｘはＪとｘの内積であり、ｓｇｎ［ｘ］関数は、ｘ≧０ならば１、ｘ＜０ならば−１となる関数である。
【００２８】
判定部３４は、演算部３２により出力された識別関数の値に基づいて、入力されたベクトルデータの分類を判定するものである。例えば、判定部３４は、入力されたベクトルデータにより演算された識別関数の値がマージンＫ（Ｋ＞０）を上回った場合には分類＋１とし、マージン−Ｋを下回った場合には分類−１として判定することとしてよい。なお、識別関数の値がマージン内に収まった場合には、例えば出力を０とすることとしてもよい。
【００２９】
内部状態更新部３６は、学習データに含まれるベクトルデータと結合ベクトルとに基づく演算部３２による出力が、当該ベクトルデータの分類情報（＋１か−１）に合う向きに、結合ベクトルを更新するものである。内部状態更新部３６による結合ベクトルの更新処理のアルゴリズムには、パーセプトロン１８の学習処理における公知のアルゴリズムを用いることとしてよい。本実施形態では、内部状態更新部３６により結合ベクトルを更新する際に、既に学習されたパーセプトロン１８の結合ベクトルと直交する条件を課して学習することとする。
【００３０】
図５は、第１のパーセプトロン１８の結合ベクトルに基づき、第２のパーセプトロン１８の結合ベクトルを学習させる処理の一例を説明する図である。図５に示されるように、予め学習された第１のパーセプトロン１８の結合ベクトルＪ１、これから学習しようとする第２のパーセプトロン１８の結合ベクトルＪ２とすると、ΔＪ２＝ｓｇｎ（Ｊ２・Ｊ１）（Ｊ２−Ｊ１）となるようにＪ２を更新することで、Ｊ１とＪ２との結合ベクトルが直交化するようにする。
【００３１】
学習制御部１４は、ｉ番目のパーセプトロン１８の結合ベクトルの学習を、１〜ｉ−１番目のパーセプトロン１８の結合ベクトルとそれぞれ直交化するようにしてもよいし、その少なくとも一部のパーセプトロン１８の結合ベクトルと直交化するようにしてもよい。
【００３２】
図６には、本実施形態に係る情報分類装置１０による学習結果の一例を説明する図を示した。図６に示されるように、第１のパーセプトロン１８の不活性領域内（マージン領域内）に含まれる、第１のパーセプトロン１８により分類されないデータについては、第１のパーセプトロン１８の結合ベクトルと直交する第２のパーセプトロン１８により分類されることとなる。また、説明の簡便のため図示してはいないが、第２のパーセプトロン１８のマージンにより分類されないデータについては第３のパーセプトロン１８等の他のパーセプトロン１８により分類されることとなる。
【００３３】
入力データ取得部２０は、分類対象とするベクトルデータ（入力データ）を取得するものである。
【００３４】
分類制御部２２は、入力データ取得部２０により取得された入力データに対する分類部１６による処理を制御し、入力データの分類を決定するものである。具体的には、分類制御部２２は、入力データを分類部１６の各パーセプトロン１８に入力してその出力結果を取得し、出力結果が＋１か−１となっている（すなわち、分類が行われた）パーセプトロン１８の結果に基づいて入力データの分類を決定する。
【００３５】
次に、図７に示されたフローチャートを参照しながら、第１の実施形態に係る情報分類装置１０による学習処理の流れの一例を説明する。
【００３６】
図７に示されるように、情報分類装置１０は、学習データを取得し（Ｓ１０１）、複数のパーセプトロン１８の中から未学習のパーセプトロン１８を１つ選択する（Ｓ１０２）。情報分類装置１０は、既に学習されたパーセプトロン１８の結合ベクトルを取得し（Ｓ１０３）、取得した結合ベクトルと直交化するように、上記取得した学習データを用いて学習処理を実行する（Ｓ１０４）。情報分類装置１０は、未学習のパーセプトロン１８があるか否かを判断し（Ｓ１０５）、あると判断する場合には（Ｓ１０５：Ｙ）、Ｓ１０２に戻ってそれ以降の処理を繰り返し、未学習のパーセプトロン１８がないと判断する場合には（Ｓ１０５：Ｎ）、学習処理を終了する。
【００３７】
次に、本発明の第２の実施形態について説明する。図８には、第２の実施形態に係る情報分類装置１０の機能ブロック図を示した。第２の実施形態に係る情報分類装置１０は、第１の実施形態に係る情報分類装置１０と、学習制御部１４の処理及び未分類学習データ取得部２４を有する点で異なり、他の点では共通している。以下、第１の実施形態に係る情報分類装置１０からの相違点を中心に説明する。
【００３８】
学習制御部１４は、分類部１６に含まれるパーセプトロン１８の１つを選択し（これを第１のパーセプトロン１８とする）、この第１のパーセプトロン１８に学習データ取得部１２により取得された全学習データを入力して学習処理を行わせる。
【００３９】
学習処理は、例えば現在の結合ベクトルＪ（ｔ）、学習させるベクトルデータξ、当該ベクトルデータξの分類σとした場合に、ξがＪ（ｔ）により正しく分類された場合（すなわち分類がσに一致した場合）にはＪ（ｔ）をそのまま維持し、正しく分類されなかった場合には、Ｊ（ｔ＋Δｔ）＝Ｊ（ｔ）＋ησξとして更新することとしてよい（ηは定数）。そして、以上の学習を終えた後に、正しく分類されないベクトルデータ（未分類学習データ）が存在する場合には、結合ベクトルＪ（ｔ）により規定される超平面を基準として未分類学習データを含む距離をマージンとして設定することとしてよい。
【００４０】
第１のパーセプトロン１８は、学習制御部１４から入力された学習データに基づいて学習処理を行い、ベクトルデータを分離する超平面を規定する結合ベクトルと、当該結合ベクトルにより規定される超平面では正しく分離されないベクトルデータを含むように上記の超平面からの距離（マージン）を設定する。
【００４１】
未分類学習データ取得部２４は、学習処理が行われたパーセプトロン１８から、当該パーセプトロン１８に設定された不活性領域（マージン領域）内に含まれるベクトルデータ（すなわち、上記パーセプトロン１８では分類されないベクトルデータ）を取得する。そして、未分類学習データ取得部２４は、上記取得したベクトルデータを学習制御部１４に出力する。
【００４２】
学習制御部１４は、未分類学習データ取得部２４から入力されたベクトルデータを新たな学習データとして、分類部１６に含まれるパーセプトロン１８から未学習のものを１つ選択して（これを第２のパーセプトロン１８とする）、この第２のパーセプトロン１８に新たな学習データを入力して学習処理を行わせる。
【００４３】
第２のパーセプトロン１８は、第１のパーセプトロン１８と同様に学習処理を行い、未分類学習データ取得部２４は第２のパーセプトロン１８に設定された不活性領域（マージン領域）内に含まれるベクトルデータを取得し、取得したベクトルデータを学習制御部１４に出力する。学習制御部１４、分類部１６、未分類学習データ取得部２４は、上記の処理を未分類のベクトルデータが存在しなくなるか、分類部１６に含まれるパーセプトロン１８の数が上限に達するまで再帰的に実行することとしてよい。
【００４４】
図９には、第２の実施形態に係る情報分類装置１０の学習処理の一例を説明する図を示した。第１のパーセプトロン１８は、入力された学習データに基づいて結合ベクトルＪ１及びマージンＫ１を学習する。次に、第２のパーセプトロン１８は、第１のパーセプトロン１８のマージンＫ１に含まれる学習データに基づいて結合ベクトルＪ２及びマージンＫ２を学習する。次に、第３のパーセプトロン１８は、第２のパーセプトロン１８のマージンＫ２に含まれる学習データに基づいて結合ベクトルＪ３及びマージンＫ３を学習する。第２の実施形態に係る情報分類装置１０では、以上の処理を未分類のベクトルデータが存在しなくなるか、分類部１６に含まれるパーセプトロン１８の数が上限に達するまで繰り返し実行する。
【００４５】
次に、図１０に示されたフローチャートを参照しながら、第２の実施形態に係る情報分類装置１０による学習処理の流れの一例を説明する。
【００４６】
図１０に示されるように、情報分類装置１０は、これまでに学習されたパーセプトロン１８により未分類の学習データを取得する（Ｓ２０１）。未だ学習処理が行われていない場合には全ての学習データが取得される。そして、情報分類装置１０は、取得された学習データがない場合には（Ｓ２０２：Ｎ）、処理を終了し、取得された学習データがある（Ｓ２０２：Ｙ）、以下の処理を行う。
【００４７】
情報分類装置１０は、未学習のパーセプトロン１８の中からパーセプトロン１８を１つ選択し（Ｓ２０３）、当該選択したパーセプトロン１８を、Ｓ２０１で取得された学習データに基づいて学習処理を実行する（Ｓ２０４）。学習処理は、結合ベクトル（超平面）の設定と、超平面により正しく分離されないベクトルデータを当該パーセプトロン１８の分類対象外とするマージンの設定（不活性領域の設定）により行われる。
【００４８】
情報分類装置１０は、未学習のパーセプトロン１８があるか否かを判断し（Ｓ２０５）、あると判断する場合には（Ｓ２０５：Ｙ）、Ｓ２０１に戻ってそれ以降の処理を繰り返し、未学習のパーセプトロン１８がないと判断する場合には（Ｓ２０５：Ｎ）、学習処理を終了する。
【００４９】
次に、上記の各実施形態に係る情報分類装置１０において実行される、学習されたパーセプトロン１８を用いて新たに入力されたベクトルデータを分類する処理の流れについて説明する。
【００５０】
図１１には、入力されたベクトルデータを分類する分類処理の一例のフローチャートを示した。図１１に示されるように、情報分類装置１０は、入力されたベクトルデータを取得し（Ｓ３０１）、取得したベクトルデータを分類部１６に含まれる各パーセプトロン１８に入力する（Ｓ３０２）。
【００５１】
情報分類装置１０は、各パーセプトロン１８から入力したベクトルデータに対する分類結果をそれぞれ取得し（Ｓ３０３）、取得した分類結果に基づいて分類を判定する（Ｓ３０４）。具体的には、パーセプトロン１８のうち１つが分類を行い、他のパーセプトロン１８は分類対象外との分類結果を出力しているため、上記分類を行ったパーセプトロン１８の分類結果により判定することとする。そして、情報分類装置１０は、判定した分類を出力して（Ｓ３０５）、処理を終了する。
【００５２】
以上説明した情報分類装置１０では、１つのパーセプトロン１８では学習データに基づいて正しく学習されない場合でも、複数のパーセプトロン１８により学習データを分担させて学習させることで、データ分類の学習精度が向上する。また、本実施形態に係る情報分類装置１０では、複数のパーセプトロン１８にどの学習データを分担させるかを事前に定める必要がない。
【００５３】
本発明は上記の実施形態に限定されるものではなく、例えばパーセプトロン１８の数は、予め固定的に与えられていなくともよく、未分類の学習データが存在する場合には追加していくこととしても構わない。
【符号の説明】
【００５４】
１０  情報分類装置、１２  学習データ取得部、１４  学習制御部、１６  分類部、１８  パーセプトロン、２０  入力データ取得部、２２  分類制御部、２４  未分類学習データ取得部、３０  内部状態保持部、３２  演算部、３４  判定部、３６  内部状態更新部。
【図１】
2011154644.tif 000003
【図２】
2011154644.tif 000004
【図３】
2011154644.tif 000005
【図４】
2011154644.tif 000006
【図５】
2011154644.tif 000007
【図６】
2011154644.tif 000008
【図７】
2011154644.tif 000009
【図８】
2011154644.tif 000010
【図９】
2011154644.tif 000011
【図１０】
2011154644.tif 000012
【図１１】
2011154644.tif 000013