(57)【要約】【課題】ユーザの生体情報及び行動情報の少なくとも一方に基づいてユーザの状態を適切に推定することが可能な状態推定装置を提供する。【解決手段】状態推定装置（１）は、ユーザの生体情報及び行動情報の少なくとも一方に関する第１入力データを取得する取得手段（１２０）と、第１入力データに基づいて、ユーザの状態を推定する推定動作を行う推定手段（１２３）とを備え、推定手段は、ユーザの生体情報及び行動情報の少なくとも一方に関し且つユーザの状態を示す正解データが関連付けられていない第２入力データのうちの第１データ部分と第２入力データのうちの第１データ部分とは異なる第２データ部分とを用いて、推定動作の内容を最適化するための学習処理を繰り返し行う。【選択図】図１
2019191644.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの生体情報及び行動情報の少なくとも一方に関する第１入力データを取得する取得手段と、
前記第１入力データに基づいて、前記ユーザの状態を推定する推定動作を行う推定手段と
を備え、
前記推定手段は、前記ユーザの生体情報及び行動情報の少なくとも一方に関し且つ前記ユーザの状態を示す正解データが関連付けられていない第２入力データのうちの第１データ部分と前記第２入力データのうちの前記第１データ部分とは異なる第２データ部分とを用いて、前記推定動作の内容を最適化するための学習処理を繰り返し行う
状態推定装置。
【請求項２】
前記推定手段は、前記学習処理が行われる都度、行われた前記学習処理の結果に基づいて前記第２入力データから前記第１及び第２データ部分に新たに設定し、その後、新たに設定された前記第１及び第２データ部分を用いて、前記推定動作の内容を最適化する動作を含む前記学習処理を再度行う
請求項１に記載の状態推定装置。
【請求項３】
前記推定手段は、前記第１入力データに基づいて、前記ユーザの状態が２つのクラスのいずれに属するかを推定し、
前記学習処理は、前記第１及び第２データ部分を用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含み、
前記推定手段は、前記学習処理が行われる都度、前記第２入力データのうち前記２つのクラスの一方に分類されたデータ成分から構成されるデータ部分を新たな前記第１データ部分に設定し且つ前記第２入力データのうち前記２つのクラスの他方に分類されたデータ成分から構成されるデータ部分を新たな前記第２データ部分に設定し、その後、新たに設定された前記第１及び第２データ部分を用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含む前記学習処理を再度行う
請求項１又は２に記載の状態推定装置。
【請求項４】
前記推定手段は、前記第１入力データに基づいて、前記ユーザの状態が２つのクラスのいずれに属するかを推定し、
前記学習処理は、（ｉ）前記第１及び第２データ部分から、前記第１データ部分のうちの第１部分と前記第２データ部分のうちの第２部分とを含む第１混合データ、及び、前記第１データ部分のうちの前記第１部分とは異なる第３部分と前記第２データ部分のうちの前記第２部分とは異なる第４部分とを含む第２混合データを生成し、（ｉｉ）前記第１及び第２混合データを用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含む
請求項１から３のいずれか一項に記載の状態推定装置。
【請求項５】
前記推定手段は、前記学習処理が行われる都度、前記第２入力データのうち前記２つのクラスの一方に分類されたデータ成分から構成されるデータ部分を新たな前記第１データ部分に設定し且つ前記第２入力データのうち前記２つのクラスの他方に分類されたデータ成分から構成されるデータ部分を新たな前記第２データ部分に設定し、その後、新たに設定された前記第１及び第２データ部分を用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含む前記学習処理を再度行う
請求項４に記載の状態推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ユーザの状態を推定可能な状態推定装置の技術分野に関する。
【背景技術】
【０００２】
特許文献１には、複数の単語を関連する単語同士のグループに分類する分類装置が記載されている。特に、特許文献１に記載された分類装置は、複数の単語の夫々をクラスタリング手法で求めた複数のクラスのいずれかに一旦分類し、分類された単語が分類先のクラスに属する尤度に基づいて複数の単語の夫々を複数のクラスのいずれかに分類し直す動作を繰り返している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１２０５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
発明者等は、人間の生体情報（更には、行動情報、以下同じ）に基づいて人間の状態（例えば、眠気等）を推定可能な状態推定装置の開発を進めている。つまり、発明者等は、人間の生体情報に基づいて、ある生体情報が観察された人間の状態を、複数の状態（つまり、複数のグループ又は複数のクラス）のいずれかに分類可能な状態推定装置の開発を進めている。しかしながら、人間の生体情報は、人間の状態との間の相関が相対的に少ないノイズ情報を相対的に多く含んでいるという特徴を有する。更には、同じ状態にある別々の人間からは、同じクラスに分類されるべき同じような生体情報が観察されることがクラスタリングの観点からは好ましいところ、現実的には、違うクラスに分類されてしまうような全く違う生体情報が観察されることもある。更には、違う状態にある同じ人間からは、違うクラスに分類されるべき違う生体情報が観察されることがクラスタリングの観点からは好ましいところ、現実的には、同じクラスに分類されてしまう同じような生体情報が観察されることもある。つまり、人間の生体情報は、人間の生体情報をクラスタリングした場合に得られる複数のクラスの間でのオーバーラップが発生しやすいという特徴を有している。
【０００５】
このため、このような特徴を有する生体情報に基づいて人間の状態を推定可能な状態推定装置に対して、特許文献１に記載された分類装置が採用している分類方法を採用しても、生体情報を適切にクラスタリングすることが困難であり、結果として、人間の状態を適切に推定することができないという技術的問題が生ずる。
【０００６】
本発明が解決しようとする課題には上記のようなものが一例としてあげられる。本発明は、ユーザの生体情報及び行動情報の少なくとも一方に基づいてユーザの状態を適切に推定することが可能な状態推定装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の状態推定装置の一の態様は、ユーザの生体情報及び行動情報の少なくとも一方に関する第１入力データを取得する取得手段と、前記第１入力データに基づいて、前記ユーザの状態を推定する推定動作を行う推定手段とを備え、前記推定手段は、前記ユーザの生体情報及び行動情報の少なくとも一方に関し且つ前記ユーザの状態を示す正解データが関連付けられていない第２入力データのうちの第１データ部分と前記第２入力データのうちの前記第１データ部分とは異なる第２データ部分とを用いて、前記推定動作の内容を最適化するための学習処理を繰り返し行う。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態の状態推定装置の構成を示すブロック図である。
【図２】図２は、推定動作の流れを示すフローチャートである。
【図３】図３は、心電位の波形信号を示すグラフである。
【図４】図４は、波形信号から特定可能なＲＲＩを示す波形図である。
【図５】図５は、学習動作の流れを示すフローチャートである。
【図６】図６は、図５のステップＳ２６における係数パラメータαを最適化するための学習処理の流れを示すフローチャートである。
【図７】図７（ａ）から図７（ｅ）の夫々は、特徴量ベクトル空間内での特徴量の分布を示すグラフである。
【図８】図８は、正解データが関連付けられた特徴量を含む学習データを用いて、教師あり学習で係数パラメータが最適化された場合における眠気度の推定に関するＦ値、ラベルなしデータを用いてＵＵ学習を１回だけ行うことで係数パラメータが最適化された場合における眠気度の推定に関するＦ値、及び、ラベルなしデータを用いてＵＵ学習を複数回繰り返すことで係数パラメータが最適化された場合における眠気度の推定に関するＦ値を示すグラフである。
【発明を実施するための形態】
【０００９】
以下、状態推定装置の実施形態について説明する。以下では、本発明の状態推定装置の一実施形態として、車両のドライバの心電波形に基づいて、ドライバの眠気度を推定することが可能な状態推定装置１について説明する。尚、ドライバは、後述する付記における「ユーザ」の一具体例である。
【００１０】
（１）状態推定装置１の構成
はじめに、図１を参照しながら、本実施形態の状態推定装置１の構成について説明する。図１は、本実施形態の状態推定装置１の構成を示すブロック図である。
【００１１】
図１に示すように、状態推定装置１は、心電位センサ１１と、演算装置１２と、記憶装置１３と、表示装置１４と、通信装置１５と、操作装置１６とを備える。
【００１２】
心電位センサ１１は、ドライバの心電位（つまり、心臓が発する電気信号）を検出可能な心電計である。心電位センサ１１による心電位の検出方法は、どのような方法であってもよい。心電位センサ１１は、例えば、ドライバの胸部に取り付け可能なウェアラブルセンサであるが、車両に固定されていてもよい。心電位センサ１１の検出結果（つまり、心電位の時間波形を示す波形信号）は、演算装置１２に出力される。
【００１３】
演算装置１２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の情報処理装置である。演算装置１２は、心電位センサ１１から出力される波形信号に基づいて、ドライバの眠気度を推定する。具体的には、演算装置１２は、ドライバが、眠気ありの状態にあるか又は眠気なしの状態にあるか（つまり、覚醒した状態にあるか）を推定する。眠気度を推定するために、演算装置１２は、演算装置１２の内部に論理的に構築される処理ブロックとして、後述する付記における「取得手段」の一具体例である入力インタフェース部１２０と、フィルタ部１２１と、特徴抽出部１２２と、後述する付記における「推定手段」の一具体例である状態推定部１２３と、学習データ生成部１２４と、運転判定部１２５とを備える。入力インタフェース部１２０は、心電位センサ１１から、心電位センサ１１から出力される波形信号を取得する。フィルタ部１２１は、入力インタフェース部１２０が取得した波形信号に対して、フィルタリング処理を施す。特徴抽出部１２２は、フィルタリング処理が施された波形信号の特徴量を抽出する。状態推定部１２３は、特徴抽出部１２２が抽出した特徴量に基づいて、ドライバの眠気度を推定するための推定動作を行う。状態推定部１２３は、更に、推定動作の内容を規定する係数パラメータα（詳細は、後述する）を最適化するための学習動作を行う。学習データ生成部１２４は、特徴抽出部１２２が抽出した特徴量に基づいて、状態推定部１２３が学習動作を行う際に利用する学習データＤＬを生成する。学習データＤＬは、ラベルなしデータＤＬＵ及び覚醒データＤＬＰという２種類のデータを含む。ラベルなしデータＤＬＵ及び覚醒データＤＬＰの詳細については、後に詳述する。運転判定部１２５は、ドライバが車両を運転しているか否かを判定する。
【００１４】
記憶装置１３は、ハードディスクや、フラッシュメモリ等の記録媒体である。記憶装置１３は、状態推定装置１の動作に関連する任意のデータを記憶する。特に、記憶装置１３は、学習動作によって最適化された係数パラメータα及び学習動作に用いられる学習データＤＬを記憶する。その他、記憶装置１３は、推定動作によって推定された眠気度を示すデータや、波形信号を示すデータや、抽出された特徴量を示すデータ等を記憶してもよい。尚、状態推定装置１は、記憶装置１３に加えて又は代えて、通信装置１５を介して状態推定装置１との間でデータの送受信が可能な外部記憶装置を備えていてもよい。
【００１５】
表示装置１４は、状態推定装置１の動作に関連する任意の表示動作を行う。例えば、表示装置１４は、演算装置１２によるドライバの眠気度の推定結果を表示する。
【００１６】
通信装置１５は、状態推定装置１と外部の装置との間でのデータの送受信を制御する。例えば、通信装置１５は、状態推定装置１と外部の装置との間での、記憶装置１３が記憶しているデータの送受信を制御する。
【００１７】
操作装置１６は、状態推定装置１の動作に関連するドライバ（或いは、状態推定装置１を使用する任意のユーザ）の操作の入力を受け付ける。例えば、操作装置１６は、推定動作の開始及び終了を要求するための操作の入力を受け付ける。
【００１８】
状態推定装置１は、上述した演算装置１２、記憶装置１３、表示装置１４、通信装置１５及び操作装置１６を備える携帯端末（例えば、スマートフォン等）である。この場合、ドライバが携帯端末を保持したまま車両に乗車すれば、車両を運転しているドライバの眠気度が推定される。但し、状態推定装置１は、上述した演算装置１２、記憶装置１３、表示装置１４、通信装置１５及び操作装置１６を備えている限りは、このような携帯端末とは異なる形態を有していてもよい。
【００１９】
（２）状態推定装置１の動作
続いて、状態推定装置１の動作について説明する。上述したように、状態推定装置１は、ドライバの眠気度を推定するための推定動作及び係数パラメータαを最適化する（つまり、推定動作の内容を最適化する）ための学習動作を行う。従って、以下では、推定動作及び学習動作について順に説明する。
【００２０】
（２−１）推定動作
はじめに、図２を参照しながら、推定動作について説明する。図２は、推定動作の流れを示すフローチャートである。
【００２１】
図２に示すように、まず、ドライバが操作装置１６を用いて推定動作の開始を要求した場合には、心電位センサ１１によって心電位が検出される（ステップＳ１１）。その結果、入力インタフェース部１２０は、心電位を示す波形信号を取得する（ステップＳ１１）。
【００２２】
その後、フィルタ部１２１は、ステップＳ１１で取得された波形信号に対してフィルタリング処理を施す（ステップＳ１２）。フィルタリング処理は、波形信号からノイズを取り除く第１処理を含んでいてもよい。フィルタリング処理は、波形信号の基線の動揺（つまり、変動）を取り除く第２処理を含んでいてもよい。この場合、フィルタ部１２１は、例えば、バンドパスフィルタを備えていてもよい。
【００２３】
その後、特徴量抽出部１２２は、フィルタリング処理が施された波形信号の特徴量を抽出する（ステップＳ１３）。具体的には、特徴量抽出部１２２は、図３に示すように、波形信号を、所定の時間長（例えば、数十秒から百数十秒）を有する単位信号部分に区分する。特徴量抽出部１２２は、単位信号部分の特徴量を抽出する。特徴量抽出部１２２は、単位信号部分の特徴量を抽出する処理を、所定周期（例えば、数十秒から百数十秒）毎に繰り返す。尚、図３は、所定周期が単位信号部分の時間長よりも短い例を示している。この場合は、一の単位信号部分と他の単位信号部分とが部分的に重複する。
【００２４】
特徴量は、波形信号の特徴を示すパラメータである。本実施形態では、特徴量抽出部１２２は、ＲＲＩ（Ｒ−Ｒ−Ｉｎｔｅｒｖａｌ：心拍間隔）に関する特徴量を抽出するものとするが、どのような特徴量を抽出してもよい。尚、ＲＲＩは、図４に示すように、Ｒ波のピークの時間間隔に相当する指標である。ＲＲＩに関する特徴量は、例えば、ＲＲＩに対してＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）処理を施した場合に検出される低周波成分（例えば、０．０４Ｈｚから０．１５Ｈｚの周波数に相当する信号成分）の強度に相当するＬＦ、ＲＲＩに対してＦＦＴ処理を施した場合に検出される高周波成分（例えば、０．１５Ｈｚから０．４０Ｈｚの周波数に相当する信号成分）の強度に相当するＨＦ、時間軸上で隣接する２つのＲＲＩの差分が５０ミリ秒を超える心拍の割合（或いは、心拍の数）に相当するｐＮＮ５０、時間軸上で隣接する２つのＲＲＩの差分の２乗の平均値の平方根に相当するＲＭＳＳＤ、ＲＲＩの標準偏差をＲＭＳＳＤで除した値に相当するＳＤ／ＲＭＳＳＤ、ＲＲＩの分散値、及び、Ｒ波の数（つまり、波形のピークの数）のうちの少なくとも一つを含む。
【００２５】
但し、波形信号の状態によっては、特徴量抽出部１２２が特徴量を適切に抽出できない可能性がある。この場合には、特徴量抽出部１２２は、特徴量の適切な抽出が不可能であったことを示すエラーフラグを出力してもよい。例えば、信号レベル（つまり、振幅）が小さすぎる（例えば、所定レベルよりも小さい）波形信号から抽出される特徴量は、その信頼性が相対的に低い可能性がある。従って、波形信号の信号レベルが小さすぎる場合には、特徴量抽出部１２２は、エラーフラグを出力してもよい。エラーフラグが出力される場合には、状態推定部１２３は、ドライバの眠気度を推定しなくてもよい。
【００２６】
特徴量抽出部１２２が抽出した特徴量（更には、エラーフラグ）は、特徴量抽出部１２２から状態推定部１２３へと出力される。更に、特徴量抽出部１２２が抽出した特徴量（更には、エラーフラグ）は記憶装置１３によって記憶される。この際、後に詳述するように、記憶装置１３は、特徴量抽出部１２２が抽出した特徴量を、学習データＤＬの少なくとも一部として記憶してもよい。尚、ステップＳ１３において特徴量抽出部１２２が抽出した特徴量は、後述する付記における「第１入力データ」の一具体例である。
【００２７】
再び図２において、その後、状態推定部１２３は、ステップＳ１３で抽出された特徴量に基づいて、ドライバの眠気度を推定する（ステップＳ１４）。具体的には、まず、状態推定部１２３は、記憶装置１３が記憶している学習データＤＬに基づいて、数式１に示す基底ベクトルφ（ｘ）を算出する。尚、数式１中において、変数ｘは、ステップＳ１３で抽出された特徴量（特に、ある単位信号部分の特徴量）を示しており、抽出された特徴量の種類の数がｄである場合には、数式２に示すように、ｄ次元のベクトルとなる。尚、基底関数は、数式３であるものとする。また、数式１中において、変数ｂは、基底ベクトルφ（ｘ）の次元数を示す。その後、状態推定部１２３は、記憶装置１３が記憶している係数パラメータαを読み出す。係数パラメータαは、ｂ次元のベクトルであり、数式４に示される。その後、状態推定部１２３は、基底ベクトルφ（ｘ）及び係数パラメータαによって定義される線形モデルｇ（ｘ）に基づいて、眠気度を推定する。線形モデルｇ（ｘ）は、数式５に示される。具体的には、状態推定部１２３は、線形モデルｇ（ｘ）に対して、ステップＳ１３で抽出した特徴量ｘを入力して、その出力値を取得する。線形モデルｇ（ｘ）は、特徴量ｘから推定されるドライバの眠気度に応じた出力値を出力する。以下の説明では、線形モデルｇ（ｘ）は、ドライバの眠気度が大きくなればなるほど（つまり、ドライバが眠気ありの状態にある可能性が高くなるほど）小さな出力値を出力するものとする。但し、後述する学習動作による係数パラメータαの最適化により、線形モデルｇ（ｘ）は、ドライバの眠気度が相対的に大きい（つまり、ドライバが眠気ありの状態にある可能性が相対的に高い）場合に負の値を出力し、ドライバの眠気度が相対的に小さい（つまり、ドライバが眠気ありの状態にある可能性が相対的に低い）場合に正の値を出力するように最適化される。その後、状態推定部１２３は、線形モデルｇ（ｘ）の出力値が所定閾値（例えば、０）よりも大きい場合に、ドライバが眠気なしの状態にあると推定する。一方で、状態推定部１２３は、線形モデルｇ（ｘ）の出力値が所定閾値（例えば、０）よりも小さい場合に、ドライバが眠気ありの状態にあると推定する。従って、状態推定部１２３は、実質的には、２クラス分類器と等価である。
【００２８】
【数１】
2019191644.tif 000003
【００２９】
【数２】
2019191644.tif 000004
【００３０】
【数３】
2019191644.tif 000005
【００３１】
【数４】
2019191644.tif 000006
【００３２】
【数５】
2019191644.tif 000007
【００３３】
その後、表示装置１４は、ステップＳ１４におけるドライバの眠気度の推定結果を表示する（ステップＳ１５）。更に、ドライバが眠気ありの状態にあると推定された場合には、演算装置１２は、必要に応じてドライバに警告を発してもよい。例えば、演算装置１２は、表示装置１４を制御して、ドライバに警告を発する警告画像を表示してもよい。例えば、演算装置１２は、不図示のスピーカを制御して、ドライバに警告を発する警告音を出力してもよい。例えば、演算装置１２は、車両のシートやステアリングホイールに内蔵された不図示の振動装置を制御して、ドライバに警告を発する振動を発生させてもよい。
【００３４】
以上説明したステップＳ１１からステップＳ１５の処理が、ドライバが操作装置１６を用いて推定動作の終了を要求するまで繰り返し行われる（ステップＳ１６）。
【００３５】
（２−２）学習動作
続いて、学習動作について説明する。本実施形態では、状態推定装置１は、状態推定装置１がドライバによって入手された後に（言い換えれば、状態推定装置１が市場に出荷された後に）、学習動作を行う。言い換えれば、状態推定装置１は、状態推定装置１がドライバの眠気度を推定し始めた後に、学習動作を行う。この段階では、ドライバが車両を運転することから、状態推定装置１は、状態推定装置１による眠気度の推定の対象となるドライバの心電位の検出結果を用いて学習動作を行うことができる。以下、このような学習動作について、図５を参照しながら説明する。図５は、学習動作の流れを示すフローチャートである。尚、学習動作は、典型的には、上述した推定動作と並行して行われるが、推定動作が行われていない期間中に行われてもよい。
【００３６】
図５に示すように、まずは、ドライバの心電位の検出結果に基づく学習データＤＬが取得される。具体的には、まず、演算装置１２は、ドライバが車両を運転しているか否かを判定する（ステップＳ２１）。例えば、上述したように演算装置１２を含む携帯端末をドライバが保有している場合には、演算装置１２は、携帯端末が備える不図示の加速度センサ等の検出結果に基づいてドライバの行動を推定し、ドライバが車両に乗車していると推定された場合に、ドライバが車両を運転していると判定してもよい。或いは、演算装置１２は、携帯端末が備える通信装置１４と車両が備える通信装置との近接度合いを通信装置１４の受信信号から推定し、ドライバが車両に乗車しているほどに通信装置１４と車両が備える通信装置とが近接していると推定された場合に、ドライバが車両を運転していると判定してもよい。或いは、状態推定装置１が車両に設置されている場合には、演算装置１２は、車両の状態（例えば、イグニションスイッチの状態）等に基づいて、ドライバが車両を運転しているか否かを判定してもよい。
【００３７】
ステップＳ２１の判定の結果、ドライバが車両を運転していないと判定された場合には（ステップＳ２１：Ｎｏ）、演算装置１２は、ドライバが車両を運転しているか否かを判定し続ける。
【００３８】
他方で、ステップＳ２１の判定の結果、ドライバが車両を運転していると判定された場合には（ステップＳ２１：Ｙｅｓ）、運転判定部１２５は、ドライバが車両の運転を開始してから所定時間（例えば、数分）が経過したか否かを判定する（ステップＳ２２）。
【００３９】
ステップＳ２２の判定の結果、ドライバが車両の運転を開始してから所定時間が未だに経過していないと判定された場合には（ステップＳ２２：Ｎｏ）、ドライバは、車両を運転し始めたばかりであると推定される。この場合には、ドライバは、眠気なしの状態にある可能性が相対的に高いはずである。なぜならば、車両を漫然と運転し続けている場合にドライバが眠気を感じやすいところ、この段階では、ドライバは、まだそれほど長い期間にわたって車両を運転していないからである。このため、この場合に検出される心電位の特徴量ｘは、眠気なしの状態にあるドライバの心電位の特徴量ｘに相当する可能性が高い。つまり、このタイミングでドライバの心電位を検出すれば、眠気なしの状態にあるドライバの心電位の特徴量ｘが抽出される可能性が高い。そこで、本実施形態では、心電位センサ１１によってドライバの心電位が検出され（ステップＳ２３１）、フィルタ部１２１によって波形信号に対してフィルタリング処理が施され（ステップＳ２３２）、特徴抽出部１２２によって波形信号の特徴量ｘが抽出される（ステップＳ２３３）。尚、ステップＳ２３１からステップＳ２３３の処理は、夫々、ステップＳ１１からステップＳ１３の処理と同一であってもよい。抽出された特徴量ｘは、特徴抽出部１２２から学習データ生成部１２４に出力される。その後、学習データ生成部１２４は、抽出された特徴量ｘと、ドライバの状態が眠気なしの状態にあるという正解を示す正解データとが関連付けられたデータを、覚醒データＤＬＰとして生成する（ステップＳ２３４）。つまり、学習データ生成部１２４は、ドライバがポジティブな状態であることを示す正解データを含むデータ（いわゆる、正例データ（Ｐｏｓｉｔｉｖｅ  Ｄａｔａ））を、学習データＤＬの一部（より具体的には、覚醒データＤＬＰ）として生成する。生成された覚醒データＤＬＰは、記憶装置１３によって記憶される。
【００４０】
他方で、ステップＳ２２の判定の結果、ドライバが車両の運転を開始してから所定時間が既に経過していると判定された場合には（ステップＳ２２：Ｙｅｓ）、ドライバは、眠気なしの状態にある場合もあれば、眠気ありの状態にある場合もある。つまり、ドライバの眠気度は、様々な要因に影響を受けて変動している可能性が高い。言い換えれば、ドライバの眠気度は、不定であると言える。この場合であっても、本実施形態では、心電位センサ１１によってドライバの心電位が検出され（ステップＳ２４１）、フィルタ部１２１によって波形信号に対してフィルタリング処理が施され（ステップＳ２４２）、特徴抽出部１２２によって波形信号の特徴量ｘが抽出される（ステップＳ２４３）。尚、ステップＳ２４１からステップＳ２４３の処理は、夫々、ステップＳ１１からステップＳ１３の処理と同一であってもよい。抽出された特徴量ｘは、特徴抽出部１２２から学習データ生成部１２４に出力される。この場合に抽出される特徴量ｘは、眠気なしの状態にあるドライバの心電位の特徴量ｘに相当する場合もあれば、眠気ありの状態にあるドライバの心電位の特徴量ｘに相当する場合もある。そこで、学習データ生成部１２４は、ドライバの実際の眠気度を示す正解データに関連付けることなく（つまり、正解データをラベル付けすることなく）、抽出された特徴量ｘをそのまま、ラベルなしデータＤＬＵとして設定する（ステップＳ２４４）。つまり、学習データ生成部１２４は、ドライバの眠気度に関する情報がないデータ（いわゆる、ラベルなしデータ（Ｕｎｌａｂｅｌｅｄ  Ｄａｔａ））を、学習データＤＬの一部（より具体的には、ラベルなしデータＤＬＵ）として生成する。生成されたラベルなしデータＤＬＵは、記憶装置１３によって記憶される。尚、ステップＳ２４４で作成されたラベルなしデータＤＬＵは、後述する付記における「第２入力データ」の一具体例である。
【００４１】
その後、状態推定部１２３は、更新基準が成立しているか否かを判定する（ステップＳ２５）。更新基準は、学習データＤＬを用いた係数パラメータαの最適化を開始するために成立するべき条件を示す。更新基準は、例えば、前回係数パラメータαが最適化されてから新たに記憶された学習データＤＬのデータ量（特に、ラベルなしデータＤＬＵのデータ量）が所定量以上になるという条件である。所定量が大きくなればなるほど、係数パラメータαが最適化される頻度が少なくなる。このため、所定量は、適切な頻度で係数パラメータαが最適化されるように適切な値に設定される。
【００４２】
ステップＳ２５の判定の結果、更新基準が未だ成立していないと判定された場合には（ステップＳ２５：Ｎｏ）、ステップＳ２２以降の動作が繰り返される。つまり、学習データＤＬが生成され続ける。
【００４３】
他方で、ステップＳ２５の判定の結果、更新基準が成立していると判定された場合には（ステップＳ２５：Ｙｅｓ）、状態推定部１２３は、記憶装置１３に記憶されている学習データＤＬを用いて、係数パラメータαを最適化するための学習処理を行う（ステップＳ２６）。以下、図６を参照しながら、図５のステップＳ２６における係数パラメータαを最適化するための学習処理の流れについて説明する。図６は、図５のステップＳ２６における係数パラメータαを最適化するための学習処理の流れを示すフローチャートである。
【００４４】
図６に示すように、状態推定部１２３は、混合率Πを設定する（ステップＳ２６１）。本実施形態では、状態推定部１２３は、混合率Πを、０より大きく且つ０．５より小さい所望の値に設定する。
【００４５】
その後、状態推定部１２３は、記憶装置１３が記憶しているラベルなしデータＤＬＵを、２つのデータセットＸに分割する（ステップＳ２６２）。
【００４６】
例えば、状態推定部１２３は、既存のクラスタリング方法を用いて、ラベルなしデータＤＬＵを２つのデータセットＸに分割してもよい。既存のクラスタリング方法として、ＤＳＤＤ（Ｄｉｒｅｃｔ  Ｓｉｇｎ  Ｄｅｎｓｉｔｙ  Ｄｉｆｆｅｒｅｎｃｅ：直接符号密度差）法、ＫＤＥ（Ｋｅｒｎｅｌ  Ｄｅｎｓｉｔｙ  Ｅｓｔｉｍａｔｉｏｎ：カーネル密度推定）法及びｋ−ｍｅａｎｓ（ｋ平均）法の少なくとも一つがあげられる。
【００４７】
或いは、例えば、状態推定部１２３は、所定の分割基準に従って、ラベルなしデータＤＬＵを２つのデータセットＸに分割してもよい。所定の分割基準の一例として、ラベルなしデータＤＬＵを構成する単位データ成分に相当する特徴量ｘが抽出された日時に関する日時基準があげられる。この場合、例えば、状態推定部１２３は、ラベルなしデータＤＬＵを、日時基準を満たす（或いは、満たさない）日時に抽出された特徴量ｘから構成されるデータセットＸと、日時基準を満たさない（或いは、満たす）日時に抽出された特徴量ｘから構成されるデータセットＸとに分割してもよい。一例として、例えば、ドライバが車両を４日連続して運転したことに起因して４日分の特徴量ｘから構成されるラベルなしデータＤＬＵが記憶装置１４に記憶されている場合には、状態推定部１２３は、ラベルなしデータＤＬＵを、前半２日分の特徴量ｘから構成されるデータセットＸと、後半２日分の特徴量ｘから構成されるデータセットＸとに分割してもよい。もちろん、分割基準として、日時基準以外の他の基準が用いられてもよい。
【００４８】
状態推定部１２３は更に、ラベルなしデータＤＬＵを分割することで生成された２つのデータセットＸのうちの一方を構成する各特徴量ｘに対して、状態推定部１２３の出力値である「＋１（つまり、正例ラベル又はＰ（Ｐｏｓｉｔｉｖｅ）ラベル）」及び「−１（つまり、負例ラベル又はＮ（Ｎｅｇａｔｉｖｅ）ラベル）」のいずれか一方を、仮の（言い換えれば、見かけ上の）ラベルとして付与する。他方で、状態推定部１２３は、ラベルなしデータＤＬＵを分割することで生成された２つのデータセットＸのうちの他方を構成する各特徴量ｘに対して、「＋１」及び「−１」のいずれか他方を、仮のラベルとして付与する。つまり、状態推定部１２３は、見かけ上、ラベルなしデータＤＬＵを、正例ラベルが付与された（つまり、眠気なしの状態にあるドライバから取得されたと仮定した）特徴量ｘから構成されるデータセットＸ＋と、負例ラベルが付与された（つまり、眠気ありの状態にあるドライバから取得されたと仮定した）特徴量ｘから構成されるデータセットＸ−とに分割する。もちろん、この段階では、データセットＸ＋に含まれる特徴量ｘが、眠気なしの状態にあるドライバから実際に取得された特徴量ｘである必要はない。同様に、データセットＸ−に含まれる特徴量ｘが、眠気ありの状態にあるドライバから実際に取得された特徴量ｘである必要はない。要は、状態推定部１２３は、ラベルなしデータＤＬＵを、見かけ上は正例ラベルが付与された特徴量ｘから構成されるデータセットＸ＋と、見かけ上は負例ラベルが付与された特徴量ｘから構成されるデータセットＸ−とに分割すれば十分である。尚、データセットＸ＋に付与された正例ラベルが見かけ上のラベル（つまり、仮の又は仮想的なラベル）に過ぎないため、データセットＸ＋は、実質的にはラベルなしデータに相当する。同様の理由から、データセットＸ−もまた、実質的にはラベルなしデータに相当する。尚、データセットＸ＋及びデータセットＸ−は、夫々、後述する付記における「第１データ部分」及び「第２データ部分」の一具体例である。
【００４９】
尚、状態推定部１２３が初めて学習動作を行うタイミングでは、状態推定部１２３は、眠気なしの状態にあるドライバから取得された特徴量ｘに対して＋１という出力値（或いは、正の値）及び−１という出力値（或いは、負の値）のいずれを出力するかが定かではない可能性がある。同様に、状態推定部１２３は、眠気ありの状態にあるドライバから取得された特徴量ｘに対して＋１という出力値（或いは、正の値）及び−１という出力値（或いは、負の値）のいずれを出力するかが定かではない可能性がある。つまり、＋１という正例ラベル及び−１という負例ラベルの夫々が、眠気なしという状態に対応するのか又は眠気ありという状態に対応するのかが定かではない可能性がある。このため、状態推定部１２３が初めて学習動作を行うタイミングでは、状態推定部１２３は、覚醒データＤＬＰを用いて、＋１という正例ラベル及び−１という負例ラベルの夫々が、眠気なしという状態に対応するのか又は眠気ありという状態に対応するのかを決定してもよい。具体的には、上述したように、覚醒データＤＬＰを構成する特徴量ｘは、眠気なしの状態にあるドライバから取得された特徴量ｘである。このため、状態推定部１２３は、覚醒データＤＬＰを構成する特徴量ｘを線形モデルｇ（ｘ）に入力することで得られる出力値を、眠気なしという状態に対応付ける。例えば、状態推定部１２３は、覚醒データＤＬＰを構成する特徴量ｘを線形モデルｇ（ｘ）に入力することで得られる出力値が「＋１（或いは、正の値）」である場合には、＋１という正例ラベル及び−１という負例ラベルを、夫々、眠気なしという状態及び眠気ありという状態に対応付ける。尚、以下の説明では、上述したように、＋１という正例ラベル及び−１という負例ラベルが、夫々、眠気なしという状態及び眠気ありという状態に対応する例を用いて説明を進める。
【００５０】
その後、状態推定部１２３は、ステップＳ２６１で設定した混合率Πに基づいて、データセットＸ＋を、２つのデータセットＸｐ＋及びＸｐ’＋に分割する（ステップＳ２６３）。具体的には、状態推定部１２３は、データセットＸ＋を、Π：１−Πの比率で２つのデータセットＸｐ＋及びＸｐ’＋に分割する。つまり、状態推定部１２３は、データセットＸｐ＋を構成する特徴量ｘの数とデータセットＸｐ’＋を構成する特徴量ｘの数との比率がΠ：１−Πとなるように、データセットＸ＋を２つのデータセットＸｐ＋及びＸｐ’＋に分割する。但し、状態推定部１２３は、任意の分割手法で、データセットＸ＋を２つのデータセットＸｐ＋及びＸｐ’＋に分割してもよい。
【００５１】
同様に、状態推定部１２３は、ステップＳ２６１で設定した混合率Πに基づいて、データセットＸ−を、２つのデータセットＸｐ−及びＸｐ’−に分割する（ステップＳ２６４）。具体的には、状態推定部１２３は、データセットＸ−を、１−Π：Πの比率で２つのデータセットＸｐ−及びＸｐ’−に分割する。つまり、状態推定部１２３は、データセットＸｐ−を構成する特徴量ｘの数とデータセットＸｐ’−を構成する特徴量ｘの数との比率が１−Π：Πとなるように、データセットＸ−を２つのデータセットＸｐ−及びＸｐ’−に分割する。但し、状態推定部１２３は、任意の分割手法で、データセットＸ−を２つのデータセットＸｐ−及びＸｐ’−に分割してもよい。
【００５２】
その後、状態推定部１２３は、データセットＸｐ＋とデータセットＸｐ−とを混合して、データセットＸｐを生成する（ステップＳ２６５）。更に、状態推定部１２３は、データセットＸｐ’＋とデータセットＸｐ’−とを混合して、データセットＸｐ’を生成する（ステップＳ２６６）。尚、データセットＸｐ及びＸｐ’は、夫々、後述する付記における「相１混合データ」及び「第２混合データ」の一具体例である。
【００５３】
その後、状態推定部１２３は、２つのラベルなしデータに相当するデータセットＸｐ及びＸｐ’に基づく学習（以下、“ＵＵ学習”と称する）を行うことで、係数パラメータαを最適化する（ステップＳ２６７）。本実施形態のＵＵ学習は、仮の正例ラベルが付与された特徴量ｘの数と仮の負例ラベルが付与された特徴量ｘの数との比率が互いに異なる２つのラベルなしデータを用いて、係数パラメータαを最適化するように状態推定部１２３を学習させる動作に相当する。ＵＵ学習では、２つのラベルなしデータの間での確率密度の差を利用して係数パラメータαを最適化する。具体的には、一方のクラス（例えば、眠気なしという状態に対応するクラス）に関する確率密度の差が正である場合には、他方のクラス（例えば、眠気ありという状態に対応するクラス）に関する確率密度の差は負となる。ＵＵ学習では、２つのラベルなしデータの夫々を構成する特徴量ｘを２つのクラスに分類するための境界（いわゆる、超平面）を変えていくことで２つのクラスの夫々の確率密度の差の符号が変わる境界をサーチする（つまり、２つのクラスの夫々の確率密度の差の符号が変わる境界で２つのラベルなしデータの夫々を構成する特徴量ｘを分類可能な係数パラメータαをサーチする）学習処理に相当する。従って、状態推定部１２３は、ＵＵ学習を行うための具体的な学習アルゴリズムとして、確率密度の差を利用する学習アルゴリズムを用いることが好ましい。確率密度の差を利用する学習アルゴリズムの一例として、上述したＤＳＤＤ法及びＫＤＥ法の少なくとも一方があげられる。
【００５４】
尚、ＵＵ学習そのものについては、「Ｍａｒｔｈｉｎｕｓ  Ｃｈｒｉｓｔｏｆｆｅｌ  ｄｕ  Ｐｌｅｓｓｉｓ，  Ｇａｎｇ  Ｎｉｕ，  Ｍａｓａｓｈｉ  Ｓｕｇｉｙａｍａ，  “Ｃｌｕｓｔｅｒｉｎｇ  Ｕｎｃｌｕｓｔｅｒｅｄ  Ｄａｔａ：  Ｕｎｓｕｐｅｒｖｉｓｅｄ  Ｂｉｎａｒｙ  Ｌａｂｅｌｉｎｇ  ｏｆ  Ｔｗｏ  Ｄａｔａｓｅｔｓ  Ｈａｖｉｎｇ  Ｄｉｆｆｅｒｅｎｔ  Ｃｌａｓｓ  Ｂａｌａｎｃｅ”，  Ｐｒｏｃ．  ＴＡＡＩ２０１３」という論文に記載されているため、その詳細な説明については省略する。
【００５５】
ＵＵ学習によって係数パラメータαが最適化された結果、データセットＸｐ及びＸｐ’の夫々に属する各特徴量ｘは、ＵＵ学習でサーチされた境界によって２つのクラスのいずれかに分類可能となる。つまり、状態推定部１２３は、ラベルなしデータＤＬＵを構成する各特徴量ｘに付与されていたラベル（ここでは、仮のラベル）を、最適化された係数パラメータαによって規定される線形モデルｇ（ｘ）の出力値に基づいて更新可能である（ステップＳ２６７）。具体的には、状態推定部１２３は、ある特徴量ｘが入力された線形モデルｇ（ｘ）の出力値が＋１（或いは、正の値）である場合には、当該ある特徴量ｘに付与された仮のラベルを、正例ラベルに更新可能である。同様に、状態推定部１２３は、ある特徴量ｘが入力された線形モデルｇ（ｘ）の出力値が−１（或いは、負の値）である場合には、当該ある特徴量ｘに付与された仮のラベルを、負例ラベルに更新可能である。
【００５６】
その後、状態推定部１２３は、更新されたラベルに基づいて、データセットＸ＋及びデータセットＸ−を更新する（ステップＳ２６８）。具体的には、状態推定部１２３は、ラベルなしデータＤＬＵのうちステップＳ２６７で正例ラベルが付与された特徴量ｘから構成されるデータセットが新たなデータセットＸ＋となり、且つ、ラベルなしデータＤＬＵのうちステップＳ２６７で負例ラベルが付与された特徴量ｘから構成されるデータセットが新たなデータセットＸ−となるように、データセットＸ＋及びデータセットＸ−を更新する。尚、新たなデータセットＸ＋及びＸ−は、実質的には、ＵＵ学習でサーチされた境界で分類される新たな２つのラベルなしデータに相当する。
【００５７】
その後、状態推定部１２３は、係数パラメータαが適切に最適化されたか否かを判定するための学習基準が満たされているか否かを判定する（ステップＳ２６９）。学習基準としてはどのような基準が用いられてもよいが、例えば、数式６に示す学習基準が一例としてあげられる。尚、数式６中において、変数ｘｉは、データセットＸｐを構成する各特徴量ｘ（つまり、ｄ次元のベクトル）であって、数式７で示される。変数ｎは、データセットＸｐを構成する特徴量ｘの数（つまり、ｄ次元のベクトルの数）である。ｐ（ｘ）は、データセットＸｐを構成する特徴量ｘの確率密度である。また、数式６中において、変数ｘ’ｊは、データセットＸｐ’を構成する各特徴量ｘを示すｄ次元のベクトルであって、数式８で示される。変数ｎ’は、データセットＸｐ’を構成する特徴量ｘの数（つまり、ｄ次元のベクトルの数）である。ｐ’（ｘ）は、データセットＸｐ’を構成する特徴量ｘの確率密度である。また、数式６中の関数Ｒ（ｚ）の一例は、数式９及び数式１０によって示される。また、数式６中の変数λは、超パラメータである。
【００５８】
【数６】
2019191644.tif 000008
【００５９】
【数７】
2019191644.tif 000009
【００６０】
【数８】
2019191644.tif 000010
【００６１】
【数９】
2019191644.tif 000011
【００６２】
【数１０】
2019191644.tif 000012
【００６３】
ステップＳ２６９の判定の結果、学習基準が満たされた（例えば、学習基準が最小化された）と判定された場合には（ステップＳ２６９：Ｙｅｓ）、演算装置１２は、図６に示す学習動作を終了する。他方で、ステップＳ２６９の判定の結果、学習基準が満たされていない（例えば、学習基準を最小化する余地がまだある）と判定された場合には（ステップＳ２６９：Ｎｏ）、演算装置１２は、ステップＳ２６８で更新したデータセットＸ＋及びＸ−を用いて、ステップＳ２６３以降の処理を再度繰り返す。つまり、本実施形態では、ＵＵ学習は、学習基準が満たされるまで、ＵＵ学習に用いられる２つのデータセットＸ＋及びＸ−を更新しながら繰り返し行われる。
【００６４】
尚、上述した学習基準には、手動で設定しなければならない超パラメータλが含まれている。また、基底ベクトルφ（ｘ）にも、場合によっては超パラメータが含まれる可能性がある。例えば、数式３中の基底のバンド幅を示す変数ｈは、超パラメータの一例である。このため、状態推定部１２３は、超パラメータを設定しながら係数パラメータαを最適化するために、以下の手順で係数パラメータαを最適化することが好ましい。具体的には、まず、状態推定部１２３は、ラベルなしデータＤＬＵを、超パラメータの候補を設定した上で係数パラメータαを最適化するために用いられる第１データと、第１データを用いて最適化された係数パラメータαを検証する（つまり、評価する）ために用いられる第２データとに分割する。例えば、状態推定部１２３は、ラベルなしデータＤＬＵのうちの所定割合（例えば、８０％）のデータ部分を第１データとして用い、ラベルなしデータＤＬＵのうちの残りの（例えば、２０％）のデータ部分を第２データとして用いてもよい。その後、状態推定部１２３は、第１データに対して上述した図６のステップＳ２６２からステップＳ２６６までの処理を行ってデータセットＸｐ及びＸｐ’を生成する。その後、状態推定部１２３は、超パラメータに所定の候補値を設定した上で、第１データから生成したデータセットＸｐ及びＸｐ’を用いたＵＵ学習を行って、係数パラメータαの最適化を行う。その後、状態推定部１２３は、第２データを用いて、最適化された係数パラメータαを検証する。具体的には、状態推定部１２３は、第１データを用いて最適化された係数パラメータαによって特定される線形モデルｇ（ｘ）に、第２データに含まれる特徴量ｘを入力することで、上述した学習基準から第３項の正則化項を除いた評価式を評価する。状態推定部１２３は、このような動作を、学習基準から第３項の正則化項を除いた評価式を最小にする最適な超パラメータが見つかるまで繰り返す。その後、最適な超パラメータ及びラベルなしデータＤＬＵ（つまり、第１データ及び第２データの双方）を用いて、係数パラメータαを最適化する。その結果、係数パラメータαが最適化される。最適化された係数パラメータαは、記憶装置１３によって記憶される。
【００６５】
以上説明したステップＳ２１からステップＳ２６までの処理が繰り返し行われる。つまり、ドライバが車両を運転している限りは、新たなラベルなしデータＤＬＵが収集され続け、既に収集済みのラベルなしデータＤＬＵに加えて、新たに収集されたラベルなしデータＤＬＵを用いて、係数パラメータαが最適化され続ける。
【００６６】
（３）技術的効果
続いて、本実施形態の状態推定装置１が享受可能な技術的効果を説明する。まずは、図７（ａ）から図７（ｅ）を参照しながら、技術的効果を説明する前提として、以上説明した学習動作を、特徴量ベクトル空間内での特徴量ｘの様子と合わせて模式的に説明する。
【００６７】
図７（ａ）は、ラベルなしデータＤＬＵを構成する特徴量ｘの特徴量ベクトル空間内での分布の様子を示すグラフである。図７（ａ）中では、丸印で示す特徴量ｘは、眠気なしの状態にあるドライバから取得された特徴量ｘに相当し、四角印で示す特徴量ｘは、眠気ありの状態にあるドライバから取得された特徴量ｘに相当する。従って、図７（ａ）中の点線が、ラベルなしデータＤＬＵを構成する特徴量ｘを２つのクラスに分類する理想的な境界に相当する。但し、ラベルなしデータＤＬＵ内では特徴量ｘに正解データが関連付けられていないがゆえに、状態推定装置１は、丸印で示す特徴量ｘが眠気なしの状態にあるドライバから取得された特徴量ｘに相当し、四角印で示す特徴量ｘが眠気ありの状態にあるドライバから取得された特徴量ｘに相当するということを認識することはできない。
【００６８】
状態推定部１２３は、図７（ｂ）に示すように、このようなラベルなしデータＤＬＵを、データセットＸ＋及びＸ−に分割する（図６のステップＳ２６２）。図７（ｂ）中では、白色の印で示す特徴量ｘは、データセットＸ＋に分類された特徴量ｘ（つまり、仮の正例ラベルが付与された特徴量ｘ）に相当し、黒色の印で示す特徴量ｘは、データセットＸ−に分類された特徴量ｘ（つまり、仮の負例ラベルが付与された特徴量ｘ）に相当する。図７（ｂ）に示すように、データセットＸ＋及びＸ−の夫々には、眠気なしの状態にあるドライバから取得された特徴量ｘ及び眠気ありの状態にあるドライバから取得された特徴量ｘの双方が含まれている可能性が相対的に高い。
【００６９】
その後、状態推定部１２３は、図７（ｃ）に示すように、データセットＸ＋をデータセットＸｐ＋及びＸｐ’＋に分割し且つデータセットＸ−をデータセットＸｐ−及びＸｐ’−に分割する（図６のステップＳ２６３からステップＳ２６４）。その後、状態推定部１２３は、データセットＸｐ＋及びＸｐ−を混合してデータセットＸｐを生成し且つデータセットＸｐ’＋及びＸｐ’−を混合してデータセットＸｐ’を生成する（図６のステップＳ２６５からステップＳ２６６）。この場合、仮の正例ラベルが付与されたデータセットＸ＋のうち５０％未満のデータ部分がデータセットＸｐ＋となり、仮の正例ラベルが付与されたデータセットＸ＋のうち５０％より多い残りのデータ部分がデータセットＸｐ’＋となり、仮の負例ラベルが付与されたデータセットＸ−のうち５０％より多いデータ部分がデータセットＸｐ−となり、仮の負例ラベルが付与されたデータセットＸ−のうち５０％より少ない残りのデータ部分がデータセットＸｐ’−となることから、データセットＸｐにおける仮の正例ラベルが付与された特徴量ｘの数と仮の負例ラベルが付与された特徴量ｘの数との比率は、データセットＸｐ’における仮の正例ラベルが付与された特徴量ｘの数と仮の負例ラベルが付与された特徴量ｘの数との比率とは異なる可能性が相対的に高くなる。
【００７０】
その後、状態推定部１２３は、データセットＸｐ＋及びＸｐ−に基づいてＵＵ学習を行う（図６のステップＳ２５７）。その結果、図７（ｄ）に示すように、ラベルなしデータＤＬＵを構成する特徴量ｘを２つのクラスに分類するための新たな境界がサーチされ、当該新たな境界に基づいてデータセットＸ＋及びＸ−が更新される。図７（ｂ）及び図７（ｄ）を比較して分かるように、ＵＵ学習を行うことで、データセットＸ＋及びＸ−の境界は、図７（ａ）に示す理想的な境界に近づく。
【００７１】
その後、状態推定部１２３は、ＵＵ学習を再度行うために、図７（ｅ）に示すように、新たなデータセットＸ＋及びＸ−から、データセットＸｐ及びＸｐ’を生成する。この際、ＵＵ学習が既に１回以上行われていれば、データセットＸ＋には、眠気なしの状態にあるドライバの特徴量ｘが、眠気ありの状態にあるドライバの特徴量ｘよりも多く含まれ、且つ、データセットＸ−には、眠気ありの状態にあるドライバの特徴量ｘが、眠気なしの状態にあるドライバの特徴量ｘよりも多く含まれる可能性が高くなる。つまり、ＵＵ学習が既に１回以上行われていれば、データセットＸ＋に眠気なしの状態にあるドライバの特徴量ｘが偏在し、且つ、データセットＸ−に眠気ありの状態にあるドライバの特徴量ｘが偏在する可能性が高くなる。その結果、データセットＸｐにおける眠気なしの状態にあるドライバの特徴量ｘの数と眠気ありの状態にあるドライバの特徴量ｘの数との比率は、データセットＸｐ’における眠気なしの状態にあるドライバの特徴量ｘの数と眠気ありの状態にあるドライバの特徴量ｘの数との比率とは異なる可能性がより一層高くなる。
【００７２】
その後、状態推定部１２３は、データセットＸｐ＋及びＸｐ−に基づいてＵＵ学習を再度行う（図６のステップＳ２５７）。その結果、図７（ｆ）に示すように、ラベルなしデータＤＬＵを構成する特徴量ｘを２つのクラスに分類するための新たな境界がサーチされ、当該新たな境界に基づいてデータセットＸ＋及びＸ−が更新される。図７（ｂ）、図７（ｄ）及び図７（ｆ）を比較して分かるように、ＵＵ学習を繰り返し行うことで、データセットＸ＋及びＸ−の境界は、図７（ａ）に示す理想的な境界に近づく可能性が高くなる。
【００７３】
以上説明したように、状態推定装置１によれば、夫々が正解データに関連付けられていない２つのラベルなしデータ（つまり、データセットＸ＋及びＸ−）を用いて、２つのラベルなしデータが適宜更新されながら、係数パラメータαを最適化するためのＵＵ学習が繰り返し行われる。このため、ＵＵ学習が繰り返し行われない比較例の状態推定装置と比較して、係数パラメータαが最適化される（つまり、ドライバの心電位に基づくドライバの眠気度の推定精度が向上する）可能性が高くなる。このため、ドライバの状態との間の相関が相対的に少ないノイズ情報を相対的に多く含んでおり且つクラスタリングした場合に得られる複数のクラスの間でのオーバーラップが発生しやすいという特徴を有する心電位（つまり、人間の生体情報）に基づいてドライバの眠気度を推定する場合であっても、係数パラメータαが最適化される可能性が高くなる。その結果、状態推定装置１は、ドライバの心電位に基づいてドライバの眠気度を相対的に高精度に推定することができる。
【００７４】
例えば、図８は、正解データが関連付けられた特徴量を含む学習データを用いて、教師あり学習で係数パラメータαが最適化された場合における眠気度の推定に関するＦ値、ラベルなしデータＤＬＵを用いてＵＵ学習を１回だけ行う（つまり、図６のステップＳ２６３からステップＳ２６８のルーチンを１回だけ行う）ことで係数パラメータαが最適化された場合における眠気度の推定に関するＦ値、及び、ラベルなしデータＤＬＵを用いてＵＵ学習を複数回繰り返す（つまり、図６のステップＳ２６３からステップＳ２６８のルーチンを複数回繰り返す）ことで係数パラメータαが最適化された場合における眠気度の推定に関するＦ値を示すグラフである。尚、Ｆ値は、眠気度の推定精度と眠気度の推定に関する再現率との調和平均に相当する評価指数であって、値が大きければ大きいほど眠気度を推定する性能が優れていることを示す。図６に示すように、ＵＵ学習を１回だけ行うことで係数パラメータαを最適化する方法は、教師あり学習で係数パラメータαを最適化する方法よりも性能面で劣っている可能性があるが、ＵＵ学習を複数回繰り返すことで係数パラメータαを最適化する方法は、教師あり学習で係数パラメータαを最適化する方法よりも性能面で優れている。従って、ＵＵ学習を複数回繰り返すことで、係数パラメータαが最適化される可能性が高くなることが、本願発明者等が行った実験によっても確認された。
【００７５】
加えて、本願発明者等の研究及び調査によれば、２つのラベルなしデータを用いてＵＵ学習を繰り返し行う場合には、一方のクラスに分類されるべき特徴量ｘ（例えば、眠気なしの状態にあるドライバの特徴量ｘ）の数と他方のクラスに分類されるべき特徴量ｘ（例えば、眠気ありの状態にあるドライバの特徴量ｘ）の数との比率が２つのラベルなしデータの間で異なると、ＵＵ学習が適切に行われることが判明している。このようなことを踏まえて、本実施形態では、データセットＸ＋及びＸ−を部分的に混合する得られるデータセットＸｐ及びＸｐ’を用いてＵＵ学習が行われる。上述したように、データセットＸｐ及びＸｐ’の間では、一方のクラスに分類されるべき特徴量ｘの数と他方のクラスに分類されるべき特徴量ｘの数との比率が異なる可能性が相対的に高くなる。つまり、データセットＸｐ及びＸｐ’は、一方のクラスに分類されるべき特徴量ｘの数と他方のクラスに分類されるべき特徴量ｘの数との比率が異なる２つのラベルなしデータである可能性が相対的に高くなる。その結果、状態推定部１２３は、ＵＵ学習を適切に行って係数パラメータαを最適化することができる。例えば、状態推定部１２３は、効率的に係数パラメータαを最適化することができる及び／又は推定精度が向上していくように係数パラメータαを最適化することができる。
【００７６】
（４）変形例
上述した説明では、ドライバが車両の運転を開始してから所定時間（例えば、数分）が経過するまでに抽出された特徴量から、当該特徴量に正解データが関連付けられた覚醒データＤＬＰが生成されている。しかしながら、ドライバが車両の運転を開始してから所定時間が経過するまでに抽出された特徴量が、当該特徴量に正解データが関連付けられていないラベルなしデータＤＬＵとして設定されもよい。
【００７７】
上述した説明では、状態推定部１２３は、データセットＸ＋をデータセットＸｐ＋及びＸｐ’＋に分割し且つデータセットＸ−をデータセットＸｐ−及びＸｐ’−に分割した後に、データセットＸｐ＋及びＸｐ−を混合してデータセットＸｐを生成し且つデータセットＸｐ’＋及びＸｐ’−を混合してデータセットＸｐ’を生成している。しかしながら、状態推定部１２３は、データセットＸ＋をデータセットＸｐ＋及びＸｐ’＋に分割しなくてもよいし、データセットＸ−をデータセットＸｐ−及びＸｐ’−に分割しなくてもよい。この場合、状態推定部１２３は、データセットＸ＋及びＸ−を２つのラベルなしデータとして用いることでＵＵ学習を行ってもよい。
【００７８】
上述した説明では、学習データＤＬを用いた係数パラメータαの最適化を開始するために成立するべき更新基準は、前回係数パラメータαが最適化されてから新たに生成された学習データＤＬ（特に、ラベルなしデータＤＬＵ）のデータ量に関する条件を含んでいる。しかしながら、更新基準は、学習データＤＬのデータ量に関する条件に加えて又は代えて、その他の条件を含んでいてもよい。例えば、更新基準は、ドライバが車両に乗車した回数に関する条件（例えば、前回係数パラメータαが最適化されてからドライバが車両に乗車した回数が所定回数以上であるという条件）を含んでいてもよい。例えば、更新基準は、ドライバが車両に乗車していた時間に関する条件（例えば、前回係数パラメータαが最適化されてからドライバが車両に乗車していた時間が所定時間以上であるという条件）を含んでいてもよい。例えば、更新基準は、ドライバからの要求に関する条件（例えば、ドライバが係数パラメータαの最適化を要求しているという条件）を含んでいてもよい。或いは、状態推定部１２３は、更新基準を用いることなく、ラベルなしデータＤＬＵを新たに取得する都度、係数パラメータαを最適化してもよい。つまり、状態推定部１２３は、学習データＤＬを用いたオンライン学習を行ってもよい。
【００７９】
上述した説明では、状態推定装置１は、ドライバの心電位に基づいてドライバの眠気度を推定している。しかしながら、状態推定装置１は、ドライバの心電位に加えて又は代えて、ドライバのその他の生体情報に基づいてドライバの眠気度を推定してもよい。例えば、状態推定装置１は、ドライバをカメラで撮像し、撮像によって得られた画像を画像処理することで当該画像の特徴量（例えば、ドライバの顔の表情及び振る舞い等の少なくとも一つに関する特徴量）を抽出し、当該抽出した特徴量に基づいてドライバの眠気度を推定してもよい。
【００８０】
上述した説明では、状態推定装置１は、ドライバの生体情報に基づいてドライバの眠気度を推定している。しかしながら、状態推定装置１は、ドライバの生体情報に基づいてドライバの任意の状態を推定してもよい。例えば、状態推定装置１は、ドライバの生体情報からドライバの前頭前野の脳波に関する特徴量（例えば、シータ波の含有率に関する特徴量）を抽出し、当該抽出した特徴量に基づいてドライバの運転への集中度（逆に言えば、リラックス度合い）を推定してもよい。この場合、状態推定装置１は、ドライバに一定時間以上リラックスしてもらった上で生体情報を取得し、取得した生体情報の特徴量とドライバの状態がリラックス状態にあるという正解を示す正解データとが関連付けられたデータを、上述した覚醒データＤＬＰに相当するデータとして生成してもよい。状態推定装置１は、ドライバに特定の作業（例えば、文書作成、読書及びビデオ視聴等の少なくとも一つ）をしてもらった上でドライバの生体情報を取得し、取得した生体情報の特徴量を、上述したラベルなしデータＤＬＵに相当するデータとして生成してもよい。
【００８１】
上述した説明では、状態推定装置１は、ドライバの生体情報に基づいてドライバの状態を推定している。しかしながら、状態推定装置１は、ドライバに限らず、任意のユーザの生体情報に基づいて任意のユーザの状態を推定してもよい。或いは、状態推定装置１は、生体情報に加えて又は代えて、任意のユーザの任意の行動情報（つまり、ユーザの行動に関する情報）に基づいて、任意のユーザの状態を推定してもよい。例えば、状態推定装置１は、腕や体幹に取り付けられた加速度センサや角速度センサなどから得られるユーザの行動情報を用いて任意のユーザの状態を推定してもよい。或いは、状態推定装置１は、生体情報に加えて又は代えて、任意のユーザの任意の情報に基づいて、任意のユーザの状態を推定してもよい。或いは、生体情報が入力情報に相当し且つ推定されたユーザの状態が出力情報に相当することを考慮すれば、状態推定装置１は、生体情報に基づいてユーザの状態を推定することに加えて又は代えて、任意の入力情報に基づいて、任意の出力情報を出力してもよい。この場合であっても、上述した学習動作が行われれば、上述した効果が享受可能である。
【００８２】
（５）付記
以上説明した実施形態に関して、更に以下の付記を開示する。
【００８３】
（５−１）付記１
付記１に記載された状態推定装置は、ユーザの生体情報及び行動情報の少なくとも一方に関する第１入力データを取得する取得手段と、前記第１入力データに基づいて、前記ユーザの状態を推定する推定動作を行う推定手段とを備え、前記推定手段は、前記ユーザの生体情報及び行動情報の少なくとも一方に関し且つ前記ユーザの状態を示す正解データが関連付けられていない第２入力データのうちの第１データ部分と前記第２入力データのうちの前記第１データ部分とは異なる第２データ部分とを用いて、前記推定動作の内容を最適化するための学習処理を繰り返し行う状態推定装置である。
【００８４】
付記１に記載された状態推定装置によれば、夫々が正解データに関連付けられていない２つのデータ部分（つまり、第１及び第２データ部分）を用いて、推定動作の内容を最適化するための学習処理が繰り返し行われる。このため、ユーザの状態との間の相関が相対的に少ないノイズ情報を相対的に多く含んでおり且つクラスタリングした場合に得られる複数のクラスの間でのオーバーラップが発生しやすいという特徴を有する生体情報及び行動情報の少なくとも一方を用いる場合であっても、推定動作の内容が最適化される可能性が高くなる。従って、付記１に記載された状態推定装置は、ユーザの生体情報及び行動情報の少なくとも一方に基づいてユーザの状態を適切に推定することができる。
【００８５】
（５−２）付記２
付記２に記載された状態推定装置は、前記推定手段は、前記学習処理が行われる都度、行われた前記学習処理の結果に基づいて前記第２入力データから前記第１及び第２データ部分に新たに設定し、その後、新たに設定された前記第１及び第２データ部分を用いて、前記推定動作の内容を最適化する動作を含む前記学習処理を再度行う付記１に記載の状態推定装置である。
【００８６】
付記１に記載された状態推定装置によれば、学習処理の結果に基づいて第１及び第２データ部分が適切に更新されながら、推定動作の内容を最適化するための学習処理が繰り返し行われる。このため、第１及び第２データ部分を更新せず且つ学習処理が繰り返し行われない比較例の状態推定装置と比較して、推定動作の内容が最適化される可能性が高くなる。
【００８７】
（５−３）付記３
付記３に記載された状態推定装置は、前記推定手段は、前記第１入力データに基づいて、前記ユーザの状態が２つのクラスのいずれに属するかを推定し、前記学習処理は、前記第１及び第２データ部分を用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含み、前記推定手段は、前記学習処理が行われる都度、前記第２入力データのうち前記２つのクラスの一方に分類されたデータ成分から構成されるデータ部分を新たな前記第１データ部分に設定し且つ前記第２入力データのうち前記２つのクラスの他方に分類されたデータ成分から構成されるデータ部分を新たな前記第２データ部分に設定し、その後、新たに設定された前記第１及び第２データ部分を用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含む前記学習処理を再度行う付記１又は２に記載の状態推定装置である。
【００８８】
付記３に記載された状態推定装置によれば、学習処理の結果に基づいて第１及び第２データ部分が適切に更新されながら、推定動作の内容を最適化するための学習処理が繰り返し行われる。このため、第１及び第２データ部分を更新せず且つ学習処理が繰り返し行われない比較例の状態推定装置と比較して、推定動作の内容が最適化される可能性が高くなる。
【００８９】
（５−４）付記４
付記４に記載された状態推定装置は、前記推定手段は、前記第１入力データに基づいて、前記ユーザの状態が２つのクラスのいずれに属するかを推定し、前記学習処理は、（ｉ）前記第１及び第２データ部分から、前記第１データ部分のうちの第１部分と前記第２データ部分のうちの第２部分とを含む第１混合データ、及び、前記第１データ部分のうちの前記第１部分とは異なる第３部分と前記第２データ部分のうちの前記第２部分とは異なる第４部分とを含む第２混合データを生成し、（ｉｉ）前記第１及び第２混合データを用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含む付記１から３のいずれか一項に記載の状態推定装置である。
【００９０】
付記４に記載された状態推定装置によれば、第１及び第２混合データは、夫々が正解データに関連付けられておらず且つ２つのクラスのうちの一方に分類されるデータ成分と２つのクラスのうちの他方に分類されるデータ成分との比率が異なる２つのデータ部分である可能性が相対的に高くなる。その結果、推定手段は、学習処理を適切に行うことができる。
【００９１】
（５−５）付記５
付記５に記載された状態推定装置は、前記推定手段は、前記学習処理が行われる都度、前記第２入力データのうち前記２つのクラスの一方に分類されたデータ成分から構成されるデータ部分を新たな前記第１データ部分に設定し且つ前記第２入力データのうち前記２つのクラスの他方に分類されたデータ成分から構成されるデータ部分を新たな前記第２データ部分に設定し、その後、新たに設定された前記第１及び第２データ部分を用いて、前記第２入力データを構成するデータ成分を前記２つのクラスのいずれかに分類するように前記推定動作の内容を最適化する動作を含む前記学習処理を再度行う付記４に記載の状態推定装置である。
【００９２】
付記５に記載された状態推定装置によれば、第１及び第２データ部分を更新することなく学習処理が繰り返し行われない比較例の状態推定装置と比較して、推定動作の内容が最適化される可能性が高くなる。
【００９３】
更に、学習処理が多く行われるほど、第１データ部分に２つのクラスのうちの一方に分類されるデータ成分が偏在し、且つ、第２データ部分に２つのクラスのうちの他方に分類されるデータ成分が偏在する可能性が高くなる。この場合、このような第１及び第２データ部分を部分的に混合して第１及び第２混合データが生成されるがゆえに、学習処理が多く行われるほど、第１混合データにおける２つのクラスのうちの一方に分類されるデータ成分と２つのクラスのうちの他方に分類されるデータ成分との比率は、第２混合データにおける２つのクラスのうちの一方に分類されるデータ成分と２つのクラスのうちの他方に分類されるデータ成分との比率と異なる可能性が相対的に高くなる。このため、推定手段は、学習処理を適切に行うことができる。
【００９４】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う状態推定装置もまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【００９５】
１１  心電位センサ
１２  演算装置
１２０  入力インタフェース部
１２１  フィルタ部
１２２  特徴抽出部
１２３  状態推定部
１２４  学習データ生成部
１２５  運転判定部
１３  記憶装置
１４  表示装置
１５  通信装置
１６  操作装置
α  係数パラメータ
ＤＬ  学習データ
ＤＬＵ  ラベルなしデータ
ＤＬＰ  覚醒データ
【図１】
2019191644.tif 000013
【図２】
2019191644.tif 000014
【図３】
2019191644.tif 000015
【図４】
2019191644.tif 000016
【図５】
2019191644.tif 000017
【図６】
2019191644.tif 000018
【図７】
2019191644.tif 000019
【図８】
2019191644.tif 000020