<!-- $theme:gaia
$size:16:9-->
# 情報学習論
### 5319E012-3 岩野夏樹
---
### 目次
+ 動機
+ 問題設定
+ 目標
+ 定式化
+ 実験
+ 結果
+ まとめ
+ 参考文献・コード
---
<!-- *template:invert -->
# 動機
----
+ 猫背が及ぼす影響は大きい
+ 直立姿勢に対して腰部にかかる負担が大きい[^1]
+ 脳への酸素供給量が減り悲観的になりやすい[^2]
+ 活発ではない印象を与える[^3]
----
+ 自分では気づきにくい
+ 平常状態が背筋が曲がっている状態
+ 意図的に背筋を伸ばしても気づけば戻っている
+ 正しい姿勢を検出できてそれを通知してくれると嬉しい
+ 誰しもが持っている携帯で検出できて通知できればいいのでは?
+ 俯き状態での歩行と正立状態の歩行はつっかかりやすさなどの性質が違いから検出できそう
---
<!-- *template:invert -->
# 問題設定と目標
----
## 問題設定
### スマートフォンを利用した計測データから猫背状態の歩行と正立状態の歩行を分離する
----
## 目標
微小時間において人間の歩行の加速度変化特性は変化しないと仮定する.特性$a$は確率分布$S$から生成され,
$$
a \sim S(C)
$$
と表す.ここで$C$は猫背かどうかを表す変数である.新たに特性データ$a'$が得られたとき,クラスは,
$$
\hat{C} = \arg\max_C p(C|a')
$$
として求められる.これを求める.
---
# 定式化
----
屈曲歩行時の歩行データを$\mathcal{D}_c$,正立歩行時の歩行データを$\mathcal{D}_d$とする.データ$\mathcal{D}$はその観測時刻と端末に対して$x,y,z$方向の加速度を記録している.すなわち
$$
\mathcal{D}^i = (t^i,a_x^i,a_y^i,a_z^i)
$$
と表すことができる.ここで,加速度の二乗和の平方を$x^i$で表し,
$$
g^i = \sqrt{(a_x^i)^2+(a_y^i)^2+(a_z^i)^2}
$$
とした.
----
正立状態か屈曲状態かはラベルを用い,
$$
y^i = \{0,1\}
$$
と表す.歩行時の特性は経時変化をしており,その特性を把握するためにある期間$\tau$で切り取りフーリエ変換することを考える.時間$t$の関数$g(t)$に対するフーリエ変換後の関数$A$は周波数$x$とすると,その振幅は
$$
A(x)=\int_{-\infty}^{\infty} g(t) e^{-i 2 \pi x} d t
$$
と表せる.
----
このノルムを$\bar{A}(x)$で表し,
$$
\bar{A}(x) = |A(x)|
$$
とする.加速度$a$が0を中心とする正規分布に従うと仮定するとき,gが表す分布はガンマ分布に従い(→カイ分布),
$$
\bar{A}(x) ~\sim \mathrm{\mathcal{X}}(k,\lambda)
$$
----
ここで$k$と$\lambda$は$x$に依存する関数として,それぞれを$k_x,\lambda_x$と表し,これをまとめて$\theta_x$と表す.データ$\mathcal{D}$の区切られた部分をそれぞれ$d_1,\cdots,d_L$とすれば,
$$
\mathrm{P}(\mathbf{\bar{A}}(x)|\theta_x,\mathcal{D}) =\prod_{i=1}^{L}\mathrm{P}(\bar{A}_i(x)|\theta_x, d_i)
$$
となる.
----
これを最大化する$\theta$は.
$$
\hat{\theta}_x =\arg\max_\theta \prod_{i=1}^{L}\mathrm{P}(\bar{A}_i(x)|\theta_x, d_i)
$$
から求めることができる.また,推定されたパラメータをまとめて
$$
\boldsymbol{\Theta}_c = \{\theta_{x,c}\}, \boldsymbol{\Theta}_d = \left\{\theta_{x,d}\right\}
$$
とする.添字$c$と$d$はそれぞれ順に,屈曲時の姿勢と正立時の姿勢とで歩行した際のデータから得られていることを表す.
----
今,新たに得られたデータ$\mathcal{D}^*$が屈曲時の姿勢あるいは正立時の姿勢かどうかを判別することを考える.
得られたデータをフーリエ変換したときの周波数$x$における振幅の平方二乗和を$\bar{A}^*(x)$とすれば,それが屈曲時のデータから得られる確率はそれぞれのクラスから生起される確率を用いて
$$
P(c |\bar{A}^*(x)) = \frac{P(\bar{A}^*(x)|\theta_{x,c})}{P(\bar{A}^*(x)|\theta_{x,c})+P(\bar{A}^*(x)|\theta_{x,d}) }
$$
と表せる.これをすべての周波数において行うことを考える.
----
傾向スコアを$S$として,
\begin{equation}
S_c = \frac{1}{K}\sum_{i=1}^K P(c |\bar{A}_i^*(x))
\end{equation}
と計算された結果から0.5以上の場合は猫背であると推定され,0.5未満の場合はそうでないと推定される.
---
<!-- *template:invert -->
# 実験
----
## 歩行時の経路
+ 早稲田大学内を歩行したデータを用いた.歩行経路は以下の通り.
+ 
+ 一周約4分程度であった.
----
## 計測機器
+ Androidアプリケーションを作成し,携帯電話のセンサを利用して加速度を計測した(下図).
+ 
----
## 実験データの取得
+ 記録を開始してからポケットにしまい,歩行ルートを一周してから取り出して計測を終了した
+ うつむいた状態で開始地点から歩き出し,開始地点に戻ってくるまで歩行した後,改めて正立状態を記録開始,終了.これを2回,計4周分の歩行を行った.
+ テストデータとして8歩ごとに視線を変化させながら歩いたものを40秒程度記録した.
---
# 結果
----
### 計測データのヒストグラム

+ ピークの立ち方は正立時と屈曲時でほとんど同じであり,判別がつかない.
+ y軸方向のみ中心が-10程度であるが,これは携帯をポケットに入れたまま計測しているため
----
## データの全体図

+ 一定程度データが計測されたときに,書き込み動作が走る.この際に計測が一旦停止するので,このタイミングでデータを分割した.
+ 計測したデータのうち,隣り合ったデータの記録時間が0.2秒以上離れている部分で分割した.
----
## データの分割
+ 書き込み動作のため計測のラグができる
+ 計測したデータのうち,隣り合ったデータの記録時間が0.2秒以上離れた場合に分割した

----
## xyz方向のデータの統合
+ 携帯の角度の補正をしていないため,x,y,z方向のデータの区別がつかず二乗平方和を利用して判別

----
## フーリエ変換での振幅の分布
+ 左:正立時,右:猫背時

+ 歩行速度を揃えていたためほぼ一致する
+ 前のめりの姿勢だとつま先が地面につきやすく,一歩の大きさが小さくなりやすい
----
## パラメタ推定

+ 2つの分布はほとんど一致しているが,ところどころに異なったピークが存在することがわかる.
+ 6Hz付近と14Hz付近と20Hz付近にある,これらのピークの存在によって強く重み付けられる
----
## 判別

+ 4周期分の長さを切り取り,フーリエ変換を施した後,推定の式を適用
+ 猫背であると推定された結果はほとんどの時間に於いて0.5に近い
+ 入力の周波数分布が変化しても,姿勢の良し悪しに起因する差があまり存在しない
---
# まとめ
----
## まとめ[1/2]
+ 二種類の歩行データから歩行の状態の判別を試みたが判別できなかった
+ 推定の式が単純な平均だったため,重みに引っ張られていた可能性がある

+ 加重平均を取ることによって改善する可能性がある
+ MLPを学習させることでも改善する余地がある
----
## まとめ[2/2]
+ 確率分布から歩行が出力されるとしたが,その確率分布も確率過程からのサンプルとしてモデリングできればさらに良さそう(楯くんありがとう)

---
# 参考文献・コード
----
## 参考文献
1. NACHEMSON, ALF L., MD, Disc Pressure Measurements, *Spine*: January-February 1981 - Volume 6 - Issue 1 - p 93-97.
2. Philippot, Pierre & Chapelle, Gaëtane & Blairy, Sylvie. (2010). Respiratory feedback in the generation of emotion. *Cognition & Emotion*. August 1. 605-627. 10.1080/02699930143000392.
3. [Posture and Breathing: The Physiological effects of Shallow Breaths](https://www.thebreatheffect.com/posture-breathing-physiological-effects/) , Visited July 1 2019.
----
## コード
+ 作成したAndroidアプリケーション
+ https://github.com/Xilorole/Accelometer
+ 分析コード
+ https://nbviewer.jupyter.org/github/Xilorole/class_notebooks/blob/master/%E6%83%85%E5%A0%B1%E5%AD%A6%E7%BF%92%E8%AB%96/%E6%AD%A9%E8%A1%8C%E3%81%AE%E5%88%86%E9%9B%A2%E8%AA%B2%E9%A1%8C-%E3%82%AB%E3%82%99%E3%83%B3%E3%83%9E%E5%88%86%E5%B8%83.ipynb
---
# EOF
{"metaMigratedAt":"2023-06-14T22:34:06.516Z","metaMigratedFrom":"YAML","title":"情報学習論","breaks":true,"slideOptions":"{\"theme\":\"black\",\"slideNumber\":true,\"transition\":\"convex\"}","contributors":"[{\"id\":\"d5c8ef9c-1eda-4a91-9ba6-d4af12429607\",\"add\":7562,\"del\":2377}]"}