(57)【要約】【課題】事前学習なしに、未知の複数次元のベクトルデータ群をクラス分類することができるプログラム、装置及び方法を提供する。【解決手段】複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定するクラスタ数推定手段と、複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力するクラス分類手段としてコンピュータを機能させる。特に、クラスタ数推定手段は、ＤＢＳＣＡＮに基づくものである。また、クラス分類手段は、ニューラルネットワークにおける出力層の活性化関数として、ソフトマックス関数を用いて、合計確率１とするクラス毎の分類確率を出力するものである。更に、クラスタ数推定手段の前段にあって、複数次元のベクトルデータ群を次元圧縮する次元圧縮手段を更に有するものであってもよい。【選択図】図２
2019139651.tif 000002
【特許請求の範囲】
【請求項１】
複数次元のベクトルデータ群をクラス分類する装置に搭載されたコンピュータを機能させるプログラムであって、
複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定するクラスタ数推定手段と、
複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力するクラス分類手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記クラスタ数推定手段は、ＤＢＳＣＡＮ(Density-Based Spatial Clustering of Applications with Noise)に基づくものである
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記クラス分類手段は、前記ニューラルネットワークにおける出力層の活性化関数として、ソフトマックス関数を用いて、合計確率１とするクラス毎の分類確率を出力する
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記クラスタ数推定手段の前段にあって、複数次元のベクトルデータ群を次元圧縮する次元圧縮手段を更に有し、
前記次元圧縮手段から出力された低次元ベクトルデータ群を、前記クラスタ数推定手段へ入力する
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記次元圧縮手段は、ｔ−ＳＮＥ(t-Distributed Stochastic Neighbor Embedding)に基づくものであり、
前記低次元ベクトルデータ群は、２次元又は３次元のベクトルデータ群である
ようにコンピュータを機能させることを特徴とする請求項４に記載のプログラム。
【請求項６】
複数次元のベクトルデータ群は、複数のセンサから出力されたベクトルデータを混在させたものである
ようにコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
前記クラス分類手段によって最も高い分類確率となるクラスのラベルを、当該複数次元のベクトルデータに付与することによって、教師データを生成する教師データ生成手段と
してコンピュータを更に機能させることを特徴とする請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
複数次元のベクトルデータ群をクラス分類する装置であって、
複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定するクラスタ数推定手段と、
複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力するクラス分類手段と
を有することを特徴とする装置。
【請求項９】
複数次元のベクトルデータ群を入力する装置のクラス分類方法であって、
前記装置は、
複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定する第１のステップと、
複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力する第２のステップと
を実行することを特徴とする装置のクラス分類方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数次元のベクトルデータ群をクラス分類する技術に関する。
【背景技術】
【０００２】
近年、ＩｏＴ(Internet of Things)用のセンサの小型化及び高精度化に伴って、サーバは、ネットワークを介して大量のセンサデータを収集することができる。また、ニューラルネットワークの普及に伴って、それらビッグデータも容易に分析することができる。更に、これまで人手に基づく各種モニタリング業務も、システムによって自動化され、一元的に管理されてきている。例えば人の行き来が困難な地域（山間部や、インフラ設備（橋や鉄塔、柵等）、野生動物監視）であっても、環境センサを配置することによって、遠隔からのリモート監視も可能となってきている。
【０００３】
一方で、ビッグデータの分析という観点からは、センサデータ自体が統一的なフォーマットで構成されていない。そのために、ニューラルネットワークを用いたとしても、分析結果の信頼性の確保が難しく、データの共有化が進みにくいという問題もある。特に、センサデータが多種多様且つ大量になってくるほど、多数次元のベクトルデータを正常状態と異常状態とに分類することは難しくなる。
【０００４】
従来、機械設備に設置されたセンサからセンサデータを取得し、異常予兆の有無を診断する技術がある（例えば特許文献１参照）。この技術によれば、正常期間のセンサデータの時系列的な波形から正常モデルを学習し、運転期間のセンサデータを正常モデルと比較して、機械設備の異常予兆の有無を診断する。正常モデルは、統計的分類手法のクラスタリングによって、正常期間のセンサデータから生成されたクラスタによって構成される。クラスタとは、多次元ベクトル空間における中心及び半径で特定される領域である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−０３３４７０号公報
【非特許文献】
【０００６】
【非特許文献１】「t-SNE を用いた次元圧縮方法のご紹介」、[online]、［平成２９年１２月９日検索］、インターネット＜URL:https://blog.albert2005.co.jp/2015/12/02/tsne/＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図１は、未知のビッグデータの分析における課題を表す説明図である。
【０００８】
図１によれば、特許文献１に記載の技術も同様に、正常期間におけるセンサデータから事前学習を必要するものである。そのために、多種多様且つ大量であって未知の多数次元のベクトルデータを、事前学習なしに分類することは困難であった。
また、クラスタリングによってクラスタに分類して学習しているが、クラスタ数を予め指定しなければならない。このクラスタ数は、学習モデルの精度にも影響を与えるものであるために、未知のデータに対して予めクラスタ数を決定することは極めて難しい。
【０００９】
そこで、本発明は、事前学習なしに、未知の複数次元のベクトルデータ群をクラス分類することができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によれば、複数次元のベクトルデータ群をクラス分類する装置に搭載されたコンピュータを機能させるプログラムであって、
複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定するクラスタ数推定手段と、
複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力するクラス分類手段と
してコンピュータを機能させることを特徴とする。
【００１１】
本発明のプログラムにおける他の実施形態によれば、
クラスタ数推定手段は、ＤＢＳＣＡＮ(Density-Based Spatial Clustering of Applications with Noise)に基づくものである
ようにコンピュータを機能させることも好ましい。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
クラス分類手段は、ニューラルネットワークにおける出力層の活性化関数として、ソフトマックス関数を用いて、合計確率１とするクラス毎の分類確率を出力する
ようにコンピュータを機能させることも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
クラスタ数推定手段の前段にあって、複数次元のベクトルデータ群を次元圧縮する次元圧縮手段を更に有し、
次元圧縮手段から出力された低次元ベクトルデータ群を、クラスタ数推定手段へ入力する
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明のプログラムにおける他の実施形態によれば、
次元圧縮手段は、ｔ−ＳＮＥ(t-Distributed Stochastic Neighbor Embedding)に基づくものであり、
低次元ベクトルデータ群は、２次元又は３次元のベクトルデータ群である
ようにコンピュータを機能させることも好ましい。
【００１５】
本発明のプログラムにおける他の実施形態によれば、
複数次元のベクトルデータ群は、複数のセンサから出力されたベクトルデータを混在させたものである
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
クラス分類手段によって最も高い分類確率となるクラスのラベルを、当該複数次元のベクトルデータに付与することによって、教師データを生成する教師データ生成手段と
してコンピュータを更に機能させることも好ましい。
【００１７】
本発明によれば、複数次元のベクトルデータ群をクラス分類する装置であって、
複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定するクラスタ数推定手段と、
複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力するクラス分類手段と
を有することを特徴とする。
【００１８】
本発明によれば、複数次元のベクトルデータ群を入力する装置のクラス分類方法であって、
装置は、
複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定する第１のステップと、
複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力する第２のステップと
を実行することを特徴とする。
【発明の効果】
【００１９】
本発明のプログラム、装置及び方法によれば、事前学習なしに、未知の複数次元のベクトルデータ群をクラス分類することができる。
【図面の簡単な説明】
【００２０】
【図１】未知のビッグデータの分析における課題を表す説明図である。
【図２】本発明における分析装置の機能構成図である。
【図３】次元圧縮部を表す説明図である。
【図４】クラスタ推定部及びクラス分類部を表す説明図である。
【発明を実施するための形態】
【００２１】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２２】
図２は、本発明における分析装置の機能構成図である。
【００２３】
分析装置１は、未知の複数次元のベクトルデータ群をクラス分類するものである。図２によれば、分析装置１は、ベクトルデータ群蓄積部１００と、次元圧縮部１０１と、クラスタ数推定部１１と、クラス分類部１２と、教師データ生成部１３とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、ベクトルデータ群のクラス分類方法としても理解できる。
【００２４】
［ベクトルデータ群蓄積部１００］
ベクトルデータ群蓄積部１００は、未知の複数次元のベクトルデータ群を蓄積している。「複数次元」とは、複数のセンサから出力されたベクトルデータを混在させたものであることを意味する。
複数次元のベクトルデータ群としては、例えば動体センサ（加速度センサや地磁気センサなど）、生体センサ（心拍センサなど）、環境センサ（温湿度センサ、気圧センサ、圧力センサなど）、光センサ（超音波センサや赤外線センサなど）、音響センサのような様々なベクトルデータを混在させることができる。本発明によれば、それらベクトルデータ群を時系列に取得することができれば、正常時と異常時とを大まかに判定することができる。
【００２５】
［次元圧縮部１０１］
次元圧縮部１０１は、オプション的なものであって、クラスタ数推定部１１の前段にあって、複数次元のベクトルデータ群を次元圧縮する。次元圧縮部１０１は、次元圧縮した低次元ベクトルデータ群を、クラスタ数推定部１１へ出力する。ここでの低次元ベクトルデータ群とは、２〜３次元程度のベクトルデータ群を意味する。
【００２６】
図３は、次元圧縮部を表す説明図である。
【００２７】
次元圧縮部１０１は、ｔ−ＳＮＥ(t-Distributed Stochastic Neighbor Embedding)に基づくものである（例えば非特許文献１参照）。これは、２点間の「近さ」を確率分布で表現する手法である。
【数１】
2019139651.tif 000003
ｐij：ｘiからｘjの近さを表す同時分布
ｐj|i：平均ｘiに従うガウス分布についてｘjが抽出される確率密度
σi2：平均ｘiのガウス分布の分散（異なる2点の類似度のみを表す）
ｐi|i＝0
【数２】
2019139651.tif 000004
次元削減後も元のデータ構造を完全に再現できていれば、ｐij＝ｑijとなる。そのために、ｔ−ＳＮＥでは、ｐijとｑijとの誤差がなるべく小さくなるように次元削減を目指す。
ｔ−ＳＮＥでは、分布間の距離を測る指標として、カルバック・ライブラー・ダイバージェンス(Kullback-Leibler-divergence)を用いる。
【数３】
2019139651.tif 000005
ｔ−ＳＮＥでは、ｐjiとｑjiとを用いて目的関数Ｃを最小化する。解析的に最小解を求めることができないので、勾配法を用いる。
【数４】
2019139651.tif 000006
収束した後のＹ＝｛ｙ1，ｙ2，・・・，ｙn｝が、出力される。次元圧縮により、高次元データを人間が視覚的に把握することができる。
【００２８】
図４は、クラスタ推定部及びクラス分類部を表す説明図である。
【００２９】
［クラスタ数推定部１１］
クラスタ数推定部１１は、複数次元のベクトルデータ群をクラスタリングすることによって、クラスタ数ｋを推定する。
クラスタ数推定部１１は、ＤＢＳＣＡＮ(Density-Based Spatial Clustering of Applications with Noise)に基づくものである。ＤＢＳＣＡＮは、クラスタ数を予め設定する必要がないために、クラスタ数を未知として、ベクトルデータ群の分類が可能となる。
【００３０】
ＤＢＳＣＡＮは、密度ベースのクラスタリング方法であり、以下の２つのパラメータを用いる。
距離の閾値    ：ε(Eps-neighborhood of a point)
対象個数の閾値：minPts(a minimum number of points)
データの点を、以下の３つの種類に分類する。
コア点    ：半径ε以内に少なくともminPts個の隣接点を持つ点
到達可能点：半径ε以内にminPts個ほどは隣接点がないが、
半径ε以内にCore pointsを持つ点
外れ値    ：半径ε以内に隣接点がない点
コア点の集まりからクラスタを作成し、到達可能点を各クラスタに割り当てる。
即ち、ＤＢＳＣＡＮは、ある空間に点集合が与えられたとき、高い密度領域にある点同士をグループとしてまとめて、低い密度領域にある点を外れ値とする。
そして、クラスタ数推定部１１は、ＤＢＳＣＡＮによって、最適なクラスタ数ｋを推定し、それをクラス分類部１２へ出力する。
【００３１】
［クラス分類部１２］
クラス分類部１２は、複数次元のベクトルデータを、出力層をクラスタ数ｋとするニューラルネットワークに入力し、ｋ個のクラス毎の分類確率を出力する。クラスタ数ｋは、クラスタ数推定部１１によって推定されたものである。
【００３２】
クラス分類部１２は、全結合型のニューラルネットワークにおける出力層の活性化関数として、ソフトマックス関数を用いて、合計確率１とするクラス毎の分類確率を出力する。
【００３３】
ニューラルネットワークとは、生体の脳における特性を計算機上のシミュレーションによって表現することを目指した数学モデルをいう。シナプスの結合によってネットワークを形成した人工ニューロン（ユニット）が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般をいう。
【００３４】
図４によれば、順伝播型の畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)として、入力層(input layer)と、中間層(hidden layer)と、出力層(output layer)との３つの層から構成され、入力層から出力層へ向けて一方向に伝播する。中間層は、グラフ状に複数の層から構成するものであってもよい。各層は、複数のユニット（ニューロン）を持ち、前方層のユニットから後方層のユニットへつなぐ関数のパラメータを、「重み(weight)」と称す。学習とは、この関数のパラメータとして、適切な「重み」を算出することにある。
【００３５】
本発明のニューラルネットワークは、分類問題（データがどのクラスに属するかを判別）としてソフトマックス関数を適用する。出力層が全部でｋ個あるとして、ｍ番目の出力ｙmを、以下のように表す。
ｙm＝exp(ｘm)／Σi=1kexp(ｘi)
exp(ｘ)：ｅｘを表す指数関数（eは2.7182・・・のネイピア数）
ｘm：入力信号
【００３６】
ソフトマックス関数の出力は、全ての入力信号から矢印による結びつきがある。出力の各ニューロンが全ての入力信号ｘmから影響を受ける。
また、ソフトマックス関数の出力の総和は１となり、その性質によりソフトマックス関数の出力を「確率」として解釈することができる。この確率の結果から、どのクラスに属するかと判断することができる。
ソフトマックス関数により判別されたクラスは、未知の複数センサデータのクラスとなる。
【００３７】
但し、本発明によれば、クラス分類手法として、教師有り学習のサポートベクターマシン(Support Vector Machine)のようなパターン認識モデルは使用しない。本発明によれば、教師無し学習としてクラス分類するためである。
【００３８】
［教師データ生成部１３］
教師データ生成部１３は、クラス分類部１２によって最も高い分類確率となるクラスのラベルを、当該複数次元のベクトルデータに付与することによって、教師データを生成する。その教師データは、教師データ蓄積部に蓄積することによって、教師有り学習モデルへ適用することもできる。
【００３９】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、事前学習なしに、未知の複数次元のベクトルデータ群をクラス分類することができる。
【００４０】
本発明によれば、汎用的に、多種多様且つ大量であって未知の多数次元のベクトルデータを、事前学習なしに分類することができる。また、クラスタリングの際に、学習モデルの精度にも影響を与えるクラスタ数ｋを予め指定する必要もない。この点も、未知の多数次元のベクトルデータに対する分類に適する。
【００４１】
更に、本発明によれば、未知の複数次元のベクトルデータ群をクラス分類することができるので、多種多様なセンサデータを混在させることもできる。
例えば動体センサをインフラ設備（例えば橋や鉄塔、柵等）に設置して、そのセンサデータ群を、例えば正常状態と異常状態とに大まかに分類することもできる。
また、例えば動体センサや生体センサを人や動物に装着することによって、そのセンサデータ群を、例えば人や動物の行動把握（走る、歩く、静止等）に分類することもできる。
更に、例えば環境センサや光センサ、音響センサを、既存の機械設備に装着することによって、そのセンサデータ群を、例えば正常状態と異常状態とに大まかに分類することもできる。
【００４２】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００４３】
１  分析装置
１００  ベクトルデータ群蓄積部
１０１  次元圧縮部
１１  クラスタ数推定部
１２  クラス分類部
１３  教師データ生成部
【図１】
2019139651.tif 000007
【図２】
2019139651.tif 000008
【図３】
2019139651.tif 000009
【図４】
2019139651.tif 000010