(57)【要約】【課題】学習評価においてデータばらつきに対する影響を低く抑えることができる学習装置及び学習方法を提供する。【解決手段】評価部１２は、クロスバリデーションにより学習評価を行うにあたり、全学習データを学習用の１以上のグループと評価用のグループとに分け、学習用のグループの学習データを用いた学習により求まる決定関数（クラス判別の判別式）を、評価用のグループの評価データにより評価する。そして、評価部１２は、この一連の評価処理を、評価データのグループ組み合わせが同じとならないように学習用及び評価用の各グループの組み合わせを変更しながら複数回実行する。評価部１２は、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数を評価する。【選択図】図１
2018088079.tif 000002
【特許請求の範囲】
【請求項１】
学習対象の情報データから特徴量を抽出し、当該特徴量を学習データとして学習を行うことにより、未学習データを識別可能にする学習装置において、
全学習データを学習用の１以上のグループと評価用の複数のグループとに分け、前記学習用のグループの学習データを用いた学習により求まる決定関数を、前記評価用のグループの評価データにより評価し、この一連の評価処理を、前記評価データのグループ組み合わせが同じとならないように前記学習用及び前記評価用の各グループの組み合わせを変更しながら複数回行い、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数を評価する評価部を備えた
ことを特徴とする学習装置。
【請求項２】
前記学習は、マージン最大化を通じて線形状の前記決定関数を算出する線形サポートベクターマシン、ブースティング又はニューラルネットワークである
請求項１に記載の学習装置。
【請求項３】
前記評価部の評価結果を基に、最終的な前記決定関数を特定する決定関数特定部を備える
請求項１又は２に記載の学習装置。
【請求項４】
前記決定関数特定部は、前記学習のクラス判別における片方のクラスの誤答率に上限値を設定し、当該上限値を満たす前記決定関数を算出する
請求項３に記載の学習装置。
【請求項５】
前記決定関数特定部は、評価処理時に算出した複数回分の決定関数値の分布をまとめたものに対し、片方のクラスの誤答率の上限値を満たすような閾値シフト量を求め、全ての前記学習データを用いた学習を通じて決定関数の係数値及び定数値を求め、以上のように求めた前記係数値、前記定数値及び前記閾値シフト量を用いたものを、最終的な前記決定関数とする
請求項３又は４に記載の学習装置。
【請求項６】
前記決定関数特定部は、評価処理時に算出した複数回分の決定関数値の分布をまとめたものに対し、片方のクラスの誤答率の上限値を満たすような閾値シフト量を求め、評価処理時に算出した複数回分の決定関数の係数値及び定数値に関してそれぞれ平均値を求め、以上のように求めた前記係数値、前記定数値及び前記閾値シフト量を用いたものを、最終的な前記決定関数とする
請求項３又は４に記載の学習装置。
【請求項７】
前記決定関数特定部は、評価処理時に算出した複数回分の決定関数値のそれぞれに対し、片方のクラスの誤答率の上限値を満たすような閾値シフト量を求め、評価処理時に算出した複数回分の決定関数の係数値及び定数値のそれぞれの平均値を求めるとともに、前記閾値シフト量の平均値を求め、以上のように求めた前記係数値、前記定数値及び前記閾値シフト量を用いたものを、最終的な前記決定関数とする
請求項３又は４に記載の学習装置。
【請求項８】
学習対象の情報データから学習データとして特徴量を抽出し、当該特徴量を用いて学習を行うことにより、未学習データを識別可能にする学習方法において、
全学習データを学習用の１以上のグループと評価用の複数のグループとに分け、前記学習用のグループの学習データを用いた学習により求まる決定関数を、前記評価用のグループの評価データにより評価し、この一連の評価処理を、前記評価データのグループ組み合わせが同じとならないように前記学習用及び前記評価用の各グループの組み合わせを変更しながら複数回行い、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数を評価するステップと、
前記評価による評価結果を踏まえて前記学習を実行するステップと
を備えたことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習データを基に学習を行って未学習データを正しく認識させる学習装置及び学習方法に関する。
【背景技術】
【０００２】
近年、複数の学習データを基に学習を行って、未学習データに対する正しい出力を予測可能にする学習装置が開示されている（特許文献１等参照）。学習装置には、学習データを反復的に分析して傾向を判別して、未学習データに対する正しい出力を予測させる機械学習が周知である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１８５１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、この種の学習においては学習評価を行う各種方式が存在し、その１つに例えばクロスバリデーションがある。クロスバリデーションは、複数グループに分割されたサンプル集合の１つを評価用のグループとし、それ以外を学習用のグループにして学習モデルを構築するものである。しかし、通常のクロスバリデーションでは、１度評価に用いたグループは再度使用しない。このため、評価データの総数はデータ総数と同じとなり、正答率の最小単位が高めの値に設定されてしまう。こうなると、データばらつきに対して影響を受け易くなってしまう問題があった。
【０００５】
本発明の目的は、学習評価においてデータばらつきに対する影響を低く抑えることができる学習装置及び学習方法を提供することにある。
【課題を解決するための手段】
【０００６】
前記問題点を解決する学習装置は、学習対象の情報データから特徴量を抽出し、当該特徴量を学習データとして学習を行うことにより、未学習データを識別可能にする構成において、全学習データを学習用の１以上のグループと評価用の複数のグループとに分け、前記学習用のグループの学習データを用いた学習により求まる決定関数を、前記評価用のグループの評価データにより評価し、この一連の評価処理を、前記評価データのグループ組み合わせが同じとならないように前記学習用及び前記評価用の各グループの組み合わせを変更しながら複数回行い、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数を評価する評価部を備えた。
【０００７】
この構成によれば、クロスバリデーションによって学習結果を評価するにあたって、評価用のグループを複数回の評価で使用する。これにより、評価データの総数を学習データの総数よりも多くとることが可能となるので、正答率の最小単位を低い値に設定することが可能となる。このため、仮に学習データに飛び値が存在しても、これに影響を受け難い評価結果を得ることが可能となる。よって、学習評価においてデータばらつきに対する影響を低く抑えることが可能となる。
【０００８】
前記学習装置において、前記学習は、マージン最大化を通じて線形状の前記決定関数を算出する線形サポートベクターマシン、ブースティング又はニューラルネットワークであることが好ましい。この構成によれば、線形サポートベクターマシン、ブースティング又はニューラルネットワークにより汎化性能の高い決定関数によって学習を行うことが可能となる。
【０００９】
前記学習装置において、前記評価部の評価結果を基に、最終的な前記決定関数を特定する決定関数特定部を備えることが好ましい。この構成によれば、評価部の評価結果を経て求められた決定関数を用いて学習を行うことが可能となるので、汎化性能を確保するのに有利となる。
【００１０】
前記学習装置において、前記決定関数特定部は、前記学習のクラス判別における片方のクラスの誤答率に上限値を設定し、当該上限値を満たす前記決定関数を算出することが好ましい。この構成によれば、片方のクラスの誤答率を上限とした好適な決定関数を算出することが可能となる。
【００１１】
前記学習装置において、前記決定関数特定部は、評価処理時に算出した複数回分の決定関数値の分布をまとめたものに対し、片方のクラスの誤答率の上限値を満たすような閾値シフト量を求め、全ての前記学習データを用いた学習を通じて決定関数の係数値及び定数値を求め、以上のように求めた前記係数値、前記定数値及び前記閾値シフト量を用いたものを、最終的な前記決定関数とすることが好ましい。この構成によれば、評価結果を利用して汎化性能の高い決定関数を得ることが可能となる。
【００１２】
前記学習装置において、前記決定関数特定部は、評価処理時に算出した複数回分の決定関数値の分布をまとめたものに対し、片方のクラスの誤答率の上限値を満たすような閾値シフト量を求め、評価処理時に算出した複数回分の決定関数の係数値及び定数値に関してそれぞれ平均値を求め、以上のように求めた前記係数値、前記定数値及び前記閾値シフト量を用いたものを、最終的な前記決定関数とすることが好ましい。この構成によれば、評価結果を利用して汎化性能の高い決定関数を得ることが可能となる。
【００１３】
前記学習装置において、前記決定関数特定部は、評価処理時に算出した複数回分の決定関数値のそれぞれに対し、片方のクラスの誤答率の上限値を満たすような閾値シフト量を求め、評価処理時に算出した複数回分の決定関数の係数値及び定数値のそれぞれの平均値を求めるとともに、前記閾値シフト量の平均値を求め、以上のように求めた前記係数値、前記定数値及び前記閾値シフト量を用いたものを、最終的な前記決定関数とすることが好ましい。この構成によれば、評価結果を利用して汎化性能の高い決定関数を得ることが可能となる。
【００１４】
前記問題点を解決する学習方法は、学習対象の情報データから学習データとして特徴量を抽出し、当該特徴量を用いて学習を行うことにより、未学習データを識別可能にする方法において、全学習データを学習用の１以上のグループと評価用の複数のグループとに分け、前記学習用のグループの学習データを用いた学習により求まる決定関数を、前記評価用のグループの評価データにより評価し、この一連の評価処理を、前記評価データのグループ組み合わせが同じとならないように前記学習用及び前記評価用の各グループの組み合わせを変更しながら複数回行い、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数を評価するステップと、前記評価による評価結果を踏まえて前記学習を実行するステップとを備えた。
【発明の効果】
【００１５】
本発明によれば、学習評価においてデータばらつきに対する影響を低く抑えることができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態の学習装置の構成図。
【図２】（ａ）は線形式のデータを端末に登録するときの概要図、（ｂ）は端末をモーション操作したときの概要図。
【図３】（ａ）は学習処理の流れを示す手順図、（ｂ）は特徴量の度数分布図。
【図４】学習データ及び評価データのグループ組み合わせ表。
【図５】クロスバリデーションによるＮ回の学習結果を示す決定関数値の分布図。
【図６】（ａ）〜（ｃ）は決定関数を特定するまでの手順を示す説明図。
【図７】学習装置の作動の流れを示すフローチャート。
【図８】従来位置付けの学習データ及び評価データのグループ組み合わせ表。
【図９】（ａ）〜（ｃ）は、第２実施形態における決定関数を特定するまでの手順を示す説明図。
【図１０】（ａ）〜（ｃ）は、第３実施形態における決定関数を特定するまでの手順を示す説明図。
【発明を実施するための形態】
【００１７】
（第１実施形態）
以下、学習装置及び学習方法の第１実施形態を図１〜図８に従って説明する。
図１に示すように、学習装置１は、学習対象の情報データＤａを入力するデータ入力部２と、集められた情報データＤａの群から学習データとして特徴量ｘを抽出する特徴量抽出部３と、特徴量抽出部３により抽出された特徴量ｘを基に学習（機械学習）を実行する学習部４とを備える。学習部４は、未学習データに対して正しい出力を示せるように特徴量ｘに基づき学習（機械学習）を実行する。本例の学習装置１は、車両の電子キー等の端末６（図２参照）に付与された動きを識別することが可能な判別式（クラス判別の境界）を学習により算出する。
【００１８】
情報データＤａは、例えば加速度センサ（Ｇセンサ）から出力された加速度信号であることが好ましい。特徴量ｘは、例えば加速度信号の波形に係る種々のパラメータからなる。特徴量ｘは、例えば１次特徴量ｘ１や、２次特徴量ｘ２などから構築されている。１次特徴量ｘ１は、加速度信号の波形に係る「平均値」、「最大値」、「最小値」、「時間幅」、「傾き」などのパラメータからなる。２次特徴量ｘ２は、１次特徴量から派生したパラメータである。２次特徴量ｘ２は、例えば１次特徴量ｘ１を２乗して求まる２乗特徴量ｘ２や、異なる種類の１次特徴量ｘ１同士を掛け合わせて求まる値などから構築されている。
【００１９】
学習部４（学習装置１の学習方式）は、特徴量ｘを学習データとしてサポートベクターマシン（Support Vector Nachine：ＳＶＭ）によりパターン認識を実行する。サポートベクターマシンは、マージン最大化が特徴の１つであり、マージン最大化により求まった判別式（決定関数Ｙ）を通じてパターン識別を行う。本例のサポートベクターマシンは、線形の判別式（線形式）により、２クラスのパターン識別を行う。学習部４は、情報データＤａから抽出される複数の特徴量ｘから、サポートベクターマシンにより２クラス判別の決定関数Ｙを求め、クラス判別の境界である決定関数Ｙにより未学習データのクラス分けを実現可能にする。
【００２０】
図２（ａ）に示すように、学習結果の決定関数Ｙは、車両の電子キー等の端末６（メモリ９等）に書き込み登録される。そして、図２（ｂ）に示すように、ユーザにより端末６がモーション操作されるなどの動きが端末６に付与されたとき、端末６に搭載された加速度センサから出力される加速度信号を基に決定関数Ｙから動きがクラス判別され、モーション操作がどのような操作であるのかが判定される。
【００２１】
図３（ａ）に示すように、本例の学習装置１は、特徴量ｘを用いた機械学習（クラス判別）において、片側のクラス（本例はクラスＣｂ）の誤答率に上限値Ｋを設定し、上限値Ｋを満たす決定関数Ｙを算出する。決定関数Ｙは、クラス判別を行うための判別式（境界）である。図３（ｂ）に示すように、決定関数Ｙが（１）に引かれた場合、学習の判定結果は以下のようになる。
クラスＣａの判定条件：（１）＜ｘのとき、判定結果：｛（ｂ），（ｃ），（ｄ），（ｅ）｝
クラスＣｂの判定条件：（１）≧ｘのとき、判定結果：｛（ａ）｝
図１に戻り、学習装置１は、学習に対しクロスバリデーションによる汎化性能の評価を行う評価部１２と、評価部１２の評価結果を基に決定関数Ｙを特定する決定関数特定部１３とを備える。評価部１２及び決定関数特定部１３は、学習部４に設けられている。
【００２２】
図４に示すように、評価部１２は、全学習データを学習用の１以上のグループと評価用の複数のグループとに分け、学習用のグループの学習データを用いた学習により求まる決定関数ｙｋ（クラス判別の判別式）を、評価用のグループの評価データにより評価する。評価部１２は、この一連の評価処理を、評価データのグループ組み合わせが同じとならないように学習用及び評価用の各グループの組み合わせを変更しながら複数行う。評価部１２は、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数ｙｋを評価する。
【００２３】
決定関数特定部１３は、評価部１２の評価結果を基に、学習で使用する判別式として決定関数Ｙを算出する。決定関数特定部１３は、学習のクラス判別における片方のクラス（本例はクラスＣｂ）の誤答率に上限値Ｋを設定し、上限値Ｋを満たす決定関数Ｙを算出する。
【００２４】
次に、図４〜図８を用い、学習装置１の作用及び効果を説明する。
図４に示すように、評価部１２は、学習処理を行うにあたり、集めた特徴量ｘのうち学習に使用する学習データについて、クロスバリデーションによる汎化性能の評価を行う。ここでは、学習データの総数が「１０００」であるとし、これらが１００個ずつ計１０個のグループ（グループ１〜グループ１０）に分けられたとする。
【００２５】
まず、評価部１２は、クロスバリデーションに沿った１回目の学習を実行する。１回目の学習時、評価部１２は、グループ１〜８の学習データ群を用いて、例えばサポートベクターマシン等により学習を行う。この学習により、学習１回目の決定関数ｙ１、すなわち学習１回目の線形判別式が得られる。評価部１２は、グループ１〜８の学習データ群から求まった決定関数ｙ１を、グループ８，９の評価データを基に評価し、学習１回目の評価結果を得る。
【００２６】
評価部１２は、クロスバリデーションに沿った２回目の学習を実行する。２回目の学習時、評価部１２は、グループ１〜７，９の学習データ群を用いて、サポートベクターマシンにより学習を行う。この学習により、学習２回目の決定関数ｙ２、すなわち学習２回目の線形判別式が得られる。評価部１２は、グループ１〜７，９の学習データ群から求まった決定関数ｙ２を、グループ８，１０を基に評価し、学習２回目の評価結果を得る。このように、本例の場合、１グループ（ここではグループ１０）を複数回の評価で使用していることが分かる。
【００２７】
以降、評価部１２は、３回目〜Ｎ回目の学習において、同様の学習及び評価を、学習データと評価データとの組み合わせを適宜組み替えていきながら繰り返し実行する。そして、評価部１２は、１回目〜Ｎ回目における各学習結果を取得する。
【００２８】
図５に示すように、クロスバリデーションで１回目〜Ｎ回目の学習が行われると、各回の学習ごとに決定関数ｙｋ（ｋ＝１〜Ｎ）が得られる。決定関数ｙｋは、クラス判別の判別式を線形識別関数としたものである。決定関数ｙｋは、各特徴量ｘ１〜ｘｎにそれぞれ係数値ａ＊＊（前の＊は１〜Ｎ、後の＊は１〜ｎ）を乗算した複数の項と、定数ｂｋ（ｋ＝１〜Ｎ）の項とを有した式により表現される。
【００２９】
また、決定関数ｙｋに各特徴量ｘが代入されると、決定関数値ｙ’の分布が得られる。このように、決定関数値ｙ’は、決定関数ｙｋの実際の値とされている。ここでは、決定関数ｙ１の決定関数値ｙ’の分布をＥ１とし、決定関数ｙ２の決定関数値ｙ’の分布をＥ２とし、決定関数ｙＮの決定関数値ｙ’の分布をＥＮとする。
【００３０】
図６（ａ）に示すように、クロスバリデーション実施後、学習部４は、決定関数ｙｋの最適化を実行する。まず、決定関数特定部１３は、クロスバリデーションによる評価時に算出した学習Ｎ回分の決定関数値ｙ’の分布Ｅ１〜ＥＮをまとめた「ｙ」の分布Ｅ’に対し、クラスＣｂの誤答率の上限値Ｋ（例えば０．１％）を満たすように、決定関数値ｙ’の閾値、すなわちクラス判別の決定関数ｙφを閾値シフト量Ｔｈだけシフトする（ステップ１０１）。閾値シフト量Ｔｈは、決定関数値ｙ’の境界を、片方のクラス（本例はクラスＣｂ）の誤答率の上限値Ｋに合わせて移動させる量のことである。学習Ｎ回分の決定関数値ｙ’の分布Ｅ１〜ＥＮをまとめるとは、これら分布Ｅ１〜ＥＮの集合をとることである。また、クラスＣａの正答率は、クラスＣａの決定関数値ｙ’の分布に相当する。
【００３１】
図６（ｂ）に示すように、決定関数特定部１３は、全学習を行うことにより、全学習時の決定関数Ｙの係数値Ａｋ（ｋ＝１〜ｎ）及び定数値Ｂを算出する（ステップ１０２）。全学習とは、全ての学習データ（特徴量ｘ）を用いて学習（本例はサポートベクターマシンによる学習）を行うことである。
【００３２】
図６（ｃ）に示すように、決定関数特定部１３は、ステップ１０１で求めた閾値シフト量Ｔｈと、ステップ１０２で求めた決定関数値ｙ’の係数値Ａｋ及び定数値Ｂとを用いたものを、最終的な決定関数Ｙとして特定する（ステップ１０３）。ここでは、ステップ１０２の全学習データを用いて求めた決定関数Ｙを、ステップ１０１で求めた閾値シフト量Ｔｈでシフトさせた関数が最終的な決定関数Ｙとして求まる。
【００３３】
続いて、図７を用い、学習装置１の作動のまとめを説明する。
ステップ１１０において、データ入力部２は、学習装置１の外部から複数の情報データＤａを取得する。データ入力部２は、取得した情報データＤａを特徴量抽出部３に出力する。
【００３４】
ステップ１１１において、特徴量抽出部３は、データ入力部２が入力した情報データＤａから、種々の特徴量ｘを抽出する。特徴量抽出部３は、抽出した特徴量ｘを学習部４に出力する。
【００３５】
ステップ１１２において、評価部１２は、クロスバリデーションによる汎化性能の評価を実行する。本例の場合、評価部１２は、全学習データを学習用の１以上のグループと評価用のグループとに分け、学習用のグループの学習データを用いた学習により求まる判別式（決定関数ｙｋ）を、評価用のグループの評価データにより評価し、この一連の評価処理を、評価データのグループ組み合わせが同じとならないように学習用及び評価用の各グループの組み合わせを変更しながら複数回（本例はＮ回）実行する。評価部１２は、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される判別式（決定関数ｙｋ）を評価する。
【００３６】
ステップ１１３において、決定関数特定部１３は、評価部１２による評価結果を踏まえて最終的な決定関数Ｙを特定する。すなわち、決定関数特定部１３は、図６（ａ）〜（ｃ）に示すステップ１０１〜ステップ１０３の処理を実行することにより、最終的な決定関数Ｙを特定する。そして、この決定関数Ｙが端末６に登録されて、端末６におけるモーション操作判定が可能にされる。
【００３７】
ここで、図８に、通常のクロスバリデーションの処理を図示する。同図に示されるように、評価データは一度の学習時のみで使用し、他の学習のときには使用しない。このため、評価データの総数は、学習データの総数となる。図の例のように、学習データの数が１０００で、誤答率の上限を０．１％とした場合、正答率の最小単位（評価の分解能）は０．１％となる。すなわち、評価時に１データの誤答しか許容できず、データばらつき（飛び値等）の影響を受け易い問題があった。
【００３８】
一方、本例の場合、クロスバリデーションによる汎化性能の評価において、学習データ及び評価データの組み合わせを変更できる限り、１データあたり複数回評価を行うようにした。このため、正答率の最小単位、すなわち評価の分解能を、通常よりも小さくすることが可能となる。本例の場合、評価データが２００データであるので、分解能が｛１／（Ｎ×２００）｝％で求まり、学習回数Ｎが「２０回」で誤答率の上限を０．１％としたとき、評価の分解能を０．０２５％に設定することが可能となる。すなわち、学習回数Ｎが「２０回」のとき、４データの誤答を許容するので、データばらつき（飛び値等）による影響を軽減することが可能となる。
【００３９】
さて、本例の場合、クロスバリデーションによって学習結果を評価するにあたって、評価用のグループを複数回の評価で使用する。これにより、評価データの総数を学習データの総数よりも多くとることが可能となるので、正答率の最小単位を低い値に設定することが可能となる。このため、仮に学習データに飛び値が存在していても、これに影響を受け難い評価結果を得ることが可能となる。よって、学習評価においてデータばらつきに対する影響を低く抑えることができる。
【００４０】
本例の学習は、マージン最大化を通じて線形状の決定関数Ｙを算出するサポートベクターマシンである。よって、サポートベクターマシンにより算出した汎化性能の高い決定関数によって学習を行うことができる。
【００４１】
本例の学習装置１は、評価部１２の評価結果を基に最終的な決定関数Ｙを特定する決定関数特定部１３を備える。よって、評価部１２の評価結果を経て求められた決定関数Ｙを用いて学習を行うことが可能となるので、汎化性能を確保するのに有利となる。
【００４２】
決定関数特定部１３は、学習のクラス判別における片方のクラスの誤答率に上限値Ｋを設定し、この上限値Ｋを満たす決定関数Ｙを算出する。よって、片方のクラスの誤答率を上限とした好適な決定関数Ｙを算出することができる。
【００４３】
決定関数特定部１３は、評価処理時に算出した複数回分の決定関数値ｙ’の分布をまとめたものに対し、片方のクラスの誤答率の上限値Ｋを満たすような閾値シフト量Ｔｈを求め、全ての学習データを用いた学習を通じて決定関数Ｙの係数値Ａｋ及び定数値Ｂを求め、以上のように求めた係数値Ａｋ、定数値Ｂ及び閾値シフト量Ｔｈを用いたものを、最終的な決定関数Ｙとする。よって、評価結果を利用して汎化性能の高い決定関数Ｙを得ることができる。
【００４４】
（第２実施形態）
次に、第２実施形態を図９に従って説明する。本例は、第１実施形態に対し、最終的な決定関数の特定方法を変更した実施例である。よって、第１実施形態と同一部分には同じ符号を付して詳しい説明を省略し、異なる部分についてのみ詳述する。
【００４５】
図９（ａ）に示すように、決定関数特定部１３は、クロスバリデーションによる評価時に算出した学習Ｎ回分の決定関数値ｙ’の分布Ｅ１〜ＥＮをまとめた「ｙ」の分布Ｅ’に対し、クラスＣｂの誤答率の上限値Ｋを満たすように、決定関数値ｙ’の閾値、すなわちクラス判別の決定関数ｙφを閾値シフト量Ｔｈだけシフトする（ステップ２０１）。これは、第１実施形態のステップ１０１と同様の処理である。
【００４６】
図９（ｂ）に示すように、決定関数特定部１３は、学習Ｎ回分の決定関数ｙ１〜ｙＮの係数値Ａｋ及び定数値Ｂを平均化する（ステップ２０２）。すなわち、学習Ｎ回分の係数値Ａｋの平均値を求めるとともに、学習Ｎ回分の定数値Ｂの平均値を求める。
【００４７】
図９（ｃ）に示すように、決定関数特定部１３は、ステップ２０１で求めた閾値シフト量Ｔｈと、ステップ２０２で求めた係数値Ａｋ及び定数値Ｂとを用いたものを、最終的な決定関数Ｙとする。これにより、クラス判別に最適な決定関数Ｙが算出される。
【００４８】
さて、本例の場合、決定関数特定部１３は、評価処理時に算出した複数回分の決定関数値ｙ’の分布をまとめたものに対し、片方のクラスの誤答率の上限値Ｋを満たすような閾値シフト量Ｔｈを求め、評価処理時に算出した複数回分の決定関数Ｙの係数値Ａｋ及び定数値Ｂに関してそれぞれ平均値を求め、以上のように求めた係数値Ａｋ、定数値Ｂ及び閾値シフト量Ｔｈを用いたものを、最終的な決定関数Ｙとする。よって、このような手法を用いても、汎化性能の高い決定関数Ｙを得ることができる。
【００４９】
（第３実施形態）
次に、第３実施形態を図１０に従って説明する。本例も、第１及び第２実施形態に対して異なる部分についてのみ詳述する。
【００５０】
図１０（ａ）に示すように、決定関数特定部１３は、クロスバリデーションによる評価時に算出した学習Ｎ回分の決定関数値ｙ’の分布Ｅ１〜ＥＮのそれぞれに対し、クラスＣｂの誤答率の上限値Ｋを満たすように、決定関数値ｙ’の閾値、すなわちクラス判別の決定関数ｙφを閾値シフト量Ｔｈｋ（ｋ＝１〜Ｎ）だけシフトする（ステップ３０１）。同図の例の場合、決定関数ｙ１の分布では、その境界を閾値シフト量Ｔｈ１だけシフトし、決定関数ｙＮの分布では、その境界を閾値シフト量ＴｈＮだけシフトする。
【００５１】
図１０（ｂ）に示すように、決定関数特定部１３は、学習Ｎ回分の決定関数ｙ１〜ｙＮの係数値Ａｋ及び定数値Ｂと、決定関数値ｙ’の閾値シフト量Ｔｈｋとを平均化する（ステップ３０２）。すなわち、学習Ｎ回分の係数値Ａｋの平均値を求め、学習Ｎ回分の定数値Ｂの平均値を求め、学習Ｎ回分の閾値シフト量Ｔｈｋの平均値を求める。
【００５２】
図１０（ｃ）に示すように、決定関数特定部１３は、ステップ３０２で求めた決定関数Ｙの係数値Ａｋ及び定数値Ｂと閾値シフト量Ｔｈとを用いたものを、最終的な決定関数Ｙとする。これにより、クラス判別に最適な決定関数Ｙが算出される。
【００５３】
さて、本例の場合、決定関数特定部１３は、評価処理時に算出した複数回分の決定関数値ｙ’のそれぞれ（ｙ１〜ｙＮ）に対し、片方のクラスの誤答率の上限値Ｋを満たすような閾値シフト量ＴｈＮを求め、評価処理時に算出した複数回分の決定関数ｙ’の係数値Ａｋ及び定数値Ｂのそれぞれの平均値を求めるとともに、閾値シフト量ＴｈＮの平均値を求め、以上のように求めた係数値Ａｋ、定数値Ｂ及び閾値シフト量ＴｈＮを用いたものを、最終的な決定関数Ｙとする。よって、このような手法を用いても、汎化性能の高い決定関数Ｙを得ることができる。
【００５４】
なお、実施形態はこれまでに述べた構成に限らず、以下の態様に変更してもよい。
・各実施形態において、どのグループにどのデータを属するようにするのかは、特に限定されない。すなわち、グループの分け方は、適宜自由である。
【００５５】
・各実施形態において、クロスバリデーションで行う学習の回数は、必要に応じた回数に適宜設定可能である。
・各実施形態において、クロスバリデーションで行う学習は、サポートベクターマシンに限定されず、例えばスケッターマトリックスなど、他の手法に変更してもよい。
【００５６】
・各実施形態において、動き判定を行うための決定関数Ｙを算出することに限定されず、判定対象は特に限定されない。
・各実施形態において、情報データＤａは、加速度データに限らず、種々のデータに変更してもよい。
【００５７】
・各実施形態において、決定関数Ｙの特定の仕方は、実施例以外の他の手法を用いてもよい。
・各実施形態に記載のある決定関数Ｙ、判別式（判別関数）、線形式などは、同義である。
【００５８】
・各実施形態において、サポートベクターマシンは、線形パターン認識手法をとるものに限定されず、例えば非線形であってもよい。
・各実施形態において、端末６は、電子キーに限定されず、他の機器や装置に変更可能である。
【００５９】
・各実施形態において、学習は、サポートベクターマシンに限定されず、ブースティングやニューラルネットワークなどの他の方式を採用してもよい。また、学習は、例えばパーセプトロン、線形重回帰分析などでもよい。
【００６０】
次に、上記実施形態及び別例から把握できる技術的思想について、以下に追記する。
（イ）学習対象の情報データから学習データとして特徴量を抽出し、当該特徴量を用いて学習を行うことにより、未学習データを識別可能にする学習プログラムにおいて、全学習データを学習用の１以上のグループと評価用の複数のグループとに分け、前記学習用のグループの学習データを用いた学習により求まる決定関数を、前記評価用のグループの評価データにより評価し、この一連の評価処理を、前記評価データのグループ組み合わせが同じとならないように前記学習用及び前記評価用の各グループの組み合わせを変更しながら複数回行い、以上の処理からなるクロスバリデーションを通じて、各学習で抽出される決定関数を評価するステップと、前記評価による評価結果を踏まえて最終的な前記決定関数を特定するステップとをコンピュータに実行させることを特徴とする学習プログラム。
【符号の説明】
【００６１】
１…学習装置、２…データ入力部、３…特徴量抽出部、４…学習部、６…端末、１２…評価部、１３…決定関数特定部、Ｄａ…情報データ、ｘ…特徴量、ｘ１〜ｘｎ…特徴量、ｙｋ（ｙ１〜ｙＮ）…決定関数、Ｙ…決定関数、ｙ’…決定関数値、Ｋ…誤答率の上限値、Ａｋ…係数値、Ｂ…定数値、Ｔｈ，Ｔｈｋ（Ｔｈ１〜ＴｈＮ）…閾値シフト量、Ｅ’（Ｅ１〜ＥＮ）…分布。
【図１】
2018088079.tif 000003
【図２】
2018088079.tif 000004
【図３】
2018088079.tif 000005
【図４】
2018088079.tif 000006
【図５】
2018088079.tif 000007
【図６】
2018088079.tif 000008
【図７】
2018088079.tif 000009
【図８】
2018088079.tif 000010
【図９】
2018088079.tif 000011
【図１０】
2018088079.tif 000012