![見出し画像](https://assets.st-note.com/production/uploads/images/160605865/rectangle_large_type_2_152aa3d4649bd8a968182c8f21892685.png?width=1200)
【書籍紹介】センサと機械学習で始める人間行動認識
執筆開始から3年経ってしましましたが、2024年11月5日、ついに発売となりました。この本は、私の研究の土台ともなる、人間行動認識について、初学者が一通り学べる内容となっています。
人間行動認識とは、英語では、Human Activity Recognitionと呼ばれ、ユビキタスコンピューティングを実現するうえで重要な基礎技術として数多くの研究がなされています。Google Scholarを見ると、実に50000件近い検索結果が出てきます。
ランニングを始めるとスマートウォッチが自動的に計測を開始し、歩数や歩幅、ピッチ速度などを計測しています。就寝すると自動的に睡眠計測が始まっています。昔は、その機能をわざわざ手動でONにする必要がありましたが、現在は、人間行動認識技術が進展したことで、「走り始めたな」「寝たな」ということを自動判定できるようになっています。
しかし、スマートウォッチに、睡眠センサ、というような直接的に事象を測るセンサが入っているわけではなく、加速度センサや脈拍センサからきっと睡眠しただろうということを推定しています。本書では、この推定をどのように行うかについて、原理、データ処理、機械学習、検定、そのプログラムについて解説するものです。
高精度な認識アルゴリズムを作ることは難しいですが、簡単なものであれば、手持ちのスマートフォンやApple Watchなどを利用してデータを計測し、Pythonで機械学習を適用し、オリジナルの行動認識モデルを構築することができます。実際、2年生の研究室体験では、2023年、2024年は、この本を用いて実施しています。Pythonを学習済みの学生であれば、数日で行動認識モデルの評価まで到達します。
以降では、いくつか本書の内容について紹介します。
ラベル付けなどデータ作成に関する説明
データセットを使う場合は知らないまま進めてしまう、ラベル付けについても解説しています。本人よるラベル付け、アノテータによるラベル付け、事前にシナリオを決めて行動するラベル付けなど、研究で用いるさまざまな手法について利点・欠点も含めて解説しています。
![](https://assets.st-note.com/img/1730725775-QpJrghoX0Cajq1enbBcmKEz5.png?width=1200)
データセグメンテーション(データ分割)は、時系列データを扱う上で必須の項目となりますが、ウィンドウ幅とは?オーバラップさせるのかさせないのか?などについて図入りで解説しています。
![](https://assets.st-note.com/img/1730725782-7M8REvQcfZWektuh93oT56Yw.png?width=1200)
図入りの解説
以下は、特徴量抽出について解説したページですが、1つのデータからどのような特徴を取り出すのか、図入りで説明しています。
![](https://assets.st-note.com/img/1730725790-ul14A2Nad5USYkrtReT8WqOb.png?width=1200)
分類問題と回帰問題と違いや、線形回帰とロジスティック回帰の違いなども図入りで説明しています。
![](https://assets.st-note.com/img/1730725797-ECe5HTxJW1GagopcNVhUDjn3.png?width=1200)
データの検証についての解説
本書は、研究にも利用できるよう、構築した人間行動認識モデルを検証する手法についても網羅しています。以下は、交差検証に関するページですが、図を活用し、訓練データとテストデータの分け方や、さまざまなホールドアウト検証法について解説しています。
![](https://assets.st-note.com/img/1730725829-t2gh8uYNd3ovmXCw9QOJcGSj.png?width=1200)
得られた結果が偶然なのか、有意な差があるのかは、統計的な検定が必要となります。それらについても、どのような手法があるのかについて解説しています。また、各章において、利用可能なライブラリ等も紹介しています。
![](https://assets.st-note.com/img/1730725840-tfDgCmzFGB6YSIVljTsxUrcR.png?width=1200)
解説付きサンプルコードの提供
本書では、WISDMデータセットを用いた行動認識および、我々がこれまで実施した行動認識に関して、サンプルコードとサンプルデータをGithub経由で提供しています。下記は、WISDMデータセットを用いた行動認識に関するページですが、各サンプルの冒頭で、対象とする行動やセンサの種類、機械学習や評価に何を用いたがまとめてあります。その後ろに続く、Pythonのコードについてはブロック単位で解説しています。
![](https://assets.st-note.com/img/1730725859-czO7s2EWV1GHXe4lxuCwrqFZ.png?width=1200)
プログラムは、分析のステップごとに分けて解説しています。
![](https://assets.st-note.com/img/1730725873-yDAFN4VPpKu9Lg6fBrsSmoeR.png?width=1200)
人間行動認識以外にも活用できる基礎技術
本書は、人間の行動を対象として、さまざまな技術を網羅した解説書となっていますが、時系列データであれば基本的には同じような処理を行うことになります。例えば、工場における振動データから異常を発見するといったことや、温度データから状態を分類するといったことにもそのまま利用することが可能です。実際、私の研究室では、IoT機器の通信パケットの量から使われている機能の分類を行ったりもしていますが、まったく同じ技術が用いられています。
以前、剣道部の高校生が研究室体験に来た際は、面・胴・コテ認識モデルというものを作ってもらいましたが、高校の課題研究のテーマとしても人間行動認識は適しているなと感じています。
おわりに
本書は、Amazonの分類では、「人工知能」となっているようですが、データサイエンス本でもあり、IoT本でもあり、プログラミング本でもあります。逆に言うと、1冊でそれだけ幅広い内容を網羅していると言えます。ぜひ、一度手にとっていただければと思います。
![](https://assets.st-note.com/img/1730776519-F3ieoAbhIj6nLq2sJyuplacv.png?width=1200)