---
title: 慣性センサーログの効果的な可視化と分類について
tags:  #deep learning #t-sne  
author: [Masato MIWADA](https://convert.docswell.com/user/masato_miwada)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/9J2Y5Z5GJR.jpg?width=480
description: 慣性センサーログの効果的な可視化と分類について by Masato MIWADA
published: October 20, 24
canonical: https://convert.docswell.com/s/masato_miwada/Z228LG-2024-10-20-115907
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/9J2Y5Z5GJR.jpg)

慣性センサログの効果的な
可視化と分類手法について
令和6年5月24日（金）
（ミワダ マサト）
三和田 将人


# Page. 2

![Page Image](https://bcdn.docswell.com/page/DEYGKRKGEM.jpg)

成果物について
• 慣性センサから得られた561種類×5618件のログデータから人の
動作予測をするモデル。
• 正答率（Cross Validation：CV）= 98.3%、LB（Leader Board）= 98.3%
成果物種類
ツール
利用するコンペ
行動
工程
細目
04/22 04/23 04/24 04/25 04/26 04/27 04/28 04/29 04/30 05/01 05/02 05/03 05/04 05/05 05/06 05/07 05/08 05/09 05/10 05/11 05/12 05/13 05/14 05/15 05/16 05/17 05/18 05/19 05/20 05/21 05/22 05/23 05/24
月
火
水
木
金
土
日
月
火
水
木
金
土
日
月
火
水
木
金
土
日
月
火
水
木
金
土
日
出典元の文献を調べる
課題の調査
類似問題について調べる
与データの構造を確認する
欠損値の割合を調べる
EDA
特徴量の影響を調べる
t-SNEで調査する
テーブルデータ分類
Scikit-learn
活動センサーログからの
LightGBM
成果物の作成
動作予測
TensorFlow
モデル作成
SVCモデルを作成・評価
する
SVCモデルをチューニン
グする
GBMモデルを作成・評価
する
GBMモデルをチューニン
グする
DNNモデルを作成・評価
する
DNNモデルをチューニン
グする
コードの整理
文書作成
勉強会スライド作成
（t-SNEについて）
ポートフォリオ作成
発表会スライド作成
• 事前調査：4日（12時間）
• 試作品（精度が出るまで）：３日（８時間）
• データ構造の調査や考察：3日（8時間）
• 文書作成：12日（32時間）
月
火
水
木
金


# Page. 3

![Page Image](https://bcdn.docswell.com/page/VJNGRDR878.jpg)

発表の流れについて
1. 背景
2. 学習に用いたデータについて
3. 結果（各モデル手法の精度及び次の施策まで）
4. 作成スケジュール
5. 開発環境
6. 苦労、実践したこと
7. 最後に


# Page. 4

![Page Image](https://bcdn.docswell.com/page/YE9WMGMXE3.jpg)

1. 背景（慣性センサログとモデルの重要性）
• 近年、より小型な慣性センサの製造が可能になり、様々な場面で
の人や物の動きについての記録の取得が容易となっている。
• 記録データ活用（動作予測）は、ますます社会で重要となってくる。
（例）
1. 産業用ロボット、工作機械の動作予測
→ 運動・姿勢の維持、異常検知
2. ウェアラブル端末による、人の動作予測
→ 医療分野への活用
3. インフラ構造物（鉄橋、高速道路）の維持管理
→ 車両走行時の振動数や変位等
加速度センサIC（Kionix Technology）:ローム株式会社
https://www.rohm.co.jp/products/sensorsmems/accelerometer-ics


# Page. 5

![Page Image](https://bcdn.docswell.com/page/GE8NLVL97D.jpg)

1. 背景（動作予測モデルにおける課題点）
• 結果に対して、高い精度が求められる。
（例）
1. 製造：機械の異常をすぐに検知し、該当箇所の同定に貢献
2. 医療：装着者の重篤な状況を見逃さない
• 一方で、誤検知も防ぐ必要がある。
（例）
1. 製造：現場における製造の流れを止めない
2. 医療：誤検知による医療現場への負担を高めない


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LELPL5LM7R.jpg)

1. 背景（動作予測モデルにおける課題点）
• 結果に対して、高い精度が求められる。
（例）
1. 製造：機械の異常をすぐに検知し、該当箇所の同定に貢献
動作予測をする学習モデルには、
2. 医療：装着者の重篤な状況を見逃さない
高い検出力
• 一方で、誤検知も防ぐ必要がある。
高い精度が要求される
誤りが少ない
（例）
1. 製造：現場における製造の流れを止めない
2. 医療：誤検知による医療現場への負担を高めない


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4JM4M3M67W.jpg)

2. 学習に用いたデータと題材について
スマートフォンの慣性センサログから人間の動作予測をする
• データソース
https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones
• 学習モデルの試験に利用したデータコンペ
Signate, 【練習問題】活動センサーログからの動作予測,
https://signate.jp/competitions/116#Other
• データセットの説明
慣性センサログから得られたデータに信号処理などを施して用意された
561の特徴量から、６つの行動パターンを分類する。（n=5149）
特徴量の大まかな分類
• 身体加速度計（xyz軸ごと）
• 重力加速度計(xyz軸ごと）
• 加加速度（加速度の時間微分値）データ（3軸）
• 角運動量データ（3軸）
上記のそれぞれに対する周波数データ×
各種統計量（平均、絶対値、信号エントロピー等）
目的変数
LAYING
STANDING
SITTING
WALKING
WALKING_UPSTAIRS
WALKING_DOWNSTAIRS
precision
1
0.96
0.96
0.99
0.99
1
recall
1
0.96
0.96
1
0.99
0.99
f1


# Page. 8

![Page Image](https://bcdn.docswell.com/page/PJRWVQVN79.jpg)

2. 学習に用いたデータと題材について
スマートフォンの慣性センサログから人間の動作予測をする
• データソース
https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones
• 学習モデルの試験に利用したデータコンペ
Signate, 【練習問題】活動センサーログからの動作予測,
https://signate.jp/competitions/116#Other
• データセットの説明
慣性センサログから得られたデータに信号処理などを施して用意された
561の特徴量から、６つの行動パターンを分類する。（n=5149）
目的変数
LAYING
STANDING
SITTING
WALKING
WALKING_UPSTAIRS
WALKING_DOWNSTAIRS
precision
1
0.96
0.96
0.99
0.99
1
recall
1
0.96
0.96
1
0.99
0.99
f1


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PEXPZ5Z87X.jpg)

3. 結果（各モデル手法の精度）
学習モデルを
• Support Vector Machine Classification（SVC）
• Deep Neural Network（DNN）
• Gradient Boosting Method（GBM）
の３種類で作製し、比較したところSVCが最も精度が高かった。
（なお、それぞれのモデルにはチューニングを施している）
CV：Cross Validation 検証データでの正解率(Accuracy）
LB : Leader Board コンペでの正解率(Accuracy）
CV
LB
SVC
0.983
0.983
DNN
0.963
0.976
GBM
0.959
0.971


# Page. 10

![Page Image](https://bcdn.docswell.com/page/3EKD868LJD.jpg)

3. 結果（SVCモデルについて １/２）
• 全体として98%以上と高い正答率を保ちながら、誤検知も少ない動
作予測ができている（f1-scoreを参照）
• 一方で「STANDING」と「SITTNG」の精度が相対的に悪い
LAYING
STANDING
SITTING
WALKING
WALKING_UPSTAIRS
WALKING_DOWNSTAIRS
accuracy
macro avg
weighted avg
precision
1
0.96
0.96
0.99
0.99
1
0.98
0.98
recall
f1-score support
1
1
1016
0.96
0.96
895
0.96
0.96
926
1
0.99
853
0.99
0.99
682
0.99
0.99
777
0.98
5149
0.98
0.98
5149
0.98
0.98
5149


# Page. 11

![Page Image](https://bcdn.docswell.com/page/L73R2626J5.jpg)

3. 結果（SVCモデルについて ２/２）
• t-SNE（高次元データの可視化手法）で学習データの構造を可視化し
たところ、「STANDING」と「SITTING」で点群の重なりが多く見られ、この
２つはデータ構造的に近いことがわかった。


# Page. 12

![Page Image](https://bcdn.docswell.com/page/87DYZVZM7G.jpg)

3. 結果（モデルを活用するための施策）
（案の１）
まず、「STANDING」と「SITTING」のセットとそれ以外に分離しする。そ
して、上記二つのみを正確に動作予測できるモデルを作成し、2種
類のモデルからの予測結果を組み合わせる。
（案の２）
音などの別種類のデータを学習に取り入れる。
• End-to-End（一つのモデルでの検出精度を高める）
• 複数のモデルを組合せる。


# Page. 13

![Page Image](https://bcdn.docswell.com/page/VJP6DVDQE8.jpg)

4. 作成スケジュール
成果物種類
ツール
利用するコンペ
行動
工程
細目
04/22 04/23 04/24 04/25 04/26 04/27 04/28 04/29 04/30 05/01 05/02 05/03 05/04 05/05 05/06 05/07 05/08 05/09 05/10 05/11 05/12 05/13 05/14 05/15 05/16 05/17 05/18 05/19 05/20 05/21 05/22 05/23 05/24
月
火
水
木
金
土
日
月
火
水
木
金
土
日
月
火
水
木
金
土
日
月
火
水
木
金
土
日
月
火
水
木
金
出典元の文献を調べる
課題の調査
類似問題について調べる
与データの構造を確認する
欠損値の割合を調べる
EDA
特徴量の影響を調べる
t-SNEで調査する
テーブルデータ分類
Scikit-learn
活動センサーログからの
LightGBM
成果物の作成
動作予測
TensorFlow
モデル作成
SVCモデルを作成・評価
する
SVCモデルをチューニン
グする
GBMモデルを作成・評価
する
GBMモデルをチューニン
グする
DNNモデルを作成・評価
する
DNNモデルをチューニン
グする
コードの整理
文書作成
勉強会スライド作成
（t-SNEについて）
ポートフォリオ作成
発表会スライド作成
• 事前調査：4日（12時間）
• 試作品（精度が出るまで）：３日（８時間）
• データ構造の調査や考察：3日（8時間）
• 文書作成：12日（32時間）


# Page. 14

![Page Image](https://bcdn.docswell.com/page/2EV31Z1P7Q.jpg)

5. 開発環境
ハードウェア
Lenovo 「IdeaPad Flex 5 14ALC7
(2022年製)」 （Windows11 HOME）
演算装置：AMD Ryzen 7 5700U with
Radeon Graphics 1.80 GHz
➢Frequency （ Base:1.8GHz, Max
4.3GHz ）
➢Cores : 8, Threads : 16, Cache : 4MB
L2 / 8MB L3
ソフトウェア
• Anaconda3
➢Python
✓ matplot lib
✓ numpy
✓ Pandas
✓ Scikit-learn
✓ Optuna
✓ LightGBM
• 仮想環境（tqdml）
➢ Python
3.11
3.5
1.21
2.0
1.4
3.6
3.3
3.9
✓ Tensorflow（-directml） 2.16
✓ Keras-tuner
1.4


# Page. 15

![Page Image](https://bcdn.docswell.com/page/57G3242QJL.jpg)

6. 苦労、実践したこと（１/２）
1. 目的変数の確認
慣性センサログの活用に関する文献を参考にして、動的・静的な動きと強く
影響する指標（今回であれば、身体加速度におけるベクトル絶対値の平均）
から分布図を作成して可視化した。


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4EQ5PGPWJP.jpg)

6. 苦労、実践したこと（２/２）
2. 出力結果の考察と高次元データ（特徴量）の可視化
高次元の特徴量を持つ学習データの構造を理解するために、主成分分析
や多次元尺度更生法を試したが、それらの手法ではデータの構造がうまく表
現できなかった。
t-SNEを用いることで、データのクラスターがうまく形成され、構造的に近い
データを見つけることができ、分類モデルの作成に向けた重要な洞察を得る
ことができた。


# Page. 17

![Page Image](https://bcdn.docswell.com/page/KJ49Y5Y171.jpg)

7. 最後に（売込みポイント）
• 新しい技術や概念を習得できる能力
大学院で培われた、技術開発の経験
• とにかく、早く、試作品を作成できる能力
公務員時代に培われた、手堅く進めて個々を積み上げる手法
（古い意味でのハック：Hack）
• ざっくりと大枠を理解し、説明できる能力
学生時代からの心掛け
• 仮説と検証を積み重ねる能力
これまでの人生で培ってきたもの


# Page. 18

![Page Image](https://bcdn.docswell.com/page/LE1K6W65JG.jpg)

現在作成中のもの
• 物体検出で部品の異常を検出するモデル（以下のモデルではYolov8を使用）
• 他手法（Mask R-CNN等）との違い（ = 精度と出力までの時間）の精査中
open_circuit
spurious_copper
spur
short
missing hole
mouse_bite


# Page. 19

![Page Image](https://bcdn.docswell.com/page/GEWDW6WWJ2.jpg)

ご清聴ありがとうございました


# Page. 20

![Page Image](https://bcdn.docswell.com/page/47ZG5Y52E3.jpg)

参考文献等の一覧（１/３）
公式情報
• Tensorflow公式リファレンス（日、英）
• Scikit-learn公式ドキュメント（英）
• Optuna
• Keras-tuner
・・・
・・・
・・・
・・・
https://www.tensorflow.org/
https://scikit-learn.org/stable/user_guide.html
https://optuna.org/
https://keras.io/keras_tuner/
・・・
・・・
・・・
・・・
・・・
・・・
・・・
https://qiita.com/
https://teratail.com/
https://stackoverflow.com/
https://www.kaggle.com/
https://www.analyticsvidhya.com/blog/
https://medium.com/
https://github.com
ブログなど
• Qiita（日）
• teratail（日）
• Stack Overflow（日、英）
• Kaggle（英）
• Analytics Vidhya（英）
• Medium（英）
• GitHub（日、英）


# Page. 21

![Page Image](https://bcdn.docswell.com/page/YJ6Y9DV67V.jpg)

参考文献一覧（２/３）
1.
Laurens van der Maaten , Geoffrey Hinton , &quot;Visualizing Data using t-SNE&quot;, Journal of Machine
Learning Research, https://lvdmaaten.github.io/publications/papers/JMLR_2008.pdf, 2008.11
2.
@g-k氏, Qiita, &quot;t-SNEを理解して可視化力を高める”, https://qiita.com/gk/items/120f1cf85ff2ceae4aba , 2021.10.08（最終アクセス2024.05.15）
3.
@sakami氏, Qiita, &quot;t-SNE解説&quot;, https://qiita.com/sakami/items/bb466161489771f7d2e9 , 2020.08,
（最終アクセス2024.05.15）
4.
@hkharmfulbear氏, Qiita, &quot;次元圧縮を片っ端から試してみた（t-SNE, PCA, MDS, UMAP）&quot;,
https://qiita.com/hkharmfulbear/items/a19dff8f3c637fa3bc12, 2022.03, （最終アクセス2024.05.15）
5.
@kenmatsu4(まつけん)氏, Qiita, &quot;Variational Autoencoder徹底解説&quot;,
https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24, 2017.06,（最終アクセス2024.05.15）
6.
データ化学工学研究室(金子研究室)＠明治大学 理工学部 応用化学科, &quot;t-distributed Stochastic
Neighbor Embedding (t-SNE) ～データの可視化に特化した手法～&quot;,
https://datachemeng.com/tsne/ , （最終アクセス2024.05.15）


# Page. 22

![Page Image](https://bcdn.docswell.com/page/GJ5GN3D5J4.jpg)

参考文献一覧（３/３）
7.
室田 一雄, 東京大学計数工学科及び数理情報学専攻 - 俯瞰講義 (数理の世界 第 7回) , &quot;最適化の
数理—応用数理の視点&quot;, https://ocw.u-tokyo.ac.jp/lecture_files/gf_06/7/notes/ja/07murota.pdf,
2007.06
8.
Leland McInnes, John Healy, James Melville, &quot;UMAP: Uniform Manifold Approximation and Projection
for Dimension Reduction&quot;, https://arxiv.org/abs/1802.03426, 2018.
9.
Narayan, A., Berger, B. &amp; Cho, H. &quot;Assessing single-cell transcriptomic variability through densitypreserving data visualization.&quot; Nature Biotechnology, https://www.nature.com/articles/s41587-02000801-7 , 2021
• データソース
https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones
• 引用元
Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra and Jorge L. Reyes-Ortiz. &quot;A Public Domain
Dataset for Human Activity Recognition Using Smartphones&quot;. 21th European Symposium on Artificial
Neural Networks, Computational Intelligence and Machine Learning, ESANN 2013. Bruges, Belgium 2426 April 2013.


