機械学習
Matlabのツールボックスを使わずにニューラルでアイリスの分類をしてみた。
ライブラリやフレームワークを使わないでコード書いたおかげでニューラルネットワークのいい勉強になりました。
こんな感じの簡単なニューロンとニューラルネットワークで100点のデータを最大合計32回学習した結果です。
ぱっと見た目、1次関数の傾きと切片がわかればそれを閾値にして分類できそうです。
もしかすると最小二乗法で求める代わりにニューラルネットワークでこの傾きと切片求めることできるかな?
めんどうなのでやりませんが、ちなみに各種機械学習の参考書とudemyの我妻幸長先生のAI講座で学んでみました。
望む結果が得られましたので次はアイリスの分類をSimulinkでやってみようと思います。一度ブロック線図ができてしまえばあとは並べ替えるだけで視覚的にもわかりやすくニューラルネットワークの構成も変えやすいのかなと思っています。
そのあとはモードドライバーを作ってみます。Simulinkの例題のオートマチックトランスミッションを例に所望の車速に追従するモデルのゲインを考えてみたいと思います。
今回使った最もシンプルな方法ではできないと思いますので、ここからはPythonのライブラリに活躍してもらってダイナミックシミュレーションはSimulinkという合わせ技でチャレンジしてみます。
マスワークス社の機械学種の例題などみてるとMatlabの機械学習やディープラーニングは結構使いやすそうなイメージですが使う頻度考えると導入できないんでPythonをうまく活用したいと思います。
まとめ
・Matlab使ってアイリスの分類ができた。(ツールボックスなし)
・次のステップはSimulinkに展開する。