みらいテックラボ

音声・画像認識や機械学習など, 週末プログラマである管理人が興味のある技術の紹介や実際にトライしてみた様子などメモしていく.

「センサと機械学習ではじめる人間行動認識」の紹介

時々趣味や仕事でセンサデータを扱うことがあるので, 先日('24/11)発売された「センサと機械学習ではじめる人間行動認識」という書籍に少し興味がわき購入してみた.
センサデータによる人間行動認識を扱っている書籍はこれまでになかった(知らないだけかも)ように思うので, センサデータ処理や人間の動作認識に興味のある初学者の方にはおススメです.


  目 次
1 はじめに
2 人間行動認識の概要
3 データ計測
4 データ前処理
5 機械学習
6 評価
7 実例で学ぶ人間行動認識
8 おわりに


3-6はデバイス, ツール, 手法などの用語やアルゴリズムの概要など, 機械学習の初学者向けの説明となっている.
7は, 逆に実例の概要, 簡単な処理の流れとコードが書かれているのみで, もう少し深い説明が欲しいところである.
例えば, 以下などについてもう少し説明があると嬉しい.
・例えば人間が立つ/座る, 歩く/走るなどの場合, センサ値がどのように観測されるか.
・実例のほとんどがセンサの特徴量として時間領域(平均と標準偏差)と周波数領域(ピーク周波数, 最大振幅, エネルギー)を用いている.
人間行動認識において, なぜこれらの特徴量を使用するのか, これらの特徴量以外だとどうなるのか.
など


あと, 実例1~5のデータダウンロードに関し, リポジトリURLは記載されているがダウンロードの仕方が記載されていないので, 初学者の方はつまずくのではと思う. (見落としてたらスミマセン)
今回は, "git clone"では無理で, Git Large File Storage(LFS)をインストールする必要ある.
例えば, Google Colabの場合には, 以下のように.

!curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
!sudo apt-get install git-lfs
!git lfs install

# データのダウンロード
!git lfs clone https://github.com/activity-recognition-examples/caseX/


最後に, 気付いた誤り部分の正誤表を載せておく.

ページ 誤 正
P83 表7-2
P91 表7-3
P98 表7-4
P103 表7-5
x_yyyy_toydataset.csv 0x_yyyy_toy_dataset.csv
P86 コード25行 y.append(y) ys.append(y)
※ create_label_segments()は定義のみで未使用
P87 コード2行目
P93 コード2行目
P100 コード1行目
P105 コード2行目
data = pd.read_csv('x_yyyy_toydataset.csv', index_col=0) data = pd.read_csv('0x_yyyy_toy_dataset.csv', index_col=0)
p87 コード7~12行目 # ラベルエンコーダのインスタンス化
・・・
data["user_id"] = le1.fit_transform(data["user_id"])
コード20行目の直前に移動
P87 コード19-20行目の間 - target_names = list(data[target_y].unique())をラベルエンコーダのインスタンス化の前に追記
P101 コード13-24行目 #モデルの学習
・・・
print(accuracy_score(y_test, y_pred))
各行頭にタブを挿入し, forループ内の処理に

もしコードを写経する場合は, データと一緒にダウンロードされるnotebookのコードを参照した方がよいです.

---