(57)【要約】【課題】従来は、機械学習の際に、古い情報と新しい情報とを同じ重みで学習させていた。【解決手段】機械学習に用いることができる入出力情報と、入出力情報に関する時点を示す時点情報とを対応付ける解析用情報が２以上格納される解析用情報格納手段１０１と、単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である単位期間入出力集合を含む解析対象集合を特定する解析対象集合特定手段１０２と、解析対象集合に含まれる入出力情報を用いて機械学習を行う機械学習手段１０４とを具備する機械学習装置１により、学習に用いる情報に関する時点を考慮して機械学習を行うことができる。【選択図】図１
2014167744.tif 000002
【特許請求の範囲】
【請求項１】
機械学習に用いることができる入力に関する情報、および出力に関する情報を含む入出力情報と、当該入出力情報に関する時点を示す時点情報とを対応付ける解析用情報が２以上格納される解析用情報格納手段と、
期間が均等に分割された複数の単位期間について、当該単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、当該単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である単位期間入出力集合を含む解析対象集合を特定する解析対象集合特定手段と、
前記解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行う機械学習手段とを具備する機械学習装置。
【請求項２】
前記機械学習手段は、
前記解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報の一部を用いて機械学習を行い、
前記解析対象集合特定手段が特定した解析対象集合のうち、前記機械学習手段で機械学習に用いた入出力情報を除いた入出力情報を用いて、前記機械学習手段で学習した機械学習の学習結果を検証する検証手段をさらに具備する、請求項１記載の機械学習装置。
【請求項３】
前記単位期間入出力集合に含まれる入出力情報の量は、
当該単位期間入出力集合の単位期間の時点と、特定の時点との期間が短いほど多くなる、請求項１または請求項２記載の機械学習装置。
【請求項４】
前記単位期間入出力集合に含まれる入出力情報の量は、
当該単位期間入出力集合の単位期間の時点と、特定の時点との期間に応じて周期的に変化する、請求項１または請求項２記載の機械学習装置。
【請求項５】
前記解析対象集合特定手段は、
あらかじめ決められた複数の特定期間のそれぞれに含まれる入出力情報の量が解析対象集合ごとに等しくなり、かつ、少なくともいずれかの特定期間に含まれる入出力情報の少なくとも一部が解析対象集合ごとに異なるように、複数の解析対象集合を特定し、
前記機械学習手段は、
前記解析対象集合特定手段が特定した各解析対象集合において、検証のために用いられる入出力情報である検証用情報以外を用いて、それぞれ機械学習を行い、
前記検証手段は、
前記機械学習手段による各機械学習の結果を、当該機械学習時の検証用情報を用いて検証する、請求項２記載の機械学習装置。
【請求項６】
全ての入出力情報がいずれかの解析対象集合に一度は含まれるように、複数の解析対象集合を特定する、請求項５記載の機械学習装置。
【請求項７】
前記解析対象集合特定手段は、
各単位期間に含まれる入出力情報の量が解析対象集合ごとに等しくなり、かつ、各解析対象集合がランダムに選択された入出力情報を含むように、複数の解析対象集合を特定し、
前記機械学習手段は、
前記解析対象集合特定手段が特定した各解析対象集合において、検証のために用いられる入出力情報である検証用情報以外を用いて、それぞれ機械学習を行い、
前記検証手段は、
前記機械学習手段による各機械学習の結果を、当該機械学習時の検証用情報を用いて検証する、請求項２記載の機械学習装置。
【請求項８】
前記解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を、期間が分割された複数のクラス期間にそれぞれ対応する複数のクラスに分割するクラス分割手段をさらに具備し、
各クラスに含まれる入出力情報は、
当該各クラスにそれぞれ対応する各クラス期間内の時点を示す時点情報に対応する入出力情報であり、
前記機械学習手段は、
検証のために用いられる一のクラスである検証用クラスに含まれる入出力情報である検証用情報以外の入出力情報を用いた機械学習を、前記解析対象集合ごとに異なるクラス期間に対応するクラスが検証用クラスとなるように、全てのクラス期間に対応するクラスが検証用クラスとなるまで繰り返す、請求項５から請求項７のいずれか一項記載の機械学習装置。
【請求項９】
前記解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を、期間が分割された複数のクラス期間にそれぞれ対応する複数のクラスに分割するクラス分割手段をさらに具備し、
各クラスに含まれる入出力情報は、
当該各クラスにそれぞれ対応する各クラス期間内の時点を示す時点情報に対応する入出力情報であり、
前記機械学習手段は、
前記解析対象集合特定手段が特定した解析対象集合において、検証のために用いられる一のクラスである検証用クラス以外のクラスに含まれる入出力情報を用いた機械学習を、全てのクラスが検証用クラスとなるように繰り返し、
前記検証手段は、
前記機械学習手段による各機械学習の結果を、当該機械学習時の検証用クラスに含まれる入出力情報を用いて検証する、請求項２、または請求項５記載の機械学習装置。
【請求項１０】
前記クラス分割手段は、
分割する各クラスに含まれる入出力情報の量が同じになるように分割する、請求項９記載の機械学習装置。
【請求項１１】
機械学習に用いることができる入力に関する情報、および出力に関する情報を含む入出力情報と、当該入出力情報に関する時点を示す時点情報とを対応付ける解析用情報が２以上格納される解析用情報格納手段と、解析対象集合特定手段と、機械学習手段とを用いて処理される機械学習方法であって、
前記解析対象集合特定手段が、期間が均等に分割された複数の単位期間について、当該単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、当該単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である単位期間入出力集合を含む解析対象集合を特定する解析対象集合特定ステップと、
前記機械学習手段が、前記解析対象集合特定ステップで特定した解析対象集合に含まれる入出力情報を用いて機械学習を行う機械学習ステップとを具備する機械学習方法。
【請求項１２】
機械学習に用いることができる入力に関する情報、および出力に関する情報を含む入出力情報と、当該入出力情報に関する時点を示す時点情報とを対応付ける解析用情報が２以上格納される解析用情報格納手段にアクセス可能なコンピュータを、
期間が均等に分割された複数の単位期間について、当該単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、当該単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である単位期間入出力集合を含む解析対象集合を特定する解析対象集合特定手段、
前記解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行う機械学習手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習を行い、その結果を検証する機械学習装置等に関するものである。
【背景技術】
【０００２】
従来、ユーザの情報を用いてそのユーザに適切な広告を提示する装置等が開発されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４１７８５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の装置等においては、機械学習の際に、古い情報と新しい情報とを同じ重みで学習していた。そのため、機械学習の際に重視したい時期の情報を優先的に学習していないという課題があった。
【０００５】
上記課題に対し、本発明の目的は、機械学習の際に重視したい時期の情報を優先的に学習し、その結果を検証することである。
【課題を解決するための手段】
【０００６】
本第一の発明の機械学習装置は、機械学習に用いることができる入力に関する情報、および出力に関する情報を含む入出力情報と、入出力情報に関する時点を示す時点情報とを対応付ける解析用情報が２以上格納される解析用情報格納手段と、期間が均等に分割された複数の単位期間について、単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である単位期間入出力集合を含む解析対象集合を特定する解析対象集合特定手段と、解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行う機械学習手段とを具備する機械学習装置である。
【０００７】
また、本第二の発明の機械学習装置は、第一の発明に対して、機械学習手段は、解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報の一部を用いて機械学習を行い、解析対象集合特定手段が特定した解析対象集合のうち、機械学習手段で機械学習に用いた入出力情報を除いた入出力情報を用いて、機械学習手段で学習した機械学習の学習結果を検証する検証手段をさらに具備する、機械学習装置である。
【０００８】
また、本第三の発明の機械学習装置は、第一または第二の発明に対して、単位期間入出力集合に含まれる入出力情報の量は、単位期間入出力集合の単位期間の時点と、特定の時点との期間が短いほど多くなる、機械学習装置である。
【０００９】
また、本第四の発明の機械学習装置は、第一または第二の発明に対して、単位期間入出力集合に含まれる入出力情報の量は、単位期間入出力集合の単位期間の時点と、特定の時点との期間に応じて周期的に変化する、機械学習装置である。
【００１０】
また、本第五の発明の機械学習装置は、第二の発明に対して、解析対象集合特定手段は、あらかじめ決められた複数の特定期間のそれぞれに含まれる入出力情報の量が解析対象集合ごとに等しくなり、かつ、少なくともいずれかの特定期間に含まれる入出力情報の少なくとも一部が解析対象集合ごとに異なるように、複数の解析対象集合を特定し、機械学習手段は、解析対象集合特定手段が特定した各解析対象集合において、検証のために用いられる入出力情報である検証用情報以外を用いて、それぞれ機械学習を行い、検証手段は、機械学習手段による各機械学習の結果を、機械学習時の検証用情報を用いて検証する、機械学習装置である。
【００１１】
また、本第六の発明の機械学習装置は、第五の発明に対して、解析対象集合特定手段は、全ての入出力情報がいずれかの解析対象集合に一度は含まれるように、複数の解析対象集合を特定する、機械学習装置である。
【００１２】
また、本第七の発明の機械学習装置は、第二の発明に対して、解析対象集合特定手段は、各単位期間に含まれる入出力情報の量が解析対象集合ごとに等しくなり、かつ、各解析対象集合がランダムに選択された入出力情報を含むように、複数の解析対象集合を特定し、機械学習手段は、解析対象集合特定手段が特定した各解析対象集合において、検証のために用いられる入出力情報である検証用情報以外を用いて、それぞれ機械学習を行い、検証手段は、機械学習手段による各機械学習の結果を、機械学習時の検証用情報を用いて検証する、機械学習装置である。
【００１３】
また、本第八の発明の機械学習装置は、第五から第七のいずれか一項の発明に対して、解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を、期間が分割された複数のクラス期間にそれぞれ対応する複数のクラスに分割するクラス分割手段をさらに具備し、各クラスに含まれる入出力情報は、各クラスにそれぞれ対応する各クラス期間内の時点を示す時点情報に対応する入出力情報であり、機械学習手段は、検証のために用いられる一のクラスである検証用クラスに含まれる入出力情報である検証用情報以外の入出力情報を用いた機械学習を、解析対象集合ごとに異なるクラス期間に対応するクラスが検証用クラスとなるように、全てのクラス期間に対応するクラスが検証用クラスとなるまで繰り返す、機械学習装置である。
【００１４】
また、本第九の発明の機械学習装置は、第二、または第五の発明に対して、解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を、期間が分割された複数のクラス期間にそれぞれ対応する複数のクラスに分割するクラス分割手段をさらに具備し、各クラスに含まれる入出力情報は、各クラスにそれぞれ対応する各クラス期間内の時点を示す時点情報に対応する入出力情報であり、機械学習手段は、解析対象集合特定手段が特定した解析対象集合において、検証のために用いられる一のクラスである検証用クラス以外のクラスに含まれる入出力情報を用いた機械学習を、全てのクラスが検証用クラスとなるように繰り返し、検証手段は、機械学習手段による各機械学習の結果を、機械学習時の検証用クラスに含まれる入出力情報を用いて検証する、機械学習装置である。
【００１５】
また、本第十の発明の機械学習装置は、第九の発明に対して、クラス分割手段は、分割する各クラスに含まれる入出力情報の量が同じになるように分割する、機械学習装置である。
【発明の効果】
【００１６】
本発明による機械学習装置等によれば、機械学習の際に重視したい時期の情報を優先的に学習するため、精度の高い機械学習を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１における機械学習装置のブロック図
【図２】同実施の形態における機械学習装置の動作を示すフローチャート
【図３】同実施の形態における単位期間を説明するための図
【図４】同実施の形態における解析対象集合特定手段が特定する解析対象集合の一例を示す図
【図５】同実施の形態における解析対象集合特定手段が特定する解析対象集合の一例を示す図
【図６】同実施の形態における解析対象集合特定手段が特定する複数の解析対象集合の一例を示す図
【図７】同実施の形態における解析対象集合特定手段が特定する複数の解析対象集合の一例を示す図
【図８】同実施の形態におけるクラス分割手段が分割する解析対象集合の一例を示す図
【図９】同実施の形態における解析用情報格納手段に格納されている解析用情報の一例を示す図
【図１０】同実施の形態における出力手段が出力した画面の表示の一例を示す図
【図１１】同実施の形態におけるコンピュータシステムの外観の一例を示す図
【図１２】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００１８】
以下、機械学習装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１９】
（実施の形態１）
本実施の形態において、機械学習に用いる情報に関する時点を考慮して機械学習を行い、その結果を検証する機械学習装置１について説明する。
【００２０】
図１は、本実施の形態における機械学習装置１のブロック図である。機械学習装置１は、解析用情報格納手段１０１、解析対象集合特定手段１０２、クラス分割手段１０３、機械学習手段１０４、検証手段１０５、および出力手段１０６を備える。
【００２１】
解析用情報格納手段１０１には、解析用情報が２以上格納される。解析用情報は、入出力情報と、その入出力情報に関する時点を示す時点情報とを対応付ける情報である。入出力情報は、機械学習に用いることができる入力に関する情報および出力に関する情報を含む情報である。機械学習に用いることができる入出力情報は、必ずしも機械学習のために用いなくても良い。例えば、入出力情報は、機械学習の結果の検証のために用いられても良い。なお、入出力情報は、教師有り学習に用いることができる情報であれば何であっても良い。また、入出力情報は、時系列に応じて状況が変化する情報であっても良い。時系列に応じて状況が変化するとは、同じ入力情報に対応する出力情報の状況が、時系列に応じて変化することである。例えば、入力情報が商品の属性を示す情報であり、出力情報がその商品の広告がクリックされたかどうかを示す情報である場合であって、その商品が季節商品である場合には、出力情報によって示されるクリックされた割合は、時系列に応じて変化すると考えられる。そのような場合には、入出力情報は時系列に応じて状況が変化することになる。入力に関する情報は、機械学習の際に用いる情報そのものであっても良く、その入力に関する情報を用いて、機械学習等に用いる情報を取得するための情報であっても良い。出力に関する情報は、機械学習の際に用いる情報そのものであっても良く、その出力に関する情報を用いて、機械学習等に用いる情報を取得するための情報であっても良い。機械学習等に用いる情報を取得するための情報は、例えば、図示しない外部の格納手段、または図示しない外部の格納装置等で管理されている学習に用いる入力に関する情報、または出力に関する情報を識別するＩＤ等であっても良い。
【００２２】
時点情報は、入出力情報を作成した時点を示す情報であっても良く、入出力情報を取得した時点を示す情報であっても良く、入出力情報を算出した時点を示す情報であっても良い。また、時点情報が示す時点は、一定の間隔を有していても良い。例えば、時点情報が示す時点の間隔は、１年であっても良く、１ヶ月であっても良く、１日であっても良く、１時間であっても良く、その他の間隔であっても良い。また、時点情報が示す時点の単位は、統一されていることが好適であるが、統一されていなくても良い。つまり、時点情報は、年を示す情報と月を示す情報とが混在していても良い。
【００２３】
また、以下において、解析用情報格納手段１０１に格納されている解析用情報に含まれている各情報のことを、解析用情報格納手段１０１に格納されている情報と記載することもある。具体的には、解析用情報格納手段１０１に格納されている解析用情報に含まれている入出力情報のことを、解析用情報格納手段１０１に格納されている入出力情報と記載することもある。以下、入力に関する情報を入力情報とも記載する。また、出力に関する情報を出力情報とも記載する。なお、解析用情報格納手段１０１には、膨大な解析用情報が格納される図示しない格納手段、または図示しない外部の格納装置等から、機械学習に用いたい解析用情報のみが選別されて格納されていても良い。この選別は、あらかじめ決められた期間によって選別されても良く、管理者、またはユーザ等によって決められた期間で選別されても良い。
【００２４】
解析用情報格納手段１０１には、機械学習に用いるのに十分な量の入出力情報を含む解析用情報が格納されていることが好適である。解析用情報格納手段１０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。解析用情報格納手段１０１に解析用情報が記憶される過程は問わない。例えば、記録媒体を介して解析用情報が解析用情報格納手段１０１で格納されるようになっても良く、通信回線等を介して送信された解析用情報が解析用情報格納手段１０１で格納されるようになっても良く、あるいは、入力デバイスを介して入力された解析用情報が解析用情報格納手段１０１で格納されるようになっても良い。
【００２５】
解析対象集合特定手段１０２は、期間が均等に分割された複数の単位期間について、単位期間入出力集合を含む解析対象集合を特定する。単位期間入出力集合は、単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、その単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である。単位期間は、解析用情報格納手段１０１に格納されている時点情報が示す時点の間隔であることが好適であるが、その時点情報が示す時点の間隔以外であっても良い。例えば、単位期間は、１年であっても良く、１ヶ月であっても良く、１日であっても良く、その他の期間であっても良い。また、単位期間は、入出力情報の種類によって変わっても良い。単位期間は、入出力情報がユーザの興味等に関するものである場合は、１日や１週間等であっても良く、入出力情報が、地殻の変化等に関するものである場合は、１年や１０年等であっても良い。単位期間は、例えば、図３のように、解析用情報格納手段１０１に格納されている解析用情報に含まれる時点情報が示す時点の間隔がそれぞれ異なる場合に、複数の時点を示す時点情報を一の単位期間の時点を示す時点情報としてまとめるために用いる期間であっても良い。なお、解析対象集合特定手段１０２は、単位期間ごとに解析用情報に含まれる入出力情報を特定する。そのため、全ての単位期間には、その単位期間内の時点を示す時点情報を含む解析用情報が１以上含まれていることが好適である。よって、単位期間は、解析用情報格納手段１０１に格納されている時点情報が示す時点の間隔と同じか、それより長い期間であることが好適である。なぜなら、単位期間が解析用情報格納手段１０１に格納されている時点情報が示す時点よりも短い期間では、単位期間あたりの解析用情報が特定できなくなる、または解析用情報を複数の単位期間に分割しなければならなくなるためである。なお、やむをえず複数の単位期間に分割する場合は、ランダムで分割しても良く、似ている入出力データがまとまるように分割しても良く、似ている入出力データが分散するように分割しても良い。また、単位期間の分割もとの期間は、解析用情報格納手段１０１に格納されている時点情報が示す時点を全て含む期間であっても良く、解析用情報格納手段１０１に格納されている時点情報が示す時点を全て含む期間の一部の期間であっても良い。
【００２６】
上述したように、単位期間入出力集合は、その単位期間入出力集合に対応する単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である。特定の時点は、解析対象集合特定手段１０２が解析対象集合を特定するための基準となる点である。特定の時点は、期間上の時点を示す情報であればどの時点でも良い。特定の時点は、あらかじめ決められた時点であっても良く、あらかじめ決められた規則によって指定される時点であっても良く、開発者、またはユーザ等が設定する時点であっても良く、図示しない格納手段に格納されている時点であっても良い。あらかじめ決められた規則によって指定される時点とは、解析用情報格納手段１０１に格納されている時点情報が示す時点のうちの最も新しい時点であっても良く、最も古い時点であっても良く、解析対象集合特定手段１０２が処理を行う時点（時刻）であっても良い。「単位期間の時点と特定の時点との期間」は、両時点の間の時間の長さであっても良く、または、特定の時点を基準とした単位時間の時点の位置を示す情報、すなわち、「（単位期間の時点）−（特定の時点）」で求められる値であっても良い。両時点間の期間は、前者の場合には０以上の値となり、後者の場合には正の値または負の値となる。なお、後者の値の絶対値が前者の値となる。本実施の形態では、両時点間の期間が前者の意味である場合、すなわち０以上の値である場合について主に説明する。また、単位期間の時点と特定の時点との期間に応じた量は、例えば、その期間を引数ｘとする関数Ｆ（ｘ）を用いて決められても良い。すなわち、解析対象集合特定手段１０２は、ある単位期間に対応する単位期間入出力集合について、その単位期間と特定の時点との期間ｘを関数Ｆ（ｘ）に代入した値に応じた量の入出力情報が含まれるように特定しても良い。単位期間入出力集合に含まれる入出力情報の量は、その単位期間入出力集合の単位期間の時点と、特定の時点との期間が短いほど多くなっても良い。その場合は、例えば、図４のように、解析対象集合に含まれる入出力情報の量が特定の時点に近くなるほど増えるように入出力情報が特定されても良い。この場合には、上記関数Ｆ（ｘ）は、引数ｘについて減少関数となる。または、解析対象集合特定手段１０２は、特定の時点に近づくほど、その一つ前の単位期間入出力集合に含まれている入出力情報に任意の数値を加算した数の入出力情報を含む単位期間入出力集合を特定しても良い。このような減少関数を用いて解析対象集合を特定する方法は、例えば新商品の発売日等の特定の時点の直後の状況を予想する学習をする場合等に好適である。また、単位期間入出力集合に含まれる入出力情報の量は、その単位期間入出力集合の単位期間の時点と、特定の時点との期間に応じて周期的に変化しても良い。その場合は、例えば、図５のように、解析対象集合に含まれる入出力情報の量が特定の時点との期間に応じて周期的に変化するように入出力情報が特定されても良い。この場合には、上記関数Ｆ（ｘ）は、引数ｘについて周期関数となる。または、解析対象集合特定手段１０２は、特定の時点と、ある単位期間との期間に対して、あらかじめ決められた数値を割った余りの値が同じ単位期間から同じ量の入出力情報を含む単位期間入出力集合を特定しても良い。このような周期関数を用いて解析対象集合を特定する方法は、例えばクリスマス等の周期的に繰り返される特定の時点の状況を予想する学習をする場合等に好適である。なお、単位期間の時点は、単位期間に含まれる時点であればどの時点であっても良い。例えば、単位期間の時点は、単位期間の開始時点であっても良く、単位期間の終了時点であっても良く、単位期間の中心の時点であっても良い。
【００２７】
また、解析対象集合特定手段１０２は、単位期間ごとに入出力情報を並べ、その並んだ入出力情報の順番を示す情報から単位期間入出力集合に含める入出力情報を含む解析対象集合を特定しても良い。例えば、解析対象集合特定手段１０２は、図６の上の図ように、減少関数と横軸とを用いて、各単位期間入出力集合を特定しても良く、図６の下の図のように、減少関数と増加関数とを用いて各単位期間入出力集合を特定しても良い。このように、解析対象集合特定手段１０２は、２以上の関数または軸によって挟まれた領域に含まれる入出力情報を含む解析対象集合を特定しても良い。なお、「２以上の関数または軸」は、どのように指定されていても良い。なお、単位期間ごとの入出力情報を並べる方法は、なんであっても良い。単位期間ごとの入出力情報を並べる方法は、入出力情報に対応する時点情報が示す時点が早い順に並べる方法であっても良く、時点が遅い順に並べる方法であっても良く、ランダムに並べる方法であっても良い。また、単位期間ごとに並べる方法が異なっていても良く、並べる方法が同じであっても良い。
【００２８】
なお、解析対象集合特定手段１０２は、特定の時点以前を示す時点情報に対応する入出力情報のみから解析対象集合を特定しても良く、特定の時点以後を示す時点情報に対応する入出力情報のみから解析対象集合を特定しても良く、特定の時点以前と以後とを示す時点情報に対応する入出力情報から解析対象集合を特定しても良い。特定の時点以前と以後とを示す時点情報に対応する入出力情報から解析対象集合を特定する場合は、解析対象集合特定手段１０２は、特定の時点の以前と以後で解析対象集合を特定する方法を変更しても良く、変更しなくても良い。例えば、解析対象集合特定手段１０２は、特定の時点以前を示す時点情報に対応する入出力情報から、特定の時点との期間が短いほど多くの入出力情報を特定し、特定の時点以後を示す時点情報に対応する入出力情報から、特定の時点との期間が短いほど少ない入出力情報を特定しても良く、その逆の方法で特定しても良く、特定の時点以前、および以後を問わず、特定の時点との期間が短いほど少ない入出力情報を特定しても良く、特定の時点と期間が短いほど多くの入出力情報を特定しても良い。また、解析対象集合特定手段１０２は、図６のように、２以上の異なる解析対象情報を特定しても良い。なお、２以上の解析対象集合を特定する場合の詳細については、後述する。２以上の解析対象集合を特定する場合とは、検証手段１０５が疑似交差検証を行う場合であっても良い。疑似交差検証については、２以上の解析対象集合を特定する場合の説明の後に説明する。
【００２９】
なお、解析対象集合を特定するため各種変数の値は、開発者、管理者、またはユーザが任意に設定しても良い。各種変数の値とは、例えば、特定の時点を示す時点であっても良く、解析対象集合を特定する場合に用いられる関数の傾き等の変化の割合であっても良く、解析対象集合を特定する場合に用いられる周期関数の周期等であっても良い。各種変数の値をユーザが設定する場合は、図示しない受付手段がユーザからの変更の指示を受け付けても良い。また、その受け付けた変更の指示に応じて図示しない変更手段が各種変数の値を変更しても良い。なお、変更の指示は、例えば、各種変数の値であっても良く、現在の各種変数の値に対する差分であっても良い。解析対象集合特定手段１０２は、通常、ＭＰＵやメモリ等から実現され得る。解析対象集合特定手段１０２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３０】
クラス分割手段１０３は、解析対象集合特定手段１０２が特定した解析対象集合に含まれる入出力情報を、期間が分割された複数のクラス期間にそれぞれ対応する複数のクラスに分割する。各クラスに含まれる入出力情報とは、その各クラスにそれぞれ対応する各クラス期間内の時点を示す時点情報に対応する入出力情報である。クラス期間は、複数の連続した単位期間であっても良く、一の単位期間であっても良く、単位期間でなくても良い。クラス期間が単位期間ではない場合は、クラス期間は、単位期間、および解析用情報格納手段１０１に格納されている時点情報が示す時点よりも長い期間であることが好適である。なぜなら、クラス期間が、単位期間、および解析用情報格納手段１０１に格納されている時点情報が示す時点よりも短い期間では、クラス期間に含まれる時点を示す時点情報に対応する入出力情報が特定できなくなる、または入出力情報を複数のクラス期間に分割しなければならなくなるためである。なお、やむをえず複数のクラス期間に分割する場合は、ランダムで分割しても良く、似ている入出力データがまとまるように分割しても良く、似ている入出力データが分散するように分割しても良い。なお、クラス分割手段１０３が分割する入出力情報は、機械学習手段１０４、または検証手段１０５において、機械学習、または検証に用いるため、各クラスに１以上の入出力情報が含まれている必要がある。
【００３１】
なお、クラス分割手段１０３は、図８のように、分割する各クラスに含まれる入出力情報の量が同じになるように分割しても良く、入出力情報の量が異なるように分割しても良い。クラス分割手段１０３は、一のクラスに含まれる入出力情報の量があらかじめ決められた量になるようにクラス期間を設定しても良い。なお、クラス分割手段１０３は、分割する各クラスに含まれる入出力情報の量が同じになるように分割する場合であっても、単位期間の期間や、解析対象集合に含まれている情報量等の理由で、入出力情報を完全に同じ量に分割できないときは、多少の誤差を許容しても良く、同じ量になるように一部の入出力情報をクラスに含めないようにしても良い。また、クラス分割手段１０３は、複数の解析対象集合に対して、各解析対象集合に含まれる入出力情報を分割しても良い。複数の解析対象集合に対して、各解析対象集合に含まれる入出力情報を分割する場合については、後述する。クラス分割手段１０３は、通常、ＭＰＵやメモリ等から実現され得る。クラス分割手段１０３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３２】
機械学習手段１０４は、解析対象集合特定手段１０２が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行う。なお、機械学習手段１０４は、解析対象集合特定手段１０２が特定した解析対象集合に含まれる入出力情報の一部を用いて機械学習を行っても良い。入出力情報の一部とは、クラス分割手段１０３が分割した一部のクラスに含まれる入出力情報であっても良く、解析対象集合からランダムに選択した入出力情報であっても良い。機械学習手段１０４は、入出力情報に含まれる入力情報を用いて取得した素性と、その入力情報に対応する出力情報を対にして機械学習を行う。素性は、入力情報であっても良く、入力情報の一部であっても良く、入力情報から算出した情報であっても良く、入力情報がＩＤである場合にそのＩＤに対応付けられている情報であっても良く、上記情報をベクトルデータに変換したものであっても良い。機械学習のアルゴリズムは、教師有り学習であれば何でも良い。例えば、機械学習のアルゴリズムは、ニューラルネットワークであっても良く、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）であっても良く、ＳＶＲ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ）等であっても良い。これらのアルゴリズムは、公知技術であるため、説明は省略する。
【００３３】
機械学習手段１０４は、解析対象集合特定手段１０２が特定した解析対象集合において、検証のために用いられる一のクラスである検証用クラス以外のクラスに含まれる入出力情報を用いた機械学習を、全てのクラスが検証用クラスとなるように繰り返しても良い。なお、検証用クラスに含まれる入出力情報は、検証用情報である。つまり、機械学習手段１０４は、クラス分割手段１０３が分割したクラスの数だけ機械学習を行っても良い。機械学習手段１０４は、通常、ＭＰＵやメモリ等から実現され得る。機械学習手段１０４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３４】
検証手段１０５は、解析対象集合特定手段１０２が特定した解析対象集合のうち、機械学習手段１０４で機械学習に用いた入出力情報を除いた入出力情報を用いて、機械学習手段１０４で学習した機械学習の学習結果を検証する。つまり、検証手段１０５は、解析対象集合の一部を用いて学習した学習結果に対しては、その学習に用いた解析対象集合の残りの入出力情報を用いて検証する。検証手段１０５は、機械学習を終えた機械学習手段１０４に対して、検証用情報の入力情報から機械学習手段１０４と同様の方法で取得した素性を入力し、検証用情報の出力情報と同じ値が出力されるかを検証しても良く、検証用情報の出力情報に近い値が出力されるかを検証しても良い。また、検証手段１０５は、検証結果として、正しい結果が出力された件数を取得しても良く、その正しい結果が出力された件数を検証用情報の数で割った割合を算出しても良く、その件数または割合を元に適切または不適切といった二段階に評価した結果を取得しても良く、その件数または割合を元に多段階に評価を行った結果を取得しても良い。
【００３５】
検証手段１０５は、機械学習手段１０４による各機械学習の結果を、その機械学習時の検証用クラスに含まれる入出力情報を用いて複数回の検証を行うことにより、交差検証を行っても良い。なお、検証手段１０５が交差検証を行う場合は、各検証用クラスを用いて取得した検証結果をマージした検証結果である交差検証の検証結果を取得しても良い。交差検証の検証結果は、正しい結果が出力された件数であっても良く、その正しい結果が出力された件数を検証用情報の数で割った割合であっても良く、その件数または割合を元に適切または不適切といった二段階に評価した結果であっても良く、その件数または割合を元に多段階に評価を行った結果であっても良く、各検証結果のうち正解の結果の件数であっても良く、各検証結果のうち不正解の結果の件数であっても良い。検証手段１０５は、通常、ＭＰＵやメモリ等から実現され得る。検証手段１０５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３６】
以下、解析対象集合特定手段１０２が、複数の解析対象集合を特定する場合について説明する。解析対象集合特定手段１０２は、あらかじめ決められた複数の特定期間のそれぞれに含まれる入出力情報の量が解析対象集合ごとに等しくなり、かつ、少なくともいずれかの特定期間に含まれる入出力情報の少なくとも一部が解析対象集合ごとに異なるように、複数の解析対象集合を特定しても良い。特定期間とは、精度の高い機械学習と検証を行うために単位期間と同じであることが好適であるが、複数の連続した単位期間と同じであっても良く、図６のように、あらかじめ決められた任意の期間であっても良い。特定期間は、機械学習手段１０４での学習、および検証手段１０５での検証において、ある解析対象集合に対する処理と、それと異なる解析対象集合に対する処理の際に、同じ期間どうしの情報量に偏りをなくすために用いる期間である。特定期間は、単位期間、および解析用情報格納手段１０１に格納されている時点情報が示す時点の間隔と同じか、それより長い期間であることが好適である。なぜなら、特定期間が、単位期間、および解析用情報格納手段１０１に格納されている時点情報が示す時点よりも短い期間では、特定期間あたりの解析用情報が特定できなくなる、または解析用情報を複数の単位期間に分割しなければならなくなるためである。なお、やむをえず複数の単位期間に分割する場合は、ランダムで分割しても良く、似ている入出力データがまとまるように分割しても良く、似ている入出力データが分散するように分割しても良い。なお、複数の特定期間において、各特定期間に示される期間が重複していても良く、していなくても良い。また、特定期間と単位期間が異なるのは、結果として、特定期間に含まれる入出力情報の量が解析対象集合間で同じになれば良く、それが単位期間である必要が無いからである。
【００３７】
複数の解析対象集合を特定する場合は、解析対象集合特定手段１０２は、例えば図７のように、全ての入出力情報がいずれかの解析対象集合に一度は含まれるように、複数の解析対象集合を特定しても良い。なお、図７は、説明の便宜上、全ての単位期間に同じ量の解析用情報がある場合の図である。単位期間に含まれる入出力情報の量は、単位期間ごとに含まれている入出力情報の量は、単位期間ごとに異なっていても良く、同じであっても良い。複数の解析対象集合を特定する場合は、解析対象集合特定手段１０２は、解析対象集合に含めた入出力情報にフラグ、または選択回数等を設定して、全ての入出力情報が１回以上選択されるように複数の解析対象集合を特定しても良い。また、この場合は、解析対象集合特定手段１０２は、一部の入出力が何度も選択されないように、偏りなく入出力情報を選択して、解析対象集合を特定しても良い。なお、解析対象集合特定手段１０２が全ての入出力情報が１回以上選択されるように解析対象集合を特定する場合に特定される解析対象集合の最小の数は、各特定期間に対して、特定期間に含まれる全ての入出力情報の量から、その特定期間で選択される入出力情報の量を割った値のうち、もっとも大きい値となる。
【００３８】
また、解析対象集合特定手段１０２は、各単位期間に含まれる入出力情報の量が解析対象集合ごとに等しくなり、かつ、各解析対象集合がランダムに選択された入出力情報を含むように、複数の解析対象集合を特定しても良い。つまり、解析対象集合特定手段１０２は、各単位期間入出力集合に含まれる入出力情報の量が同じである、複数の解析対象集を特定しても良い。
【００３９】
解析対象集合特定手段１０２が複数の解析対象集合を特定した場合は、クラス分割手段１０３は、解析対象集合ごとに入出力情報を分割しても良い。クラス分割手段１０３は、全ての解析対象集合に対して同じクラス期間を用いて入出力情報を分割することが好適であるが、異なるクラス期間を用いて入出力情報を分割しても良い。
【００４０】
解析対象集合特定手段１０２が複数の解析対象集合を特定した場合は、機械学習手段１０４は、解析対象集合特定手段１０２が特定した各解析対象集合において、検証のために用いられる入出力情報である検証用情報以外を用いて、それぞれ機械学習を行っても良い。
【００４１】
また、機械学習手段１０４は、検証のために用いられる一のクラスである検証用クラスに含まれる入出力情報である検証用情報以外の入出力情報を用いた機械学習を、解析対象集合ごとに異なるクラス期間に対応するクラスが検証用クラスとなるように、全てのクラス期間に対応するクラスが検証用クラスとなるまで繰り返しても良い。つまり、機械学習手段１０４は、解析対象集合特定手段１０２が特定した各解析対象集合に対して、１度ずつ機械学習を行っても良い。その際、機械学習手段１０４は、検証用クラスのクラス期間を機械学習の度に変更しても良い。なお、検証用クラスのクラス期間を機械学習の度に変更する場合は、機械学習手段１０４は、全てのクラス期間が１度ずつ検証用クラスになるように機械学習を行っても良い。なお、機械学習手段１０４が、検証用クラスに選択するクラス期間の順番は問わない。また、クラス期間の種類の数より解析対象集合の数の方が多い場合は、機械学習手段１０４は、重複するクラス期間の検証用クラスを用いて、解析対象集合の数だけ機械学習を行っても良く、クラス期間が重複しないように検証用クラスを用いて、クラス期間の種類の数だけ機械学習を行っても良い。また、クラス期間の種類の数より解析対象集合の数の方が少ない場合は、機械学習手段１０４は、同じ解析対象集合を２回以上用いて、クラス期間の数だけ機械学習を行っても良く、一部のクラス期間を用いずに、解析対象集合の数だけ機械学習を行っても良い。なお、使用しないまたは使用するクラス期間および解析対象集合は、ランダムに決定しても良く、順番に決定しても良い。また、クラス期間の種類の数と解析対象集合の数とが合わない場合は、機械学習手段１０４は、クラス分割手段１０３に、クラス期間の種類の数と解析対象集合の数とが合うように再度分割させても良い。
【００４２】
解析対象集合特定手段１０２が複数の解析対象集合を特定する場合は、検証手段１０５は、機械学習手段１０４による各機械学習の結果を、その機械学習時の検証用情報を用いて検証する。
【００４３】
解析対象集合特定手段１０２が複数の解析対象集合を特定した場合は、検証手段１０５は、各解析対象集合に対して疑似交差検証を行っても良い。この疑似交差検証は、解析対象集合のそれぞれに対する検証結果をマージする。なお、検証手段１０５は、同じクラス期間のクラスを検証用クラスにした検証結果をマージしたものである交差検証の検証結果を取得しても良く、全てのクラスを検証用クラスにした検証結果をマージしたものである交差検証の検証結果を取得しても良い。また、機械学習手段１０４が、解析対象集合ごとに１度ずつ機械学習を行っている場合は、検証手段１０５は、各機械学習の検証結果をマージしても良い。
【００４４】
出力手段１０６は、検証手段１０５が検証した検証結果を出力する。出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力手段１０６は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段１０６は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００４５】
図２は、本実施の形態における機械学習装置１の動作の一例を示すフローチャートである。以下、図２を用いて動作について説明する。
【００４６】
（ステップＳ２０１）解析対象集合特定手段１０２は、解析用情報格納手段１０１に格納されている解析用情報に含まれる入出力情報から解析対象集合を１以上取得する。
【００４７】
（ステップＳ２０２）クラス分割手段１０３は、カウンタｍに１を代入する。
【００４８】
（ステップＳ２０３）クラス分割手段１０３は、ｍ番目の解析対象集合があるかどうかを判断する。ｍ番目の解析対象集合がある場合は、ステップＳ２０４へ進み、ｍ番目の解析対象集合がない場合は、ステップＳ２１１へ進む。
【００４９】
（ステップＳ２０４）クラス分割手段１０３は、ｍ番目の解析対象集合に含まれる入出力情報が同じ量になるように２以上のクラスに分割する。
【００５０】
（ステップＳ２０５）機械学習手段１０４は、カウンタｎに１を代入する。
【００５１】
（ステップＳ２０６）機械学習手段１０４は、ｎ番目のクラスがあるかどうかを判断する。クラスがある場合は、ステップＳ２０７へ進み、ない場合は、ステップＳ２１０へ進む。
【００５２】
（ステップＳ２０７）機械学習手段１０４は、ｎ番目のクラス以外のクラスに含まれる入出力情報で機械学習を行う。
【００５３】
（ステップＳ２０８）検証手段１０５は、ｎ番目のクラスに含まれる入出力情報を用いて、ステップＳ２０７で行った機械学習の学習結果を検証する。
【００５４】
（ステップＳ２０９）機械学習手段１０４は、カウンタｎを１だけインクリメントする。そして、ステップＳ２０６へ戻る。
【００５５】
（ステップＳ２１０）クラス分割手段１０３は、カウンタｍを１だけインクリメントする。そして、ステップＳ２０３へ戻る。
【００５６】
（ステップＳ２１１）検証手段１０５は、解析対象集合ごとの検証結果をマージした検証結果と、クラスごとの検証結果をマージした検証結果と、および全ての検証結果をマージした検証結果とである交差検証の検証結果を取得する。
【００５７】
（ステップＳ２１２）ステップＳ２０８とステップＳ２１１で取得した検証結果を出力する。そして、処理を終了する。
【００５８】
以下、本実施の形態における機械学習装置１の具体的な動作について説明する。なお、本具体例において示した各図面の情報は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。また、本具体例において説明する機械学習装置１は、あるユーザに、その商品の広告を提示することが適切かどうか判断するために用いることができる装置であるものとする。本具体例における機械学習装置１は、入力情報にユーザに関する情報、および出力情報にその広告をクリックしたかどうかに関する情報を用いて、機械学習とその機械学習の学習結果の検証とを行う。また、本具体例において、時点情報の間隔と単位期間とが示す期間は１日であるものとする。
【００５９】
本具体例において、解析用情報格納手段１０１には、図９で示されるテーブルが格納されているものとする。図９のテーブルは、ある商品に対する広告のクリック状況に関する情報であり、解析用情報ＩＤと、入出力情報と、時点情報とを有している。なお、入出力情報には、入力に関する情報と出力に関する情報とが含まれている。さらに、入力に関する情報には、ユーザの年齢と、性別と、過去に提示された広告のクリック回数等とが含まれている。また、出力に関する情報は、同じレコードの入力に関する情報で示されているユーザが、同じレコードの時点情報が示す時点にその商品の広告をクリックしたかどうかを示す値である。例えば、解析用情報格納手段１０１には、解析用情報ＩＤ「１」と、年齢「２４」と、性別「１」と、過去に提示された広告のクリック回数「３」と、表示した際にクリックしたかどうか「１」と、時点情報「１２月１日」とが登録されている。なお、性別の値は、男を「１」、女を「−１」としている。また、表示した際にクリックしたかどうかの値は、クリックされた場合に「１」、クリックされなかった場合に「−１」としている。なお、解析用情報格納手段１０１には、１２月１日から１２月２１日までの時点情報を含む解析用情報が格納されているものとする。
【００６０】
ユーザが、機械学習装置１の電源を入れ、機械学習とその検証を開始したものとする。解析対象集合特定手段１０２は、解析用情報格納手段１０１から、時点情報「１２月１日」を含む解析用情報のうち、２個の解析用情報をランダムに選択し、その解析用情報に含まれている入出力情報である単位期間入出力集合を取得する。なお、１番目の単位期間入出力集合には、解析用情報ＩＤ「１」の入出力情報が含まれているものとする。また、解析対象集合特定手段１０２は、解析用情報格納手段１０１から、時点情報「１２月２日」を含む解析用情報のうち、４個の解析用情報をランダムに選択し、その解析用情報に含まれている入出力情報である単位期間入出力集合をも取得する。なお、２番目の単位期間入出力集合には、解析用情報ＩＤ「１２０」、および解析用情報ＩＤ「１２２」の入出力情報が含まれているものとする。さらに、解析対象集合特定手段１０２は、同様にして、１２月３日から１２月２１日を示す時点情報を含む解析用情報についても、それぞれ、（日付×２）個の解析用情報をランダムに選択し、それぞれから単位期間入出力集合を取得する。そして、解析対象集合特定手段１０２は、取得した全ての単位期間入出力集合を含む解析対象集合を特定する。さらに、解析対象集合特定手段１０２は、特定した解析対象集合に含まれる入出力情報にフラグを設定する。そして、解析対象集合特定手段１０２は、可能な限りフラグが設定されていない入出力情報を選択して２個目以降の解析対象集合を特定する。解析対象集合特定手段１０２は、この処理を２０回繰り返すことで、全ての入出力情報が、いずれかの集合に含まれたものとする。つまり、解析対象集合特定手段１０２は、２０個の解析対象集合を特定したものとする（ステップＳ２０１）。
【００６１】
クラス分割手段１０３は、各クラスに、１５０個の入出力情報が均等に含まれるよう分割するものとする。この分割により、１２月１日から１２月２１日までの期間は、１２月１日から１２月１２日までのクラス期間、１２月１３日から１２月１７日までのクラス期間、および１２月１８日から１２月２１日までのクラス期間に分割されることになる。なお、１２月１日から１２月１２日までのクラス期間、および１２月１８日から１２月２１日までのクラス期間には、それぞれ１５６個の入出力情報が含まれることになるが、検証用クラスに含まれている入出力情報の量を統一するために、各クラスは、入出力情報をランダムに６個ずつクラスに含めなかったものとする。そして、クラス分割手段１０３は、１番目の解析対象集合に含まれる入出力情報を、それぞれ対応するクラス期間に分割する（ステップＳ２０２からステップＳ２０４）。この分割により、解析用情報ＩＤ「１」、解析用情報ＩＤ「１２０」、および解析用情報ＩＤ「１２２」等の入出力情報は、１番目のクラスに含まれることになる。そして、機械学習手段１０４は、２番目のクラスと３番目のクラスとに含まれている入出力情報を全て用いて機械学習を行う（ステップＳ２０５からステップＳ２０７）。
【００６２】
検証手段１０５は、まず、解析用情報ＩＤ「１」の入力情報を、学習後の機械学習手段１０４に入力して結果を出力させる。そして、その結果が解析用情報ＩＤ「１」の出力情報「１」と一致するかどうかを確認する。この場合は、学習結果を適用した結果が「１」であり、一致したものとする。同様にして、検証手段１０５は、解析用情報ＩＤ「１２０」の入出力情報、解析用情報ＩＤ「１２２」の入出力情報、およびその他の１番目のクラスに含まれている入出力情報を用いて出力情報の一致、または不一致を確認する。ここでは、１５０個の入出力情報のうち、１２２個の入出力情報の結果が一致したものとする。すると、検証手段１０５は、１番目の解析対象集合について１番目のクラスを検証用情報として用いた場合の、正解率８１．３％を取得する（ステップＳ２０８）。
【００６３】
機械学習手段１０４と検証手段１０５とは、１番目の解析対象集合における、２番目のクラスを検証用情報として用いた場合と、３番目のクラスを検証用情報として用いた場合についても同様に検証する（ステップＳ２０６からステップＳ２０９）。そして、機械学習手段１０４と検証手段１０５とは、２番目の解析対象集合、および３番目の解析対象集合についても同様に、各クラスを検証用情報として機械学習と検証とを行う（ステップＳ２０３からステップＳ２１０）。
【００６４】
その後、検証手段１０５は、解析対象集合ごとの検証結果をマージした検証結果と、クラスごとの検証結果をマージした検証結果と、全ての検証結果をマージした検証結果とを取得する。（ステップＳ２１１）。そして、検証手段１０５の検証処理が終了すると、出力手段１０６は、その検証結果を出力する（ステップＳ２１２）。すると、機械学習装置１のディスプレイに図１０のように表示される。
【００６５】
以上、本実施の形態によれば、解析対象集合特定手段１０２が、入出力情報に関する時点を考慮して解析対象集合を特定できる。これにより、機械学習の際に重視したい時点に近い時点に関する情報を優先的に学習できる。よって、精度の高い機械学習を行うことができる。また、本実施の形態によれば、検証手段１０５が機械学習の結果を検証できる。これにより、解析対象集合特定手段１０２の特定方法に問題があった場合などに修正するための指針を得ることができる。また、本実施の形態によれば、解析対象集合特定手段１０２が、特定の時点に近い時点情報を含む入出力情報ほど優先度を上げて解析対象集合を特定できる。これにより、特定の時点にむけて変化する情報を効果的に学習できる。例えば、新商品に対するユーザの興味に関する情報等を効果的に学習できる。また、本実施の形態によれば、解析対象集合特定手段１０２が、特定の時点との期間に応じて周期的に変化させて取得した量の入出力情報を含む解析対象集合を特定できる。これにより、特定の時点に対する影響力が周期的に変化する情報を効果的に学習できる。例えば、毎年のクリスマスに対するユーザの興味に関する情報等を効果的に学習できる。また、本実施の形態によれば、解析対象集合特定手段１０２が、全ての入出力情報がいずれかの解析対象集合に一度は含まれるように、複数の解析対象集合を特定できる。これにより、例えば、全ての情報を用いて機械学習できる。また、本実施の形態によれば、解析対象集合特定手段１０２が、ランダムに選択された入出力情報を含むように、複数の解析対象集合を特定できる。これにより、例えば、単位期間あたりの入出力情報の偏りをなくして機械学習できる。また、本実施の形態によれば、機械学習手段１０４が、解析対象集合ごとに、検証用クラスのクラス期間を変えて１度ずつ機械学習できる。これにより、少ない学習回数で妥当な機械学習ができる。また、本実施の形態によれば、解析対象集合特定手段１０２が、複数の異なる解析対象集合を特定できる。これにより、一の解析対象集合では除かれた情報も用いて学習することができる。よって、例えば、解析対象集合の特定方法による揺れを減らすことができる。また、本実施の形態によれば、クラス分割手段１０３が、入出力情報を複数のクラスに分割し、検証手段１０５が、入出力情報をクラスごとに切り替えて検証できる。これにより、少ない情報を有効に使って検証を行うことができる。また、本実施の形態によれば、クラス分割手段１０３が、各クラスに含まれる入出力情報を同じ量になるように分割できる。これにより、学習に用いられる情報と検証に用いられる情報を常に同じ比率にできる。
【００６６】
また、本実施の形態では、機械学習装置１が検証手段１０５を備える場合について説明したが、機械学習装置１は、検証手段１０５を備えていなくても良い。すなわち、機械学習装置１は、機械学習を行う装置であっても良い。その場合には、機械学習手段１０４は、解析対象集合特定手段１０２が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行うものであっても良い。解析対象集合特定手段１０２が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行うとは、解析対象集合に含まれる入出力情報の全てを用いて機械学習を行う事であっても良く、または、解析対象集合に含まれる入出力情報の一部を用いて機械学習を行うことであっても良い。
【００６７】
また、本実施の形態では、機械学習手段１０４が解析用情報格納手段１０１に格納されている解析用情報に含まれる入出力情報を用いて機械学習を行う場合について説明したが、機械学習手段１０４は、機械学習の結果を用いて、図示しない受付部が受け付けた入力情報に対する判断を行っても良い。なお、機械学習手段１０４が行う判断は、検証手段１０５が検証を行った後の状態であっても良く、検証を行っていない状態であっても良い。
【００６８】
なお、本実施の形態では、出力手段１０６を備える場合について説明したが、機械学習手段１０４は、出力手段１０６を備えていなくても良い。出力手段１０６を備えていない場合は、図示しない変更手段が、検証手段１０５が検証した検証結果に応じて、各種変数の値を変更しても良い。「検証結果に応じて、各種変数の値を変更する」とは、例えば、検証手段１０５が、不適切な検証結果を取得した場合に、適切な結果が得られるまで、繰り返し各種変数の値を変更しても良い。「適切な結果が得られるまで」とは、検証手段１０５による、検証結果があらかじめ決められた閾値以上の値を得られるまでであっても良い。例えば、図示しない変更手段は、特定の時点との期間が遠い解析用情報に含まれる入出力情報を、現在の設定より解析対象集合に含めないように各種変数の値を変更しても良い。
【００６９】
なお、本実施の形態では、クラス分割手段１０３を備える場合について説明したが、機械学習装置１はクラス分割手段１０３を備えていなくても良い。クラス分割手段１０３を備えていない場合は、クラス分割を行わず、解析対象集合の一部の入出力情報を用いて機械学習を行い、その機械学習に用いなかった残りの入出力情報を用いて検証を行っても良い。なお、一部の入出力情報は、あらかじめ決められた入出力情報であっても良く、ランダムで選択された入出力情報であっても良い。あらかじめ決められた入出力情報である場合は、開発者またはユーザ等が設定しても良い。
【００７０】
また、本実施の形態における機械学習装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、プログラムは、機械学習に用いることができる入力に関する情報、および出力に関する情報を含む入出力情報と、入出力情報に関する時点を示す時点情報とを対応付ける解析用情報が２以上格納される解析用情報格納手段にアクセス可能なコンピュータを、期間が均等に分割された複数の単位期間について、単位期間内の時点を示す時点情報に対応する入出力情報の集合であって、単位期間の時点と特定の時点との期間に応じた量の入出力情報の集合である単位期間入出力集合を含む解析対象集合を特定する解析対象集合特定手段、解析対象集合特定手段が特定した解析対象集合に含まれる入出力情報を用いて機械学習を行う機械学習手段として機能させるためのプログラムである。
【００７１】
なお、本実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されても良く、または、複数の装置によって分散処理されることによって実現されても良い。また、本実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の手段で実現されても良いことは言うまでもない。
【００７２】
また、本実施の形態において、各構成要素は、専用のハードウェアにより構成されても良く、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されても良い。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行手段が読み出して実行することによって、各構成要素が実現され得る。
【００７３】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得手段や、情報を出力する出力手段等におけるモデムやインターフェースカード等のハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【００７４】
図１１は、上記プログラムを実行して、上記実施の形態による本発明を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。
【００７５】
図１１において、コンピュータシステム１１００は、ＣＤ−ＲＯＭドライブ１１０５、ＦＤドライブ１１０６を含むコンピュータ１１０１と、キーボード１１０２と、マウス１１０３と、モニタ１１０４とを備える。
【００７６】
図１２は、コンピュータシステム１１００の内部構成を示す図である。図１２において、コンピュータ１１０１は、ＣＤ−ＲＯＭドライブ１１０５、ＦＤドライブ１１０６に加えて、ＭＰＵ１１１１と、ブートアッププログラム等のプログラムを蓄積するためのＲＯＭ１１１２と、ＭＰＵ１１１１に接続され、アプリケーションプログラムの命令を一時的に蓄積すると共に、一時記憶空間を提供するＲＡＭ１１１３と、アプリケーションプログラム、システムプログラム、およびデータを蓄積するハードディスク１１１４と、ＭＰＵ１１１１と、ＲＯＭ１１１２等を相互に接続するバス１１１５とを備える。なお、コンピュータ１１０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいても良い。
【００７７】
コンピュータシステム１１００に、上記実施の形態による本発明等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ１１２１、またはＦＤ１１２２に蓄積されて、ＣＤ−ＲＯＭドライブ１１０５、またはＦＤドライブ１１０６に挿入され、ハードディスク１１１４に転送されても良い。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ１１０１に送信され、ハードディスク１１１４に蓄積されても良い。プログラムは実行の際にＲＡＭ１１１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ１１２１やＦＤ１１２２、またはネットワークから直接、ロードされても良い。
【００７８】
プログラムは、コンピュータ１１０１に、上記実施の形態による本発明の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいても良い。コンピュータシステム１１００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【００７９】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。また、本発明における各手段の「手段」は、「部」や「回路」と読み替えても良い。
【産業上の利用可能性】
【００８０】
以上のように、本発明にかかる機械学習装置等は、機械学習の際に重視したい時点情報に関する情報を優先的に学習するという効果を有し、時系列を考慮した機械学習装置等として有用である。
【符号の説明】
【００８１】
１  機械学習装置
１０１  解析用情報格納手段
１０２  解析対象集合特定手段
１０３  クラス分割手段
１０４  機械学習手段
１０５  検証手段
１０６  出力手段
【図１】
2014167744.tif 000003
【図２】
2014167744.tif 000004
【図３】
2014167744.tif 000005
【図４】
2014167744.tif 000006
【図５】
2014167744.tif 000007
【図６】
2014167744.tif 000008
【図７】
2014167744.tif 000009
【図８】
2014167744.tif 000010
【図９】
2014167744.tif 000011
【図１０】
2014167744.tif 000012
【図１１】
2014167744.tif 000013
【図１２】
2014167744.tif 000014