AIの調査を少しずつやってますが、機械学習と深層学習が基本要素であることがわかりました。
chatGPTで「AIと機械学習と深層学習の関係」と聞きました。
AI(人工知能)、機械学習、深層学習の関係は階層的で、AIは包括的な概念であり、機械学習と深層学習はAIの一部として位置づけられます。以下にその関係を詳しく説明します。
|
ということで、下記の概要で理解しました。
深層学習は機械学習の一種であり、機械学習はAIの一部であり、AIはコンピューターシステムに幅広い認識、学習、推論の能力をもたらす包括的な分野です。 AIは、様々な技術とアプローチを組み合わせて達成され、その中で深層学習は特にデータ駆動型タスクにおいて非常に効果的であることが知られています。 |
●機械学習を身近なテーマでいじってみたいと思い検索すると
●IMUと機械学習の事例がQIITAありました。
https://qiita.com/Shun141/items/d027c23d1050f897d4d6?utm_source=pocket_reader
①やっていること
①杖を振る動作をジェスチャーと呼んでます。
LSM9DS1をESP32に接続して、加速度mx,my,mzをBlueToothでPCのBlueToothSPPに送信して
Pythonでシリアル受信して、ジェスチャーの学習をさせるプログラムを走らせて、学習ファイルを作成して
次に、ジェスチャー判定プログラムをPythonで走らせてシリアル受信しながら現在の動きが何番ジェスチャーかをみられる、機械学習の練習です。
②ジェスチャーを何種類かにパターン化することを予測モデル作成と呼んでます。
③ジェスチャーを学習させる命令は
model = SVC(kernel = ‘linear’, C=1, gamma=1) #学習モデルのパラメータを指定
model.fit(X,np.ravel(Y)) #学習を行う
④予測モデル作成Pgmでのコメントの用語
プログラムを動かしながら、意味を理解して追記します。
ジェスチャー番号 | |
#学習データ用リストへ追加 | |
#学習ラベル用リストへ追加 | |
#学習モデルのパラメータを指定 | |
#学習を行う |
⑤予測モデルの学習結果をファイルに保存 model_任意名.sav というファイル名
⑥ジェスチャー判定プログラム
測定したm2リストをジェスチャー判定クラスで判定させてます。
pre = loaded_model.predict(m2) #ジェスチャの判定
●このpythonプログラムで使っているライブラリー
from sklearn.svc import SVC #学習用
このライブラリーの実装のQiitaの解説
https://qiita.com/kazuki_hayakawa/items/18b7017da9a6f73eba77
[python 機械学習初心者向け] scikit-learnでSVMを簡単に実装する
sklearnは、正式名称scikit-lernという有名なライブラリ
=>scikit-learn(サイキット・ラーン)は、Pythonで実装されたオープンソースの機械学習ライブラリーです。 分類、回帰、クラスタリングなどの非常に多くのアルゴリズムを実装しており、機械学習モデルを作成する上で必要不可欠なライブラリーと言えます。
https://scikit-learn.org/stable/
統計処理が多く含まれているライブラリーだそうです。これを理解しながら、進めます。
●以後
とりあえず、Python環境をWin10上に作って、ESP32のBNO055から、mx,my,mzBT送信させて
Pythonサンプルプログラムの動作実験から始めてみます。
※IMUを機械学習させて精度を上げるというテーマで検索かけても、ありませんでした。
機械学習というよりは、フィルターなど制御系の処理で解決すべき課題なのかもしれませんが、
フィルターとか制御系に関して機械学習はどこまで包含できるのか調べてみたいですが、
イロハのイからスタートなので、何年かかけてIMU精度の機械学習を探求していきます。