(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0010】
まず、
図1〜
図6を用いて、本実施形態の概要について説明する。
【0011】
図1は、本実施形態に係るシステムの全体構成図を示す。本システムは、処理サーバ1と、入出力装置2とを備えている。処理サーバ1は、ある監視対象に取り付けるセンサを選択するセンサ設計の場面において、取り付けるセンサを自動的に選択することに関する。処理サーバ1は、プロトタイプとなる監視対象に取り付けた任意のn台のセンサ(nは少なくとも2以上)から取得したセンサデータを用いて、分類目的(異常検知など)に応じたセンサの自動選択と、選択したセンサを利用する分類モデルの構築を行う。なお、n台のセンサの種類およびそれぞれの取り付け箇所の候補は予め定まっているものとする。センサ選択は、n台のセンサから、監視対象にこれから新たに取り付けるセンサを選択することのみならず、監視対象に既に取り付けられているn台のセンサから、使用するセンサを選択することも含んでよい。以下の説明では、主として前者の場合を想定するが、後者の場合も適宜必要な読み替えを行うことで、同様に実施できる。
【0012】
入出力装置2は、処理サーバ1に接続されており、設計者との入出力に関するインタフェースを提供する。入出力装置2は、処理サーバ1から受信したデータを画面に表示したり、入力デバイスを介して設計者から入力されたデータを、処理サーバ1に出力したりする。
【0013】
処理サーバ1は、入出力装置2を介して、設計者に対して、処理サーバ1が選択したセンサと、そのセンサを用いた分類モデルの情報を提供する。図では、処理サーバ1と入出力装置2は別々の装置として構成されているが、これらが一体に構成されてもよい
【0014】
本実施形態で用いるセンサは、ある物理量を観測しデジタル信号に変換する機器の総称である。例えば、加速度センサ、地磁気センサ、画像センサ、湿度センサ、温度センサ、圧電素子、などさまざまなセンサがある。熱電発電素子または太陽電池などの電力生成装置も、センサに含めてかまわない。この場合、発電量がセンサ値に相当すると考えることができる。
【0015】
本実施形態では、センサの取り付ける監視対象としてMFP(Multifunction Peripheral)を想定するが、他の製品であってもかまわない。また、監視対象は、製品に限られず、半製品でもよいし、あるいは、生体でもよい。生体の例としては、ヒト、動物または植物などがある。さらに、本実施形態では分類目的として、状態が正常か異常かを検知する異常検知を扱うが、他の分類目的でもかまわない。
【0016】
図2に、ある設計者があるMFPを開発中において、1台のプロトタイプを用いて、異常検知を目的としたセンサ設計をしている状況を示す。この設計者は、1台のプロトタイプのMFPに、任意のn個(nは2以上の正の整数)センサを取り付け、各センサから、学習データとして、k個のセンサデータを取得する。k個のセンサデータは、第1〜第kの取得条件(以下、条件)がそれぞれ成立した場合に取得する。ここでは、第1〜第kの条件はそれぞれ一定時間間隔(10分、または1時間ごとなど)の第1〜第kの時点が到来したタイミングでセンサデータを取得することを定める。一例として、第1の時点が0時、第2の時点が1時、・・・・、第kの時点が23時でもよい。ここでは、MFPに取り付けたn個のセンサから、MFPの正常運転時に一定時間間隔でセンサデータp個(pは2以上の正の整数)を取得し、続けて、故意に故障を起こした状態で、一定時間間隔でセンサデータq個(qは2以上の正の整数)を取得する。第pのセンサデータと第p+1のセンサデータの間は、当該一定時間間隔とする。p+q=kである。
【0017】
ここでは第1〜第kの条件は、一定時間間隔ごとの時点が到来することを定めたが、第1〜第kの条件はこれに限定されない。監視対象(ここではMFP)に共通する第1〜第kの条件の成立に応じた場合にセンサデータを取得する限り、どのような条件でもよい。例えば、第1〜第kの条件が定める時点が一定時間間隔でなくてもよい。別の例として、第1〜第kの条件は、特定のイベントが起きたことを定めてもよい。特定のイベントは、例えば電源がオンにされたことでもよいし、所定の操作(例えば特定のボタンが押されるなど)が行われたことでもよい。特定のイベントは、第1〜第kの条件で共通でもよいし、第1〜第kの条件で特定のイベントの内容が異なってもよい。特定のイベントが第1〜第kの条件で共通の場合、第1〜第kの条件は、特定のイベントがそれぞれ何回目に起こるかを定めてもよい。
【0018】
図3は、センサ1〜センサnから取得したセンサデータを模式的に示す。図において、“S
i”(i=1,2,…,n)は、センサiを表す。センサ1〜センサnのそれぞれごとに、正常運転時のp個のセンサデータと、異常時のq個のセンサデータが示される。つまり、n個×(p+q)個のセンサデータが示される。p+q=kである。図における各矩形が、センサデータを模式的に表している。矩形で囲まれた「S
1:正常1」は、1回目(第1の条件が成立した場合)にセンサ1から取得したセンサデータと、センサ1の正常を表すラベルとを含んでいる。第1〜第pの条件が成立したときは正常であったが、第p+1〜第qの条件が成立したとき、MFPは異常であった例である。センサデータの構成は、波形データでも、値データでもかまわない。
図4に波形データの例を示す。波形データは、時間に沿って値の推移を示したものである。黒丸がサンプリング点における値を表し、サンプリング点の間隔の逆数がサンプリング周波数に対応する。
【0019】
一般的な方法では、n個のセンサから取得したn個×(p+q)個のセンサデータを用いて、分類モデル(ここでは異常検知の分類モデル)を生成する。分類モデルは、一例として、ある時点で取得したn個のセンサのすべてのセンサデータを入力とし、異常有無を特定するための値を出力する。一例として、値が閾値以上であれば正常、閾値未満であれば異常と判断する。
【0020】
これに対して、本実施形態では、
図3のように、n個×(p+q)個のデータに基づき、分類モデルに用いるセンサを自動的に選択する。この例では、センサ1とセンサn等が選択された場合が示される。さらに、選択したセンサで取得されるセンサデータをすべて用いるのではなく、センサごとに、センサデータを取得する条件を、第1〜第kの条件から自動的に選択する。分類モデルでは、当該選択した条件の成立に応じて取得したセンサデデータのみを用いる。図の例では、破線の矩形で示すように、センサ1については、第2の条件と、第q−1の条件が選択されている。センサnについては、第3の条件が選択されている。分類モデルの構築に用いたn個×(p+q)個のセンサデータ(学習データ)のうち、選択された条件の成立に応じて取得された学習データを、代表データと呼んでいる。
【0021】
このように分類モデルで使用するセンサを自動選択することで、MFP量産時において、不要なセンサの設置を防止できる。また、選択した条件の成立に応じて取得したセンサデータのみを分類モデルで用いることで、分類モデルに必要なデータ量(すなわち代表データの個数)を抑制することも可能とする。また、収集するデータ量および頻度を抑制できる。これらにより、分類モデルの構成をコンパクトにできる。よって、本実施形態は、センサの設置コストおよび運用コストや、分類モデルの実行に必要なコスト(例えば分類モデルの処理に必要な処理性能を備えたプロセッサのコスト)を低減させることが可能になる。
【0022】
上述した説明では1台の製品(MFP)からセンサデータを取得したが、複数台の製品からセンサデータを取得する構成も可能である。
図5は、過去にリリースした製品であるm台のMFPからセンサデータを取得する例を示す。このように過去にリリースした複数の製品からセンサデータを取得する場合も、本実施形態によりセンサ選択および分類モデル構築が可能である。なお、m台のMFPのリリース時期は同時でもよいし異なってよい。図において、センサ1について、第1および第2のタイミング(第1および第2の条件が成立したとき)ではMFP1から、第3のタイミング(第3の条件が成立したとき)ではMFP2から、・・・、第pタイミングから第qタイミングではMFPmから、それぞれセンサデータを取得している。センサ2〜センサnのそれぞれについても同様である。MFP1〜MFPmのうち、MFP1〜MFPm−1は、それぞれセンサデータが取得されたときは正常であったが、MFPmは、第pタイミングでは正常であったものの、第p+1〜第qタイミングでは異常であった。
【0023】
前述したように、本実施形態でセンサ設計を行う監視対象は、ヒト、動物などの生体でもかまわない。監視対象がヒトの場合の例として、
図6に、在宅リハビリ支援システムにおけるセンサ設計の例を示す。在宅リハビリ支援システムとは、リハビリ実施者が在宅時に、理学療法士・作業療法士が不在でも、正しいリハビリフォームでリハビリを実施できるようにするシステムである。具体的な動作例としては、在宅リハビリ支援システムは、リハビリ実施者のリハビリ動作フォームをセンサで捉え、正誤判定や動作分類を行い、これらの結果を、リハビリ実施者に提示する。
【0024】
このシステムでは、在宅リハビリ実施者ができるだけ自然な状態でリハビリを行えるように、自由度の高いセンサ設計が必要である。できるだけ自由度を確保すべく、取り付けるセンサは少なく、邪魔にならない位置に配置する方が好ましい。また、在宅時に動作フォームの正誤判定を行う分類モデルは、リハビリ実施者が持つスマートフォンなどの軽微なPC環境に搭載することを想定しているため、分類モデルはコンパクトである必要がある。なお、分類モデルは、動作フォームの正誤判定のみならず、動作フォームの動作分類を行う分類モデルも可能である
【0025】
そこで、院内リハビリで得られたリハビリ実施者のセンサデータを学習データとし、本実施形態によりセンサ選択(リハビリ実施者に設置するセンサの選択)および分類モデル構築を行う。センサの個数や、分類モデルに使用するデータ数をコンパクトにすることによって、リハビリ実施者や、分類モデルの動作環境への負担を軽減することができる。
【0026】
また、上記の形態の応用例として、在宅リハビリ支援システム開発時に数名のモニターを募って、本発明を実施することもできる。これにより、院内リハビリ時も、選択したセンサと、選択した条件の成立に応じて取得したデータに基づいて、コンパクトな分類モデルで、正誤判定等を行うことができる。このようにして、リハビリ支援を可能とする。
【0027】
図7は、本発明の実施形態に係るセンサ設計支援装置の機能ブロック図を示す。センサ設計支援装置は、学習データ保持部9と、分類ラベルデータ保持部10と、データ間特徴量算出部11、データ処理部12、モデル構築部13、出力情報生成部14を備える。
【0028】
本実施形態のセンサ設計支援装置は、第1〜第kの条件のそれぞれが成立した場合にn個のセンサから取得したそれぞれのセンサデータ(以下、学習データ)と、第1〜第kの条件のそれぞれが成立したときにおける監視対象の状態を表す状態データとを用いて、分類モデルを構築する。状態データは、一例として、監視対象の状態の分類ラベルを含む。具体的に、監視対象の状態が正常な場合には、正常クラスを表すラベル、異常な場合には、異常クラスを表すラベルを含む。センサ設計支援装置は、分類モデルの構築の際、n個のセンサの中からの1つ以上のセンサの選択と、選択したセンサからセンサデータを取得する条件の選択とを同時に行う。そして、選択したセンサを特定する情報、選択した条件を特定する情報(後述する代表データIDに相当)、生成した分類モデルのデータ(分類モデルデータ)等を出力する。
【0029】
(センサの学習データ)
学習データ保持部9は、学習データテーブルを保持する。
図8に、学習データテーブル例を示す。i番目のセンサIDを持つセンサ(センサi)に対して、k個の学習データの値が保持されている。学習データの値は、センサの計測値そのものでもよいし、計測値を統計処理した値でもよいし、その他、計測値に基づき算出される任意の値でよい。これらを総称して、センサ特徴量と呼んでもよい。
【0030】
図8のテーブルには、n*k個の要素s
i,j(iはセンサのID,jは学習データIDを指す)が保持されている。例えば、要素s
1,1は、センサID=1および学習データID=1の学習データの値(=0.4)を表す。
【0031】
各学習データには、学習データIDが対応づけられている。学習データIDは、対応する学習データが検出された条件を特定する情報に対応する。例えばセンサ1〜nのそれぞれの学習データID=1は、第1の条件に対応する。
【0032】
図8では、学習データが1つの値であったが、学習データは、時系列の複数の値(センサ特徴量)を保持するベクトルでも構わない。
【0033】
図9は、学習データテーブルの他の例を示す。この例では、学習データは、時系列の複数の値を保持するベクトルである。このテーブルは、要素s
i,j,tをn*k*T個、保持する。時刻tは、1以上T以下の値を取り、Tは2以上の正の実数である。例えば、s
1,1,1は、センサID=1、学習データID=1、時刻t=1におけるセンサ特徴量(=2.1)を表す。また、s
1,1は、センサID=1、学習データID=1の学習データ(t=1,t=2,…,t=T)=(2.1、7.4、9.5、・・・、6.9)を表す。
【0034】
図8および
図9の学習データテーブル例において、センサ特徴量の計測不能なセンサまたは時刻が存在した場合、テーブル内の該当セルに、無効値(“NA”など)を格納すればよい。
【0035】
(分類ラベル)
分類ラベルデータ保持部10は、状態データの一例である分類ラベルデータを保持する。分類ラベルデータは、各学習データIDに対応する条件が成立したときにおける監視対象の状態(クラス)を保持する。クラスは、目的の分類問題に応じて決まる。ここでは、正常か異常かの分類を行う異常検知の場合を想定し、正常クラスと異常クラスがあるとする。
【0036】
図10は、分類ラベルデータの例を表す。この例では、分類ラベルデータは、テーブルとして構成されるが、リスト形式など別の構成でもよい。分類ラベルとして、正常クラスを表す”1”のラベル、異常クラスを表す”0”のラベルが、各学習データIDに対して付与されている。なお、分類ラベルが不明の場合には、該当するセルに、無効値(“NA”など)を格納すればよい。分類ラベル(正常クラスまたは異常クラスのラベル)は、設計者または別の人が与えても良いし、MFP等の製品のログから取得しても良い。
【0037】
学習データテーブルおよび分類ラベルデータは、設計者が入出力装置2から入力して、それぞれ学習データ保持部9および分類ラベルデータ保持部10に格納してもよい。または、センサ設計支援装置が、通信ネットワークを介して外部装置からこれらのテーブルを受信して、学習データ保持部9および分類ラベルデータ保持部10に格納してもよい。
【0038】
(データ間特徴量算出部11)
データ間特徴量算出部11は、学習データテーブルから、各センサの学習データ1〜kを読み出す。データ間特徴量算出部11は、センサごとに、学習データ1〜kの任意の2つの要素を組み合わせて複数のデータ組を生成し、各データ組について、学習データ間の特徴量(以下、データ間特徴量)を算出する。そして、生成したデータ間特徴量を、k行k列を持つマトリックスの該当するセルに格納することで、テーブル(データ間特徴量テーブル)を生成する。データ間特徴量テーブルは、センサごとに生成される。
【0039】
例えば、センサiのj番目の学習データS
i,jと、センサiのr番目の学習データS
i,rのデータ間特徴量x
j,rは、例えば、以下の式で計算される。
【数1】
【0040】
式(1)中のDis関数は、2つの学習データ間の距離を計算する関数である。学習データは、前述したように、単一の値でも、時系列データでもかまわない。単一の値の場合は、2つの学習データ間で加法、減法、乗法、または除法を行う関数が考えられる。時系列データの場合は、2つの時系列データの類似度を示す相関係数を計算する関数、または、非線形のゆがみを考慮した時系列データ間の距離関数であるDynamic time warping、または、部分時系列を考慮できる距離関数であるShapletなどが考えられる。
【0041】
jとrが等しい場合(すなわち、自己同士のデータ間特徴量の場合)は、データ間特徴量x
j,rを0にする。また、データ組における少なくとも一方の学習データの値が無効値(NA)である場合、または当該学習データの値が信頼できない場合も、データ間特徴量を0にする。
【0042】
図11は、各センサのデータ間特徴量テーブルの例を示す。データ間特徴量テーブルの各セルに、各データ組から計算されたデータ間特徴量が格納される。上述したように、同じ学習データ同士のデータ間特徴量は0である。
【0043】
データ間特徴量は、x
j,r(j=1,..,k;r=1,..,k)によって表されている。例えば、x
1,2は、学習データ1(学習データID=1の学習データ)と学習データ2(学習データID=2の学習データ)のデータ間特徴量を表す。データ間特徴量の例としては、2つの学習データ間の類似度または差がある。例えばデータ間特徴量が差の場合、x
1,2は、学習データ1の値から学習データ2の値を減じた値であり、x
2,1は、学習データ2の値から学習データ1の値を減じた値である。
【0044】
データ間特徴量算出部11は、各センサのデータ間特徴量テーブルを、データ処理部12へ提供する。
【0045】
(データ処理部12)
データ処理部12は、データ間特徴量算出部11から各センサiのデータ間特徴量テーブルを受け取る。また、データ処理部12は、分類ラベルデータ保持部10から分類ラベルデータを取得する。
【0046】
データ処理部12は、後段のモデル構築部13のための前処理を分類ラベルデータに行う。また、データ処理部12は、センサ1〜nのデータ間特徴量テーブルの結合処理を行う。前処理としては、分類ラベルが2値化(バイナリ化)されていない場合に、2値化の処理を行うことがある。その他、ローパスフィルタなどの信号処理を行ってもよい。
図10に示した分類ラベルはバイナリ化されている。
【0047】
データ間特徴量テーブルの結合処理では、全センサのデータ間特徴量テーブルを行方向に結合することにより、説明変数テーブルを生成する。
図11のデータ間特徴量テーブルの結合処理を行った場合、生成される説明変数テーブルは、(n*k)列k行のテーブルになる。説明変数テーブルの各列について、列方向に平均0、分散1になるように標準化を行ってもよい。または各行について、行方向に平均0、分散1になるように標準化を行ってもよい。
【0048】
図12に、各センサのデータ間特徴量テーブルの結合処理の例を示す。例えば、(センサID、学習データID)=(1、1)の列には、センサ1について、学習データ1と学習データ1間のデータ間特徴量(=0)、学習データ2と学習データ1間のデータ間特徴量、・・・、学習データ3と学習データ1間のデータ間特徴量、学習データkと学習データ1間のデータ間特徴量が格納されている。(センサID、学習データID)=(2、k)の列には、センサ2について、学習データ1と学習データ2間のデータ間特徴量、学習データ2と学習データ2間のデータ間特徴量(=0)、学習データ3と学習データ2間のデータ間特徴量、・・・、学習データkと学習データ2間のデータ間特徴量が格納されている。センサnについての学習データjと学習データrとのデータ間特徴量をx
n,j,rと表してもよい。
【0049】
説明変数テーブルの作成方法は、上記の例に限定されない。他の方法として、センサごとに、各行の学習データ1〜kと組み合わせる学習データ(各列の学習データ1〜k)を、所定のラベル(例えば正常クラスのラベル)をもつ学習データのみに限定してもよい。換言すれば、上記の
図12の説明変数テーブルにおける複数の列のうち、所定のラベル(例えば正常クラスのラベル)を持つ学習データの列のみを選択したものを説明変数テーブルとしてもよい。
【0050】
例えば、学習データ1〜kのうち、所定のラベル(正常クラスのラベル)をもつ学習データが学習データ1〜p、それ以外のラベル(異常クラスのラベル)をもつ学習データが学習データp+1〜kであるとすると、説明変数テーブルは、(n*p)列になる。したがって、上記の(n*k)列k行よりもコンパクトになる。
【0051】
なお、分類ラベルとして無効値(“NA”など)が含まれる場合、当該無効値が付与された学習データとの間で算出されたデータ間特徴量を、テーブルから削除してもよい。ただし、分類モデルとしてSVMを用いる際は、この削除処理は必要に応じてスキップしてもかまわない。
【0052】
データ処理部12は、生成した説明変数テーブルを、学習データIDを介して、分類ラベルデータに関連づけて、互いに関連づけられた分類ラベルデータおよび説明変数テーブルを、モデル構築部13に提供する。
【0053】
(モデル構築部13)
モデル構築部13は、データ処理部12から受けた説明変数テーブルと分類ラベルデータに基づき、分類モデルを構築する。分類モデルの構築では、複数のセンサ1〜nのうちから使用するセンサの選択と、選択したセンサごとに第1〜第kの条件のうち適用する条件の選択を行う。選択されたセンサに適用する条件の選択は、具体的には、学習データ1〜kから学習データの選択を行い、選択した学習データ(代表データ)の学習データIDに対応する条件を選択することで行う。モデル構築部13は、選択したセンサのセンサID(選択センサID)と、選択した学習データ(代表データ)のIDと、構築した分類モデルとを、出力情報生成部14に供給する。選択した学習データ(代表データ)のIDを、代表データIDと記述する場合もある。
【0054】
以下、モデル構築部13が、分類モデルとして、ロジスティック回帰モデルを生成する例を示す。分類モデルとして、ロジスティック回帰モデル以外のモデル、例えばSVMを生成することも可能である。
【0055】
ロジスティック回帰モデルは、以下の式に従う回帰モデルである。
【数2】
【0056】
logitはロジスティック関数を示す。logit(z)は、0より大きく1より小さい範囲の値域を有する。β
0は切片を示す。
【0057】
x
i,j,rは、i番目のセンサにおけるj番目の学習データとr番目の学習データのデータ間特徴量を表す(i番目のセンサのデータ間特徴量テーブルにおいて、j番目の行とr番目の列とが交差するセルのデータ間特徴量に相当)。
【0058】
β
i,j,rは、データ間特徴量x
i,j,rに対する回帰係数である。ここで、1つのセンサiに関する回帰係数をまとめて、β
i={β
i,1,1,β
i,1,2,…,β
i,k,k}と記述する。また、すべてのセンサについてのβiをまとめて、β={β
1,β
2,…,β
n}と記述する。
【0059】
zは、回帰係数β
i,j,rとデータ間特徴量x
i,j,rとを乗算し、加算した値である。例えば、zは、説明変数テーブルの任意の1行のような複数のデータ間特徴量x
i,j,rを、複数の回帰係数β
i,j,rで重み付け合計した値である。変形例としてzの式として、β
0を含まない式を用いてもよい。
【0060】
Xは、n個のセンサのj番目の学習データに関するデータ間特徴量x
i,j,r(i=1〜n、r=1〜k)を含むベクトルである。ベクトルの要素数は、n*kである。すなわち、Xは、説明変数テーブルの任意の1行に対応する。P(y=1|X)(すなわちlogit(z)の値)は、ベクトルXが与えられた際に分類ラベル(ここでは正常クラスのラベル)が1になる確率を表す。P(y=1|X)は、0より大きく1より小さい値を有する
【0061】
上述の分類モデルを用いて、付与する分類ラベルを決定する場合、一例として閾値Cを用いた判定がある。例えば、関数logit(z)の値(1になる確率)が閾値Cより大きければ、分類ラベルとして1を付与し、閾値C以下であれば、分類ラベルとして0を付与する。
【数3】
【0062】
分類モデルを構築するとは、モデルの型が式(2)のように決まっている場合に、式(2)中の回帰係数である、β={β
1,β
2,…,β
n}={β
1,1,1,β
1,1,2,…,β
1,k,k,β
2,11,β
2,1,2,…,β
2,k,k,…,β
n,1,1,β
n,1,2,…,β
n,k,k}と、β
0とを求めることに相当する。j=1〜k、r=1〜kに関して、β
i,j,rがすべて0である場合、そのセンサiは用いられない(選択する必要はない)ことを意味する。また、j=sの場合に、r=1〜kに関して、β
i,s,rがすべて0であり、かつ、r=sの場合に、j=1〜kに関して、β
i,j,sがすべて0の場合には、学習データsは必要ない、すなわち、学習データsのIDに対応する条件が成立した場合にセンサデータを取得する必要はない(当該条件を選択する必要はない)ことを意味する。
【0063】
β={β
1,β
2,…,β
n}とβ
0は、例えば最尤推定法または最小二乗法を用いて求めることができる。この際、過学習等を防止するため、正則化を含む推定手法であり、かつ、変数選択と分類モデル構築とを同時に行うことが可能な推定手法を用いる。具体的には、LassoまたはElastic Netを用いる。LassoはElastic Netの一種であるので、ここではElastic Netを用いる例を示す。
【0064】
Elastic Netでは、最小二乗法でβとβ
0を求める際に、罰則項λE(β)を用いて、損失関数Jの最小化問題の式(3)を解く。式(3)は凹関数である。罰則項は、式(4)に示される。損失関数Jは、式(5)のように、目的変数の真値y
jと、βと、β
0とを持つロジスティック回帰関数により算出された推定値(logitの値)y^
jとの二乗誤差の和である。式(5)は、分類ラベルの値(真値y
j)と、分類モデルの出力値(logitの値)の差異の定量化値を表し、式(3)は、式(5)に基づく値を最小化する関数の一例である。
【数4】
【0065】
λは罰則項の強さを決定するパラメータである。λは任意の方法で決定すればよい。一例として、交差検証法を用いることができる。例えば、説明変数テーブルを行方向(紙面に沿って横方向)に沿って分割して複数の部分テーブルを生成し、複数の部分テーブルから交差検証法により最適なλを決定する。分割数は、一般的には10〜100程度である。例えばk=200とし、10分割により、k=1〜20、21〜40、・・・、191〜200の10個の部分テーブルをそれぞれ得る。2〜10番目の部分テーブルを訓練事例として用いて分類モデル構築を行い、1番目の部分テーブルをテスト事例として利用して、分類モデルの評価(精度の評価等)を行い、所定の基準を満たす(例えば最も識別率の高くなる)λを決定する。これを、各部分テーブルが1回ずつテスト事例として利用されるまで繰り返す。これらの決定したλの中から、最適なλを決定する。例えば最も識別率の高いλを採択する。交差検証法の具体例は一例に過ぎず、他にも様々な具体例が存在する。
【0066】
αは、式(4)の第一項と第二項の強さを調節するパラメータである。Elastic Netでは0<α<1の範囲である。なお、Lassoの場合はα=1である。パラメータの値は任意であるが、例えば、α=0.5とする。
【0067】
なお、Elastic NetまたはLassoを含めた正則化に関しては、Regularization and variable selection via the elastic net[Zou, Hui; Hastie, Trevor 2005]を参照されたい。
【0068】
このようにして求めた回帰係数βの要素(β
i,j,r:i=1〜n,j=1〜k,r=1〜k)には、非ゼロの要素と、0の要素が存在する。
【0069】
モデル構築部13は、βi=(β
i,1,1、β
i,1,2、…、β
i,k,k)において、少なくとも1つの要素が非ゼロであれば、センサiを選択する。換言すれば、β
i,1,1、β
i,1,2、…、β
i,k,k、のすべてがゼロであれば、センサiを選択しない。
【0070】
また、非ゼロのβ
i,j,rに対して、センサiに関する学習データjと学習データrを代表データとしてそれぞれ選択する。換言すれば、j=sの場合に、r=1〜kに関して、β
i,s,rがすべて0であり、かつ、r=sの場合に、j=1〜kに関して、β
i,j,sがすべて0の場合には、センサiに関して、学習データsは選択しない。
【0071】
ここでは非ゼロか否かで、センサおよび学習データの選択可否を判断したが、変形例として、閾値より大きいか否かで、選択可否を判断してもよい。この場合、モデル構築部13は、βi=(β
i,1,1、β
i,1,2、…、β
i,k,k)において、少なくとも1つの要素が閾値より大きければ、センサiを選択する。換言すれば、β
i,1,1、β
i,1,2、…、β
i,k,k、のすべてが閾値未満であれば、センサiを選択しない。
【0072】
また、閾値より大きいβ
i,j,rに対して、センサiに関する学習データjと学習データrを代表データとしてそれぞれ選択する。換言すれば、j=sの場合に、r=1〜kに関して、β
i,s,rがすべて閾値未満であり、かつ、r=sの場合に、j=1〜kに関して、β
i,j,sがすべて閾値未満の場合には、センサiに関して、学習データsは選択しない。
【0073】
図13は、分類モデル構築処理の動作イメージを示す。図の左側には、分類ラベルデータとして、学習データID=1〜kに対応する分類ラベルが示されている。k=1〜pに対応する条件が成立したときは、MFPは正常(分類ラベルが1)であり、k=p+1〜qに対応する条件が成立したときは、MFPは異常(分類ラベルが0)である。これらの分類ラベルの値を真値とみなして、分類モデル構築を行う。
【0074】
図における“logit”のカッコ内に、説明変数テーブルと、ベクトルβ=(β
1,1,1、β
1,1,2、β
1,1,3、・・・、β
i,j,r、・・・β
n,k,k)
Tが示されている。これは、説明変数テーブルの各行の値を格納したベクトル{x
1,1,1、x
1,1,2、x
1,1,3、・・・、x
i,j,r、・・・x
n,k,k}が、ベクトルβ={β
1,1,1、β
1,1,2、β
1,1,3、・・・、β
i,j,r、・・・β
n,k,k}と乗算されること、すなわち、前述した式(2)のzの式を模式的に表現している。
【0075】
説明変数テーブルの1行目に対応して、各センサの学習データ1が取得されたときは、MFPは正常、すなわち、分類ラベルは1であることが、矢印付きの破線で示されている。同様に、説明変数テーブルのk行目に対応して、各センサの学習データkが取得されたときは、MFPは異常、すなわち、分類ラベルは0であることが、矢印付きの破線で示されている。
【0076】
分類モデル構築処理により、β
1の各要素はゼロ、すなわち、β
1,1,1、β
1,1,2、β
1,1,3、…,β
1,1,kはすべて0になったため、センサ1は選択されない(当然、センサ1の学習データ1〜kのいずれも代表データとして選択されない)。β
i,j,rは非ゼロであるため、センサiは選択され、センサiの学習データ1〜kのうち、少なくとも学習データjおよび学習データrは、代表データとして選択される。β
n,k,kは0であるが、β
nの要素{β
n,1,1、β
n,1,2、β
n,1,3、・・・、β
n,k,k}のうち、β
n,k,k以外の要素の少なくとも1つが非ゼロであれば、センサnは選択される。非ゼロの要素に対応する学習データのペアも、それぞれ代表データとして選択される。
【0077】
モデル構築部13は、非ゼロである回帰係数を含み、ゼロである回帰係数を含まない分類モデルと、選択したセンサのセンサID(選択センサID)と、当該選択したセンサにおける代表データの学習データID(代表データID)とを、出力情報生成部14に供給する。
【0078】
出力情報生成部14に供給する分類モデルは、たとえば、式(2)に示した関数の型のデータまたは型を識別する情報と、非ゼロである回帰係数の値とを含む。関数の型が予め決まっている場合は、関数の型のデータまたは型を識別する情報を供給することを省略する構成も可能である。また、出力情報生成部14に、非ゼロである回帰係数の値に加えて、ゼロである回帰係数を供給してもかまわない。すなわち式(2)に含まれるすべての回帰係数の値を供給してもよい。
【0079】
出力情報生成部14は、モデル構築部13から受けた分類モデルと、選択センサIDと、代表データIDとに基づき、ユーザに提示する必要のある情報を、出力情報として生成する。出力情報生成部14は、生成した出力情報を、入出力装置2に供給する。入出力装置2は、出力情報生成部14から受けた出力情報を、画面に表示する。出力情報の例を
図15に示す。一例として出力情報は、分類モデルを表すデータ(関数の型と回帰係数の値とを含む)と、選択センサIDと、代表データIDとを含む。出力情報は、センサごとに代表データの個数を表す情報など、他の情報を含んでもよい。なお、出力情報の供給先は入出力装置2に限定されない。例えば、出力情報生成部14は、出力情報を、無線または有線の通信インタフェースを利用して、外部の通信装置に送信してもよい。
【0080】
ユーザである設計者は、入出力装置2の画面等を介して出力情報の内容、すなわち、選択センサID、代表データID、分類モデルを確認する。設計者がこれを容認する場合は、一例として、選択センサIDのセンサをMFPに設置することを決定してもよい。また、実際に選択センサIDのセンサをMFPに設置した場合に、当該MFPに搭載したセンサから、代表データIDに対応する条件が成立した場合のみセンサデータを収集するよう、センサデータを収集する装置の動作を制御してもよい。また分類モデルを組み込んだ装置を用意し、収集したセンサデータから異常検知を行うよう当該装置の動作を設定してもよい。
【0081】
上述した罰則項の式(4)の代わりに、以下の式(6)を用いてもよい。
【数5】
式(6)は、式(4)の右辺に、1/||Ni||を追加したものである。Niは、センサiに対応し、iの範囲は1〜nである。1/||Ni||は、定数である。Niの値は、センサ毎に、予め与えておく。Niは0より大きい自然数とする。設計者は、センサ1〜nのうち、優先度の高いセンサ(すなわち選びたいセンサ)ほど、Niの値を大きくする。これにより、選びたいセンサほど、1/||Ni||を含む項の値が小さくなり、罰則項の値が小さくなる。例えば、後述するコスト(設置コスト等)が小さいセンサほど、Niの値を大きくする。
【0082】
上述した実施形態ではデータ間特徴量テーブルを結合して説明変数テーブルを生成したが、この処理を行わない構成も可能である。この場合、データ処理部12では、分類ラベルデータを、各センサのデータ間特徴量テーブルに関連づけ、モデル構築部13では、当該関連づけられたデータ間特徴量テーブルを用いて、上述した処理を行えばよい。
【0083】
(変形例1)
本実施形態では、監視対象(MFP)の状態として正常および異常の2つの状態を扱ったが、3つ以上の状態でもよい。この場合、分類モデルとして、多項ロジスティック回帰モデルまたは多クラスSVMを用いることが可能である。これにより3つ以上の状態のいずれの状態に該当するかを判定できる。
【0084】
(変形例2)
監視対象の状態として3つ以上の状態を扱う場合、2値問題の分類モデルを、複数作成する方法も可能である。以下、具体例を示す。監視対象の状態として、状態A、状態B、状態Cの3つの状態がある場合を想定する。
【0085】
この場合、
状態Aと、それ以外の状態(すなわち状態Bか状態C)とを分類する分類モデルA、
状態Bと、それ以外の状態(すなわち状態Aか状態C)とを分類する分類モデルB、
状態Cと、それ以外の状態(すなわち状態Aか状態B)とを分類する分類モデルC、
を、上述した実施形態に従って生成する。
【0086】
実際の判定の際は、分類モデルA、分類モデルB、分類モデルCを使った判定を総合して、状態A、状態B、状態Cのいずれかを決定する。
【0087】
例えば、分類モデルAでは状態Aが決定され、分類モデルBでは状態B以外の状態が決定され、分類モデルCでは状態C以外の状態が決定された場合は、これらの結果を総合して、多数決等により、状態Aを最終的に決定する。
【0088】
または、分類モデルAでは状態Aが決定され、分類モデルBでは状態B以外の状態が決定され、分類モデルCでは状態Cが決定された場合は、分類モデルAから計算される状態Aの確率と、分類モデルCから計算される状態Cの確率を比較し、値の大きい方の確率に対応する状態を、最終的に決定してもよい。
【0089】
本実施形態に係る処理サーバ1のハードウェア構成について、
図15を参照して説明する。この例では、
図1に示した処理サーバ1と入出力装置2が一体に構成されている。本実施形態に係る処理サーバ1は、コンピュータ100により構成される。コンピュータ100には、サーバ、クライアント、マイコン、及び汎用コンピュータなどが含まれる。
図15は、コンピュータ100の一例を示す図である。
【0090】
図15のコンピュータ100は、CPU(中央演算装置)101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105と、を備える。プロセッサ101、入力装置102、表示装置103、通信装置104、及び記憶装置105は、バス106により相互に接続されている。
【0091】
プロセッサ101は、コンピュータ100の制御装置及び演算装置を含む電子回路である。プロセッサ101として、例えば、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシン、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路(PLD)、及びこれらの組合せを用いることができる。
【0092】
プロセッサ101は、バス106を介して接続された各装置(例えば、入力装置102、通信装置104、記憶装置105)から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス106を介して接続された各装置(例えば、表示装置103、通信装置104、記憶装置105)に出力する。具体的には、プロセッサ101は、コンピュータ100のOS(オペレーティングシステム)や、センサ設計支援プログラムなどを実行し、コンピュータ100を構成する各装置を制御する。
【0093】
センサ設計支援プログラムとは、コンピュータ100に、処理サーバ1の上述の各機能構成を実現させるプログラムである。センサ設計支援プログラムは、一時的でない有形のコンピュータ読み取り可能な記憶媒体 に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。プロセッサ101がセンサ設計支援プログラムを実行 することにより、コンピュータ100がセンサ設計支援装置として機能する。
【0094】
入力装置102は、コンピュータ100に情報を入力するための装置である。入力装置102は、例えば、キーボード、マウス、及びタッチパネルであるが、これに限られない。ユーザは、入力装置102を用いることにより、各種の設定を行うことができる。
【0095】
表示装置103は、画像や映像を表示するための装置である。表示装置103は、例えば、LCD(液晶ディスプレイ)、CRT(ブラウン管)、及びPDP(プラズマディスプレイ)であるが、これに限られない。表示装置103は、GUI又はCUIを表示する。また、表示装置103は、記憶装置105に記憶された各種のデータや、出力情報生成部14が出力した出力情報を表示してもよい。また後述する情報統合部16が出力する統合情報(
図22、
図24参照)を表示してもよい。
【0096】
通信装置104は、コンピュータ100が外部装置と無線又は有線で通信するための装置である。通信装置104は、例えば、モデム、ハブ、及びルータであるが、これに限られない。センサのデータは、通信装置104を介して外部装置から入力され、記憶装置105に記憶されてもよい。
【0097】
記憶装置105は、コンピュータ100のOSや、センサ設計支援プログラム、センサ設計支援プログラムの実行に必要なデータ、及びセンサ設計支援プログラムの実行により生成されたデータなどを記憶するハードウェアの記憶媒体である。記憶装置105には、主記憶装置と外部記憶装置とが含まれる。主記憶装置は、例えば、RAM、DRAM、SRAMであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。
【0098】
なお、コンピュータ100は、プロセッサ101、入力装置102、表示装置103、通信装置104、及び記憶装置105を、それぞれ1つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよい。
【0099】
また、処理サーバ1は、単一のコンピュータ100により構成されてもよいし、相互に接続された複数のコンピュータ100からなるシステムとして構成されてもよい。
【0100】
さらに、センサ設計支援プログラムは、コンピュータ100の記憶装置105に予め記憶されていてもよいし、コンピュータ100の外部の記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合も、センサ設計支援プログラムをコンピュータ100にインストールして実行することにより、処理サーバ1の機能が実現される。
【0101】
図16は、本発明の実施形態に係るセンサ設計支援方法を実行する処理サーバ1の全体の動作のフローチャートである。
【0102】
データ間特徴量算出部11が、センサ毎にデータ間特徴量テーブルを作成する(A11)。
図17にデータ間特徴量算出部11の詳細な動作フローを示す。データ間特徴量算出部11は、まず、学習データテーブルからn個のセンサのそれぞれのセンサデータ(学習データ)1〜kを取得する(B11)。そして、センサ毎に、k行k列を有し、各セルの初期値をNullとしたデータ間特徴量テーブルを作成する(B12)。データ間特徴量のテーブルはk行k列を持つマトリックスであり、この時点ではマトリクスの各要素はNullである。センサiのj番目の学習データS
i,jとr番目の学習データS
i,rとの間のデータ間特徴量を計算し、計算したデータ間特徴量を、データ間特徴量テーブルの該当セルに格納する(B13)。j=1〜k、r=1〜rとして、すべての学習データの組み合わせについてデータ間特徴量を計算して、該当するセルにデータ間特徴量を格納する。これにより、センサiについてのデータ間特徴量テーブルを完成させる。これをすべてのセンサ(iを1〜nまで順次変更して)について行い、全センサについてそれぞれデータ間特徴量テーブルを生成する。生成した全センサの複数のデータ間特徴量テーブルを、データ処理部12に提供する(B14)
【0103】
次にデータ処理部12が動作する(
図16のA12)。
図18にデータ処理部12の詳細な動作フローを示す。全センサのデータ間特徴量テーブルをデータ間特徴量算出部11から受け取り(C11)、分類ラベルデータ保持部10から分類ラベルデータを取得する(C12)。分類ラベルデータに含まれる各分類ラベルがバイナリ化されていない場合は、分類ラベルをバイナリ化する(C13)。すなわち各分類ラベルを、1または0に変換する。一例として閾値以上の値を1、閾値未満の値を0に変換する。全センサのデータ間特徴量テーブルを行方向に結合することにより、説明変数テーブルを作成する(C14)。説明変数テーブルに対し、列方向(または行方向)に標準化を行う(C15)。例えば、各列について、列に属するセル群の値が、平均0および分散1になるようにする。分類ラベルデータと、説明変数テーブルとを、モデル構築部13に提供する(C16)。
【0104】
次に、モデル構築部13が動作する(
図16のA13)。
図19にモデル構築部13の詳細な動作フローを示す。モデル構築部13が、分類ラベルデータと、説明変数テーブルを受け取る(D11)。説明変数テーブルを行方向に沿って複数に分割する(D12)。例えば10分割する。同様に、説明変数テーブルの分割に対応するように、分類ラベルデータについても同じ数だけ分割する(D12)。例えば学習データIDが1〜100の範囲の場合に、説明変数テーブルを行方向に沿って、k=1〜10、11〜21、・・・、91〜100で10分割し、同様に、分類ラベルデータも、k=1〜10、11〜21、・・・、91〜100で10分割する。分割された説明変数テーブルと、分割された分類ラベルデータとを対応づける。
【0105】
交差検証法を用いて、罰則項のλを決定し、正則化付の誤差関数の最小化問題を解いて、回帰係数βを算出する(D13)。回帰係数βの全要素の中から、非ゼロの回帰係数を選択する(D14)。選択した回帰係数に基づき、センサと学習データとを、それぞれ推奨センサおよび代表データとして決定する(D15)。選択したセンサのセンサID(選択センサID)と、代表データの学習データID(代表データID)と、分類モデルとを、出力情報生成部14に提供する(D16)。出力情報生成部14は、供給されたこれらの情報に基づき、出力情報を生成する。一例として、出力情報は、選択センサIDと、代表データIDと、分類モデルとを含む。出力情報生成部14は、出力情報を入出力装置2の画面に表示してもよい。
【0106】
なお、生成した分類モデルを用いた分類は、
図15と同様の構成を有するコンピュータに分類モデルを搭載することで実施できる。分類モデルを記憶装置105に格納しておき、プロセッサ101が分類モデルを読み出して、実行する。選択センサID(ここでは複数を想定)のセンサを監視対象(MFP等)に取り付け、コンピュータの通信装置104が、複数のセンサからセンサデータを取得し、記憶装置105に格納する。この際、プロセッサ101が、センサごとに、それぞれの代表データIDが示す条件が成立した場合にセンサデータを取得する。プロセッサ101は、これらのセンサから取得したセンサデータに基づき、分類モデルを計算して、監視対象が正常である確率(分類ラベルが1になる確率)を計算する。計算した確率に基づき、正常または異常の判定を行う。一例として、計算した確率が閾値以上であれば、正常、閾値未満であれば、異常と判定する。判定結果を、表示装置103に表示してもよい。また、判定結果を記憶装置105に格納してもよい。プロセッサ101は、判定結果が異常の場合は、通信装置104を介して異常メッセージを、管理者の装置に送信してもよい。また、図示しないスピーカを介して、アラームを鳴らしてもよい。
【0107】
以上、本実施形態によれば、分類問題(異常検知等)に対し、監視対象に取り付けるセンサを、複数のセンサの中から自動で選択することができる。また、選択したセンサからセンサデータを取得する条件を、複数の条件の中から自動で選択できる。また、選択したセンサと、選択した条件の成立に応じて取得するセンサデータとを用いた分類モデル構築を自動で行うことができる。また、これらセンサ選択、条件の選択(代表データの選択)、および分類モデル構築を、一度に行うことができる。よって、効率・精度良く分類モデルを構築できる。選択したセンサのID、代表データID、および分類モデルのそれぞれに関する情報を、設計者に提供することで、設計者のセンサ選択を支援することができる。実際の分類モデルの運用時は、選択したセンサについて、選択した条件が成立した場合にデータを収集すればよいため、センサの個数および収集するデータの個数を減らすことができる。よって、コストを削減でき、分類モデルをコンパクトにできる。また、分類モデルがコンパクトになることにより、実際の運用時に、高速に分類モデルに基づく判定を行うことができる。
【0108】
(第2の実施形態)
本実施形態では、設計者へ、分類モデルの性能と、分類モデルを用いる場合のコストとをユーザインタフェース(UI)を介して、ユーザに提示する。
【0109】
図20は、第2の実施形態に係るセンサ設計支援装置のブロック図である。第1の実施形態との差分を説明し、重複する構成および動作の説明は省略する。
【0110】
センサ設計支援装置は、第1の実施形態の要素に加えて、スペックデータ保持部8、コスト算出部15、情報統合部16を備え、データ処理部12、およびモデル構築部13の動作が一部拡張または変更されている。スペックデータ保持部8は、各センサのスペックデータを含むスペックデータテーブルを保持している。スペックデータテーブルは、設計者が入出力装置を用いてスペックデータ保持部8に登録してもよいし、センサ設計支援装置の通信装置(
図15参照)が、ネットワークを介してスペックデータテーブルを受信して、スペックデータ保持部8に格納してもよい。
【0111】
(各センサのスペックデータ)
図21は、スペックデータテーブルの例を示す。このテーブルは、一例として、各センサについて、下記の項目のスペックデータを含む。
【0112】
・サンプリング周波数[Hz]
・センサ単価[円]
・連続稼働時間[min]
・データ格納に必要なDB容量[B]
・センサ単体の消費電力量[kWh]
【0113】
これらの複数の項目から算出可能な値をスペックデータテーブルに追加してもよい。例えば、連続稼働時間と、消費電力量とから、連続稼働時間の間駆動した場合の合計消費電力量を計算し、合計消費電力量をスペックデータテーブルに追加してもよい。
【0114】
モデル構築部13は、第1の実施形態の動作によって選択したセンサのID(選択センサID)を、コスト算出部15に供給する。
【0115】
出力情報生成部14は、各センサのデータ間特徴量テーブルと、分類ラベルデータとに基づき、モデル構築部13が構築した分類モデルの性能を算出する。使用するデータ間特徴量テーブルと分類ラベルデータは、分類モデルの構築に用いたものと同じでもよいし、これとは異なるものを用いてもよい。
【0116】
分類モデルの性能の指標例を、以下に示す。
・識別率[%]
・処理時間[s]
・分類モデル容量[B]
【0117】
識別率は、その分類モデルで分類(異常有無等の分類)を正しくできる確率(正解率)である。処理時間は、その分類モデルを用いて、異常有無等の判定を行う処理に要する時間である。分類モデル容量は、分類モデルのデータサイズ、および分類モデルへの入力となるセンサデータのサイズのうち、少なくとも前者を含む。処理時間は、構築した分類モデルと、テスト用のセンサデータを用いて、実際に測定してもよいし、モデルの型や入力データのサイズ等から予め定めた方法で見積もってもよい。
【0118】
出力情報生成部14は、算出した性能指標を、情報統合部16へ供給する。また、出力情報生成部14は、モデル構築部13から供給された選択センサID、代表データID、分類モデルも、情報統合部16へ供給する。なお、出力情報生成部14は、第1の実施形態と同様、出力情報を生成して、入出力装置2に供給してもよい。
【0119】
コスト算出部15は、モデル構築部13から供給された選択センサIDに基づき、スペックデータテーブルから、該当するセンサのスペックデータを特定し、特定したスペックデータからコストを算出する。コストの指標として、以下の例が考えられる。
・設置コスト[円]
・運用コスト[円]
・必要DB容量[B]
・合計消費電力量[kWh]
【0120】
設置コストは、例えば、センサの購入費用、取り付け費用などを含む。運用コストは、一例として、定期点検、交換の費用などを含む。必要DB容量は、センサにより取得されたセンサデータを記憶するための記憶容量である。合計消費電力量は、選択したセンサすべての合計消費電力量である。運用コストをある期間(例えば5年など)で総和したトータルコストを算出してもよい。
【0121】
コスト算出部15は、選択したセンサのスペックデータと、算出したコストとを、情報統合部16に供給する。
【0122】
情報統合部16は、選択センサID、代表データID、分類モデル、性能、コスト、スペックデータに基づき、統合評価データを生成する。統合評価データは、例えばコストを横軸、性能を縦軸にしたグラフを含む。また、統合評価データは、選択センサのコストや性能に関するデータを含む。情報統合部16は、統合評価データを、入出力装置2に供給する。入出力装置2は、統合評価データを画面に表示する。
【0123】
図22に、統合評価データの表示例を示す。統合評価データがグラフィカルに表示されている。図における“モデル1”は、本実施形態に従って生成された分類モデルである。この例では、選択されたセンサは、センサ1とセンサn(図における“S
1”と“S
n”)である。センサ1の代表データの個数は2、センサnの代表データの個数は1である。
【0124】
左側のグラフの横軸は、コストを表す。コストは、設置コスト、運用コストのトータルコスト、センサ電力の3つの中から選択可能になっている。図では、トータルコストが選択されている。また、縦軸は性能を表す。性能は、処理時間、識別率、分類モデル容量の3つの中から選択可能になっている。図では、識別率が選択されている。
【0125】
表示画面には、横軸項目および縦軸項目の選択をそれぞれ行うためのユーザインタフェース(UI)が備えられている。設計者は、UIを介して、項目の選択を行うことができる。項目を変更することで、表示内容を更新できる。
【0126】
設計者による選択の指示は、入出力装置2から情報統合部16に送られ、情報統合部16は、当該指示に応じた統合評価データを再生成して、入出力装置2に送る。情報統合部16は、変更のある箇所のみ統合評価データを変更してもよいし、統合評価データ全体を再生性してもよい。
【0127】
(第3の実施形態)
本実施形態は、分類モデル構築に関わる動作に、設計者の指定した条件を反映させる仕組みを導入する。
【0128】
図23に、本実施形態に係るセンサ設計支援装置を備えたシステムのブロック図である。第2の実施形態のセンサ設計支援装置に、制御部17が追加されている。制御部17は、設計者から入出力装置2を介して入力される制御パラメータデータに基づいて、装置内のブロックの動作を制御する。設計者は、制御パラメータデータを設定することにより、設計者の意図を分類モデル構築等に反映させることができる。
【0129】
例えば、ある価格以下の安価なセンサのみで、異常検知または状態監視等を行いたい場合に、これらの条件を指定する制御パラメータデータを入力して、この条件を満たす分類モデルを構築できる。また、2つ以上の分類モデルを異なる条件で構築し、それぞれ性能とコストを比較することができる。
【0130】
また、制御部17は、制御パラメータデータに記述された条件を、情報統合部16に提供し、情報統合部16は、この条件を含む画面データを生成して、入出力装置2の画面に表示してもよい。これにより、設計者は、自分が指定した条件が画面でも分かる。
【0131】
以下、制御パラメータデータの具体例を示す。以下で説明する制御パラメータデータは、任意に組み合わせることも可能である。
【0132】
(第1の具体例)
設計者の意図によっては、できるだけサンプリング周波数(例えばセンサデータが時系列データの場合)が低い安価なセンサで、異常検知または状態監視を行いたい場合もある。
【0133】
その場合、設計者は、以下のように許容できる性能(例えば、識別率または処理時間またはこれらの両方等)を指定した条件を、制御パラメータデータに設定する。制御パラメータデータで指定する条件の例を以下に2つ示す。条件AおよびBのいずれか一方のみを指定しても、両方を指定してもよい。条件Aは識別率が80%以上になることを定めている。条件Bは処理時間が3秒以下になることを定めている。
[条件A]識別率>=80[%]
[条件B]処理時間<=3[秒]
【0134】
モデル構築部13は、制御パラメータデータで指定された条件を満たすように、できるだけ低いサンプリング周波数のセンサを選択する。制御パラメータデータで指定する条件は、最適化問題(最小化問題)を解く際の制約条件として機能する。使用した制約条件は、統合評価データの画面に配置してもよい(
図22参照の右下を参照)。これにより、設計者に、より安価なセンサを使用可能かの判断を支援するための情報を提供できる。
【0135】
(第2の具体例)
製品のスペック等により、使用するセンサまたはその性能を制限したい場合がある。その場合、下記のような条件を制御パラメータデータに設定することで、使用したい性能(例えばサンプリング周波数)、使用したいセンサ、または、使用したい学習データIDを考慮して、分類モデル構築を行うことができる。条件C〜Eのうちの1つを指定しても、2つまたは3つの条件の組合せを指定してもよい。
[条件C]サンプリング周波数=100[Hz]
[条件D]使用センサID=2,4,…,100
[条件E]学習データID=1,5,..,k
【0136】
条件Cのようにサンプリング周波数の条件を指定した場合の動作例を示す。制御部17は、データ処理部12に接続し、データ処理部12が取得した各センサのスペックデータを参照する。制御部17は、制御パラメータデータで記述されたサンプリング周波数を満たさないセンサを選択しないよう、モデル構築部13の動作を制御する。モデル構築部13の動作を制御する代わりに、説明変数テーブルから、選択しないセンサに関する値を削除するよう、データ処理部12を制御してもよい。また、条件Dのように使用したいセンサIDを直接指定した場合、または条件Eのように学習データIDを直接指定した場合も同様にして、これらの条件を満たすように、モデル構築部13等の動作を制御する。
【0137】
(第3の具体例)
設計者の意図によっては、あらかじめ分類モデルで用いたいセンサが存在する場合がある。その場合、以下のような条件を、制御パラメータデータに設定することも可能である。制御部17は、少なくとも制御パラメータデータで指定されたセンサが選択されるように、モデル構築部13の動作を制御する。
[条件F]必要センサID=1
【0138】
(第4の具体例)
設計者の意図によっては、コストの制約を課したい場合がある。その場合、例えば、以下のような条件を、制御パラメータデータに設定することも可能である。
[条件G]トータルコスト<3百万
【0139】
ここではトータルコストの例を示したが、制約を課すコストは、センサ毎の設置コストまたはこれらの合計でもよい。または、センサ毎の消費電力またはこれらの合計でもよい。
【0140】
(第5の具体例)
設計者の意図によっては複数の分類モデルを比較したい場合もある。そのために以下のように、分類モデル数の条件と、各分類モデルの条件とを制御パラメータデータに設定することも可能である。
[条件G]複数分類モデル数=2
各分類モデルの条件
【0141】
分類モデルの条件として、第1〜第3の具体例で示した条件を用いてもよい。また、これらとは異なる条件として、分類モデルの関数型を、分類モデルごとに変更してもよいし、同じ関数型としつつ目的関数を分類モデルごとに変更してもよいし、その他の条件を分類モデルごとに変更してもよい。
【0142】
第5の具体例の動作例として、制御部17は、制御パラメータデータに設定された条件に従って、各分類モデルについて、センサと代表データの選択、分類モデルの構築、性能・コストの算出を行うよう制御する。そして、情報統合部16で、分類モデル間を比較可能な統合評価データを生成してもよい。
【0143】
図24に、第5の具体例に係る統合評価データの表示例を示す。3つの分類モデル、“フルモデル”、“モデル1”、モデル2“についてそれぞれグラフが描かれている。グラフの横軸および縦軸は、
図22と同様に、それぞれ項目が選択可能である。“フルモデル”は、すべてのセンサおよびすべてのセンサデータを使用する、通常の分類モデル(すなわち、従来の方法で生成した分類モデル)である。“モデル1”および“モデル2”は、本発明の実施形態に従って、それぞれ異なる条件で生成したモデルである。例えばモデルは、罰則項として式(4)を用いて生成した分類モデルであり、モデル2は罰則項として式(6)を用いて生成した分類モデルでもよい。図の右上には、分類モデル別に識別率とトータルコストが表したテーブルが配置されている。このテーブルの各行は、設計者が入出力装置2を介して、選択できるようになっている。設計者が選択した行の分類モデルに関連する情報が、図の右下に表示される。図では、分類モデル1を選択した場合の情報が示されている。具体的には、選択センサ、代表データ、サンプリング周波数、設置コストが表示されている。
【0144】
(第4の実施形態)
これまでの実施形態では、センサ1〜nの全部または一部のデータ間特徴量テーブルを結合した説明変数テーブル(
図12参照)を生成したが、1つ1つのセンサのデータ間特徴量テーブルを対象として、分類モデルを作成してもよい。この場合、センサの個数分、分類モデルを生成できる。各センサの分類モデルの中から、識別率の高いものから1つ以上の分類モデルを選択し、選択した分類モデルに対応するセンサを選択する識別率は、その分類モデルで異常有無等の分類を正しくできる確率(正解率)である。ユーザが指定した目標の性能に達するまで識別率の高い分類モデルから優先的に分類モデルを選択する。例えば、選択した分類モデルで分類(正常または異常の判定)を行い、多数決で多い方の分類結果(判定結果)を採用する場合に、判定結果が正解の確率が、ユーザが指定した目標の性能に達するまで、分類モデルを識別率の高いものから1つずつ追加することを繰り返し行う。なお、正常の判定結果数と、異常の判定結果数が同数の場合は、正常の判定結果を下した分類モデルが出力した確率の平均または最大値等と、異常の判定結果を下した分類モデルが出力した確率の平均または最大値等とを比較し、大きい方の判定結果を採用してもよい。
【0145】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。