1

認識データから人間の活動を認識するために、スマート デバイスに k-Nearest Neighbor アルゴリズムを実装しています。どのように実装するのかを説明します。皆さん、私が取っている手順の改善点を教えてください。また、途中で尋ねる可能性のある質問に答えてください。

手順は次のとおりです。

  1. 加速度計からの 3 軸加速度とアクティビティを説明するラベルで構成されるラベル付きデータセットをダウンロードしました。このデータセットから、認識したいアクティビティ (私の場合は歩く、座る、立つ) のみのデータをいくつか選択します。
  2. 次に、データセット内の加速度計データのすべてのウィンドウから (つまり、加速度計データの 128 の読み取り値を含むデータセット内のすべての単一レコードから) 特徴 (私の場合はマグニチュード加速度からの平均、最小、最大、標準偏差) を抽出します。これらの機能をウィンドウのラベルと共に (1 つのレコードとして) デバイス上のテキスト ファイルに JSON 形式で保存します。したがって、トレーニング データ セットの 1 つのレコード/サンプルは、平均、最小、最大、標準偏差、およびラベルで構成されます。
  3. 分類ステップでは、収集したデータから、上記の 4 つの特徴を抽出する加速度計データのウィンドウも作成します。したがって、収集したデータの 4 つの特徴をトレーニング データの各サンプルと比較する必要があります。1 つのレコードに 4 つの特徴が含まれるため、それらの間の類似性をどのように見つければよいでしょうか?

ポイント (3) の質問に対する解決策として、すべての機能の k 最近傍点をそれらの差を計算して取得し、すべての機能から過半数を選択することを考えていました。どう思いますか?最適化を提案できますか? ありがとうございました :)

4

2 に答える 2

0

私は別の方法で問題にアプローチします。長期間 (たとえば 1 週間) にわたって多くのサンプルを取得し、その中にクラスターを見つけます。その後、現在の測定値がクラスターの 1 つに近い場合はいつでも、ユーザーはクラスターにラベルを付けることができます。ユーザーがいくつかのクラスターにラベルを付けるだけで済むように、クラスターの数はいくつかのアクティビティに制限する必要があります。

欠点:

  • ユーザーからのトレーニング データが必要 / すぐに満足できない。
  • 実装がより複雑になります。

利点:

  • ユーザー向けにカスタマイズされています。
  • 外部/非個人的なトレーニング データに制限されません。
  • その他のデータ (光/温度/GPS/時間/音/カメラ) の使用。
  • おそらくより正確です。
  • アルゴリズムの継続的な再トレーニングが可能です。
  • より多くのデータが利用可能になるにつれて、精度は向上します。
  • ラベル付けされたデータを中央サーバーにアップロードし、アプリの将来のバージョンで使用する可能性。
于 2014-02-17T11:13:20.793 に答える