【コト作り】AI調査で機械学習の練習例題その1<IMUを使った機械学習の事例>

AIの調査を少しずつやってますが、機械学習と深層学習が基本要素であることがわかりました。

chatGPTで「AIと機械学習と深層学習の関係」と聞きました。

AI(人工知能)、機械学習、深層学習の関係は階層的で、AIは包括的な概念であり、機械学習と深層学習はAIの一部として位置づけられます。以下にその関係を詳しく説明します。

  1. 人工知能(AI):
    • AIは、コンピューターシステムに人間の知能と同様の認識、理解、学習、推論、問題解決、意思決定などのタスクを実行させるための幅広い分野です。AIは人間の知識やスキルを模倣することを目指しており、その範囲は非常に広いです。AIにはルールベースのシステムから機械学習および深層学習までさまざまなアプローチが含まれます。
  2. 機械学習(Machine Learning, ML):
    • 機械学習はAIの一部で、データから学習し、パターンを抽出し、予測を行うためのアルゴリズムと手法の集合です。機械学習は、データ駆動型のアプローチで、経験から学び、未知のデータに対して予測を行います。これには教師あり学習、教師なし学習、強化学習などが含まれます。
  3. 深層学習(Deep Learning, DL):
    • 深層学習は機械学習の一部で、多層のニューラルネットワークを使用して複雑なパターン認識や抽象化を実現する手法です。深層学習は、階層的な特徴の抽出に焦点を当て、非常に大規模なデータセットで効果を発揮します。通常、画像認識、音声認識、自然言語処理などのタスクに深層学習が使用されます。

ということで、下記の概要で理解しました。

深層学習は機械学習の一種であり、機械学習は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精度の機械学習を探求していきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です